Hi all, I'm the main developer for ColorHug, an open source colorimeter device. I'm looking to port away from the Microchip tools, and compile natively using Linux.
I'm using a PIC18F46J50 in the hardware, and need to set certain config fuses to do things like turning on the watch dog timer and setting the clock PLL mode. I noticed that the file device/non-free/include/pic16/pic18f46j50.h is missing all the fuse #defines, unlike other files like device/non-free/include/pic16/pic18f2455.h which do have the constants, e.g. pic18f2455.h: /* Configuration register locations */ #define __CONFIG1L 0x300000 #define __CONFIG1H 0x300001 ... /* Full-Speed USB Clock Source Selection 1L options */ #define _USBPLL_CLOCK_SRC_FROM_96MHZ_PLL_2_1L 0xFF /* Clock src from 96MHz PLL/2 */ #define _USBPLL_CLOCK_SRC_FROM_OSC1_OSC2_1L 0xDF /* Clock src from OSC1/OSC2 */ pic18f46j50.h: #define __CONFIG1L 0xFFF8 #define __CONFIG1H 0xFFF9 ... Now, i see both files were created by inc2h-pic16.pl which must use the gputils/header/p18f2455.inc and gputils/lkr/18f46j50.lkr files as inputs. Looking at these files, it looks like the former has the _PLLDIV_1_1L type #defines created manually, and the other does not. To correct the pic18f46j50.h shipped with sdcc, I'm guessing I have to "fix" the 18f46j50.lkr file in gputils, and then re-run inc2h-pic16.pl -- does that sound about correct? Richard ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ Sdcc-user mailing list Sdcc-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/sdcc-user