From: AWF <aw...@gl...> - 2007-03-30 13:17:34
|
Hello, I began using 2.6.0 for my early, simple needs. I was able to create very simple code and use it in real HW. However, I was unable to determine how to use pic14 config registers using 2.5 and 2.6 (txt) docs. For interest, I installed 2.6.5 snapshot but it no longer links my code; cannot find _main. I don't see _main in symbol listings of libs; should I? Also, can someone say where to find definition of proper syntax to access config register/port? TIA awf [awf@outerlimit test]$ sdcc -v SDCC : mcs51/gbz80/z80/avr/ds390/pic16/pic14/TININative/xa51/ds400/hc08 2.6.5 #4712 (Mar 24 2007) (UNIX) [awf@outerlimit test]$ make ... sdcc -V -mpic14 -p16f819 one.c + "/usr/local/bin/sdcpp" -nostdinc -Wall -std=c99 -obj-ext=.o -DSDCC_MODEL_SMALL -DSDCC=265 -DSDCC_pic14 -D__pic14 -DSDCC_PROCESSOR="16f819" -I"/usr/local/bin/../share/sdcc/include/pic14" -I"/usr/local/share/sdcc/include/pic14" -I"/usr/local/bin/../share/sdcc/include" -I"/usr/local/share/sdcc/include" -I"/usr/local/bin/../share/sdcc/include/pic" -I"/usr/local/share/sdcc/include/pic" "one.c" + "gpasm" -c "one.asm" + "gplink" -I"/usr/local/bin/../share/sdcc/lib" -I"/usr/local/share/sdcc/lib" -I"/usr/local/bin/../share/sdcc/lib/pic" -I"/usr/local/share/sdcc/lib/pic" -w -r -o one one.o libsdcc.lib pic16f819.lib message: using default linker script "/usr/share/gputils/lkr/16f819.lkr" error: missing definition for symbol "_main", required by "idata.o" make: *** [all] Error 1 [awf@outerlimit test]$ more one.c #include "pic/pic14regs.h" static void main() { // Init // Clear all bits PORTA = 0; PORTB = 0; } [awf@outerlimit test]$ gpasm -v gpasm-0.13.4 beta [awf@outerlimit test]$ gplink -v gplink-0.13.4 alpha |
From: Raphael N. <rn...@we...> - 2007-03-30 13:27:54
|
Hi, > I was able to create very simple code and use it in real HW. However, I > was unable to determine how to use pic14 config registers using 2.5 and > 2.6 (txt) docs. For interest, I installed 2.6.5 snapshot but it no > longer links my code; cannot find _main. I don't see _main in symbol > listings of libs; should I? Yes you should, try declaring main() non-static: void main(void) { // code here } > Also, can someone say where to find definition of proper syntax to > access config register/port? __code unsigned __at(0x2007) foobar = _CP_OFF & _DEBUG_ON & _WRT_ENABLE_OFF & _CPD_OFF & LVP_OFF & BODEN_ON & _WDT_OFF & _XT_OSC ; void main(void) { // code here } HTH, Raphael |