From: Tim G. <tim...@gm...> - 2011-10-19 17:17:36
|
Good Day, When I compile the following simple program, I get the linker error: multiple sections using address 0x300000. This is the first time trying to use SDCC, I assume the warnings have nothing to do with the error and can be ignored for now. Version: mcs51/gbz80/z80/z180/r2k/ds390/pic16/pic14/TININative/ds400/hc08 3.0.6 #6976 (Oct 18 2011) (Linux) Running on: Ubuntu 8.04 - the Hardy Heron My program: #include <pic16/pic18f2455.h> __code char __at __CONFIG1L conf1 = _CPUDIV__OSC1_OSC2_SRC___4__96MHZ_PLL_SRC___6__1L & _PLLDIV_DIVIDE_BY_6__24MHZ_INPUT__1L; __code char __at __CONFIG1H conf2 = _OSC_HS__HS_PLL__USB_HS_1H & _FCMEN_OFF_1H & _IESO_OFF_1H; void main() { while(1) { PORTA=0; } } Compiled with: sudo sdcc -mpic16 -I /usr/local/share/sdcc/non-free/include/ -L /usr/local/share/sdcc/non-free/lib/pic16 --use-non-free test1.c Result: test1.asm:9:Warning [212] __CONFIG has been deprecated for PIC18 devices. Use directive CONFIG. test1.asm:261:Warning [220] Address exceeds maximum range for this processor. test1.asm:261:Warning [220] Address exceeds maximum range for this processor. message: using default linker script "/usr/local/share/gputils/lkr/18f452.lkr" error: multiple sections using address 0x300000 Regards, Tim. |
From: Raphael N. <rn...@we...> - 2011-10-19 18:58:57
|
Hi, > sudo sdcc -mpic16 -I /usr/local/share/sdcc/non-free/include/ -L > /usr/local/share/sdcc/non-free/lib/pic16 --use-non-free test1.c Using "sudo" here is not necessary and even dangerous: sdcc could decide to overwrite important files ... Additionally (and more towards your problem), you are lacking the -p18f2455 compiler switch, which tells sdcc the target device. > message: using default linker script > "/usr/local/share/gputils/lkr/18f452.lkr" ##### Note 18f452 here! sdcc (and thus gplink) selects the 18f452 as the default target, which leads to the trouble you experienced. Use sdcc -mpic16 -m18f2455 [...] and you should be fine, although the deprecation warning on the __CONFIG directive remains :-( Seems to work, though. Kind regards Raphael |
From: Diego H. <die...@di...> - 2011-10-20 09:24:06
|
Why is there a warning on the __CONFIG directive? Thanks On Wed, Oct 19, 2011 at 8:58 PM, Raphael Neider <rn...@we...> wrote: > and you should be fine, although the deprecation warning on the > __CONFIG directive remains :-( Seems to work, though. > |
From: Raphael N. <rn...@we...> - 2011-10-20 20:22:25
|
> Why is there a warning on the __CONFIG directive? Well, Microchip (and thus gputils) probably decided to change syntax and semantics of the __CONFIG directive from a simple __CONFIG <VALUE> to a more flexible CONFIG <KEY> = <VALUE> style. To give compiler vendors and assembly-by-hand writers time to adjust, they deprecated the old style, probably in order to drop support for the old style completely in a future release. I will at some point in time have to look into this and adjust sdcc's output to match the new syntax -- before that, I should probably decide to learn what <KEY> and <VALUE> are supposed to be ;-) Until gpasm bails out with an error ("__CONFIG directive is not supported/recognized"), the old style should continue to work nicely -- except for the warning. Kind regards, Raphael |
From: Diego H. <die...@di...> - 2011-10-20 20:28:21
|
Thanks for your answer. Then it's not related to Tim's code at all, is it? I thought it was and I didn't see the reason why. Thanks On Thu, Oct 20, 2011 at 10:22 PM, Raphael Neider <rn...@we...> wrote: > asm bails out with an error ("__CONFIG directive is not > supported/rec > |
From: Raphael N. <rn...@we...> - 2011-10-20 21:53:49
|
> Then it's not related to Tim's code at all, is it? I thought it was and I > didn't see the reason why. Yes, the deprecation warning on the use of __CONFIG is completely unrelated. |
From: Diego H. <die...@di...> - 2011-10-20 22:27:18
|
Thanks a lot On Oct 20, 2011 11:54 PM, "Raphael Neider" <rn...@we...> wrote: > > Then it's not related to Tim's code at all, is it? I thought it was and I > > didn't see the reason why. > > Yes, the deprecation warning on the use of __CONFIG is completely > unrelated. > > > ------------------------------------------------------------------------------ > The demand for IT networking professionals continues to grow, and the > demand for specialized networking skills is growing even more rapidly. > Take a complimentary Learning@Cisco Self-Assessment and learn > about Cisco certifications, training, and career opportunities. > http://p.sf.net/sfu/cisco-dev2dev > _______________________________________________ > Sdcc-user mailing list > Sdc...@li... > https://lists.sourceforge.net/lists/listinfo/sdcc-user > |