From: Arif M. <Ari...@sd...> - 2010-11-01 11:01:36
|
Hello, I have a hardware board with 80390 core. I want to use SDCC in ds390 flat42 (24 bit address) memory mode. But I don't want to use tinibios and its startup code (tinibios has _sdcc_external_startup, clock and serial port initialization). I modified <SDCC>/device/examples/ds390/hello390.c to include my own _sdcc_external_startup (and clock and serial port ISRs for satisfying linker dependencies). The above mentioned hello390.c is compiled/linked using the following command ------------------------------------------------------------------------ ---------------------- sdcc --verbose -mds390 --xram-loc 0x00 --code-loc 0x00 \ -Wl-r hello390.c --nostdlib -l../../../lib/build/ds390/liblong.lib -l../../../lib/build/ds390/libsdcc.lib -l../../../lib/build/ds390/libfloat.lib ------------------------------------------------------------------------ ---------------------- It generates hello390.ihx, which I am able to burn to my hw board's flash (after converting to binary using hex2bin tool), but nothing happens. BTW, my main function in hello390.c is empty and I removed the printf call as it was dependent on correct serial port initialization while I am one step behind that for now. All I want to know If my _sdcc_external_startup is called. This function has nothing but clock init and controlling a LED using P1 SFR output pin. The assembly listing of the program shows that _sdcc_external_startup is linked but the debug LED mentioned in previous line does not glow (actually nothing happens at all). I hope somebody could point me in right direction. Thank you. PS: I am new to micro controller programming though have been working with ARM arch for some time. Arif M Singapore |