From genenorris at spotengineering.com Wed Apr 4 07:41:18 2007 From: genenorris at spotengineering.com (Gene Norris) Date: Wed Apr 4 07:50:37 2007 Subject: [Icc-mot] ICCV7 for CPU12 7.03 released In-Reply-To: <009701c772a0$c940cef0$0400a8c0@edvardo> References: <6.1.0.6.2.20070326182059.0b750e28@192.168.100.42> <46092DD1.8080300@spotengineering.com> <009701c772a0$c940cef0$0400a8c0@edvardo> Message-ID: <4613B90E.2040302@spotengineering.com> (Special mode) eeprom address and data registers definitions are missing: #define EADDRHI (*(volatile unsigned char *)(REG_BASE + 0x00000118)) #define EADDRLO (*(volatile unsigned char *)(REG_BASE + 0x00000119)) #define EADDR (*(volatile unsigned *)(REG_BASE + 0x00000118)) #define EDATAHI (*(volatile unsigned char *)(REG_BASE + 0x0000011A)) #define EDATALO (*(volatile unsigned char *)(REG_BASE + 0x0000011B)) #define EDATA (*(volatile unsigned *)(REG_BASE + 0x0000011A)) Edward Karpicz wrote: > Also ATDCTL2, ATDCTL3, ATDCTL4, ATDCTL5 registers are missing. Concatenated > 16bits ATDCTL23, ATDCTL45 are present but we need also 8bit registers which > are mentionet in datasheets. > > Edward > > ----- Original Message ----- From: "Gene Norris" > > To: "Discussion List for ICC08/11/12/16 users. You do NOT need to subscribe > toicc-announce if you are a member of this." > Sent: Tuesday, March 27, 2007 5:44 PM > Subject: Re: [Icc-mot] ICCV7 for CPU12 7.03 released > > >> Thanks for the ftoa fix! >> >> Headers have changed, but now some have 8-bit pwm and some 16-bit. >> Both should be available in each header file. >> >> >> dp512.h >> #define PWMCNT01 (*(volatile unsigned *)(REG_BASE + 0x000000AC)) >> #define PWMCNT23 (*(volatile unsigned *)(REG_BASE + 0x000000AE)) >> #define PWMCNT45 (*(volatile unsigned *)(REG_BASE + 0x000000B0)) >> #define PWMCNT67 (*(volatile unsigned *)(REG_BASE + 0x000000B2)) >> #define PWMPER01 (*(volatile unsigned *)(REG_BASE + 0x000000B4)) >> #define PWMPER23 (*(volatile unsigned *)(REG_BASE + 0x000000B6)) >> #define PWMPER45 (*(volatile unsigned *)(REG_BASE + 0x000000B8)) >> #define PWMPER67 (*(volatile unsigned *)(REG_BASE + 0x000000BA)) >> #define PWMDTY01 (*(volatile unsigned *)(REG_BASE + 0x000000BC)) >> #define PWMDTY23 (*(volatile unsigned *)(REG_BASE + 0x000000BE)) >> #define PWMDTY45 (*(volatile unsigned *)(REG_BASE + 0x000000C0)) >> #define PWMDTY67 (*(volatile unsigned *)(REG_BASE + 0x000000C2)) >> >> dp256.h >> #define PWMCNT0 _P(0xAC) >> #define PWMCNT1 _P(0xAD) >> #define PWMCNT2 _P(0xAE) >> #define PWMCNT3 _P(0xAF) >> #define PWMCNT4 _P(0xB0) >> #define PWMCNT5 _P(0xB1) >> #define PWMCNT6 _P(0xB2) >> #define PWMCNT7 _P(0xB3) >> >> Richard wrote: >>> V7.03 - March 26th 2007 >>> [ Vista compatible licensing engine ] >>> IDE >>> - Added S12XDP512 to device list >>> - Added a "CPU Type" radio group for "Custom" device. >>> - expanded memory uses either "-maps1" or "-maps12x" in linker >>> flags, >>> depending on the CPU type. >>> - Changed device names from HC... to MC... >>> Preprocessor >>> - __FILE__ now expands to filename without the path component >>> Assembler >>> - XGate support broke some processing in the CPU12 instruction >>> processing. >>> Fixed. >>> Linker >>> - -maps1 now maps 0x4000.0x7FFF as last_page-1 >>> - Added -maps12x, maps 0x4000.0x7FFF as last_page-2 >>> >>> >>> // richard >>> On-line orders, >>> support, and listservers available on web site. >>> [ For technical support on ImageCraft products, please include all >>> previous replies in your msgs. ] >>> _______________________________________________ >>> Icc-mot mailing list >>> Icc-mot@imagecraft.com >>> http://dragonsgate.net/mailman/listinfo/icc-mot >>> >>> >> >> -- >> Gene Norris >> Chief Engineer >> >> SPOT Engineering, Inc. >> 1261 Campground Road >> Lancaster, Ohio 43130 >> 740.654.0880 >> FAX.654.0889 >> >> http://www.spotengineering.com/ >> >> _______________________________________________ >> Icc-mot mailing list >> Icc-mot@imagecraft.com >> http://dragonsgate.net/mailman/listinfo/icc-mot > > _______________________________________________ > Icc-mot mailing list > Icc-mot@imagecraft.com > http://dragonsgate.net/mailman/listinfo/icc-mot > > -- Gene Norris Chief Engineer SPOT Engineering, Inc. 1261 Campground Road Lancaster, Ohio 43130 740.654.0880 FAX.654.0889 http://www.spotengineering.com/ From genenorris at spotengineering.com Fri Apr 6 08:17:52 2007 From: genenorris at spotengineering.com (Gene Norris) Date: Fri Apr 6 08:28:38 2007 Subject: [Icc-mot] ICCV7 for CPU12 7.03 released In-Reply-To: <4613B90E.2040302@spotengineering.com> References: <6.1.0.6.2.20070326182059.0b750e28@192.168.100.42> <46092DD1.8080300@spotengineering.com> <009701c772a0$c940cef0$0400a8c0@edvardo> <4613B90E.2040302@spotengineering.com> Message-ID: <461664A0.1020706@spotengineering.com> 16-bit Pulse accumulator registers are defined, but 8-bit are not: PACN3 PACN2 PACN1 PACN0 Gene Norris wrote: > (Special mode) eeprom address and data registers definitions are missing: > > #define EADDRHI (*(volatile unsigned char *)(REG_BASE + 0x00000118)) > #define EADDRLO (*(volatile unsigned char *)(REG_BASE + 0x00000119)) > #define EADDR (*(volatile unsigned *)(REG_BASE + 0x00000118)) > #define EDATAHI (*(volatile unsigned char *)(REG_BASE + 0x0000011A)) > #define EDATALO (*(volatile unsigned char *)(REG_BASE + 0x0000011B)) > #define EDATA (*(volatile unsigned *)(REG_BASE + 0x0000011A)) > > Edward Karpicz wrote: >> Also ATDCTL2, ATDCTL3, ATDCTL4, ATDCTL5 registers are missing. >> Concatenated >> 16bits ATDCTL23, ATDCTL45 are present but we need also 8bit registers >> which >> are mentionet in datasheets. >> >> Edward >> >> ----- Original Message ----- From: "Gene Norris" >> >> To: "Discussion List for ICC08/11/12/16 users. You do NOT need to >> subscribe >> toicc-announce if you are a member of this." >> Sent: Tuesday, March 27, 2007 5:44 PM >> Subject: Re: [Icc-mot] ICCV7 for CPU12 7.03 released >> >> >>> Thanks for the ftoa fix! >>> >>> Headers have changed, but now some have 8-bit pwm and some 16-bit. >>> Both should be available in each header file. >>> >>> >>> dp512.h >>> #define PWMCNT01 (*(volatile unsigned *)(REG_BASE + 0x000000AC)) >>> #define PWMCNT23 (*(volatile unsigned *)(REG_BASE + 0x000000AE)) >>> #define PWMCNT45 (*(volatile unsigned *)(REG_BASE + 0x000000B0)) >>> #define PWMCNT67 (*(volatile unsigned *)(REG_BASE + 0x000000B2)) >>> #define PWMPER01 (*(volatile unsigned *)(REG_BASE + 0x000000B4)) >>> #define PWMPER23 (*(volatile unsigned *)(REG_BASE + 0x000000B6)) >>> #define PWMPER45 (*(volatile unsigned *)(REG_BASE + 0x000000B8)) >>> #define PWMPER67 (*(volatile unsigned *)(REG_BASE + 0x000000BA)) >>> #define PWMDTY01 (*(volatile unsigned *)(REG_BASE + 0x000000BC)) >>> #define PWMDTY23 (*(volatile unsigned *)(REG_BASE + 0x000000BE)) >>> #define PWMDTY45 (*(volatile unsigned *)(REG_BASE + 0x000000C0)) >>> #define PWMDTY67 (*(volatile unsigned *)(REG_BASE + 0x000000C2)) >>> >>> dp256.h >>> #define PWMCNT0 _P(0xAC) >>> #define PWMCNT1 _P(0xAD) >>> #define PWMCNT2 _P(0xAE) >>> #define PWMCNT3 _P(0xAF) >>> #define PWMCNT4 _P(0xB0) >>> #define PWMCNT5 _P(0xB1) >>> #define PWMCNT6 _P(0xB2) >>> #define PWMCNT7 _P(0xB3) >>> >>> Richard wrote: >>>> V7.03 - March 26th 2007 >>>> [ Vista compatible licensing engine ] >>>> IDE >>>> - Added S12XDP512 to device list >>>> - Added a "CPU Type" radio group for "Custom" device. >>>> - expanded memory uses either "-maps1" or "-maps12x" in linker >>>> flags, >>>> depending on the CPU type. >>>> - Changed device names from HC... to MC... >>>> Preprocessor >>>> - __FILE__ now expands to filename without the path component >>>> Assembler >>>> - XGate support broke some processing in the CPU12 instruction >>>> processing. >>>> Fixed. >>>> Linker >>>> - -maps1 now maps 0x4000.0x7FFF as last_page-1 >>>> - Added -maps12x, maps 0x4000.0x7FFF as last_page-2 >>>> >>>> >>>> // richard >>>> On-line orders, >>>> support, and listservers available on web site. >>>> [ For technical support on ImageCraft products, please include all >>>> previous replies in your msgs. ] >>>> _______________________________________________ >>>> Icc-mot mailing list >>>> Icc-mot@imagecraft.com >>>> http://dragonsgate.net/mailman/listinfo/icc-mot >>>> >>>> >>> >>> -- >>> Gene Norris >>> Chief Engineer >>> >>> SPOT Engineering, Inc. >>> 1261 Campground Road >>> Lancaster, Ohio 43130 >>> 740.654.0880 >>> FAX.654.0889 >>> >>> http://www.spotengineering.com/ >>> >>> _______________________________________________ >>> Icc-mot mailing list >>> Icc-mot@imagecraft.com >>> http://dragonsgate.net/mailman/listinfo/icc-mot >> >> _______________________________________________ >> Icc-mot mailing list >> Icc-mot@imagecraft.com >> http://dragonsgate.net/mailman/listinfo/icc-mot >> >> > -- Gene Norris Chief Engineer SPOT Engineering, Inc. 1261 Campground Road Lancaster, Ohio 43130 740.654.0880 FAX.654.0889 http://www.spotengineering.com/ From genenorris at spotengineering.com Fri Apr 6 09:03:33 2007 From: genenorris at spotengineering.com (Gene Norris) Date: Fri Apr 6 09:13:38 2007 Subject: [Icc-mot] Strict Checkings to Strict? Message-ID: <46166F55.9080505@spotengineering.com> Richard, When the strict checkings option is checked: Any deviation in type, when calling a function causes an _error_! I can see why you would want a warning, but why do these cause errors?! For example: memset(mybuffer, 0, sizeof(mybuffer)); Generates: type error in argument 1 to `memset'; found `pointer to unsigned char' expected `pointer to void' Even modifiers like volatile cause an error... Shouldn't these be warnings? -- Gene Norris Chief Engineer SPOT Engineering, Inc. 1261 Campground Road Lancaster, Ohio 43130 740.654.0880 FAX.654.0889 http://www.spotengineering.com/ From bobsmith5 at verizon.net Thu Apr 12 15:23:41 2007 From: bobsmith5 at verizon.net (Bob Smith) Date: Thu Apr 12 15:32:49 2007 Subject: [Icc-mot] Two HC08Setup modules problem. References: <6.1.0.6.2.20070326182059.0b750e28@192.168.100.42> <46092DD1.8080300@spotengineering.com> <009701c772a0$c940cef0$0400a8c0@edvardo> <4613B90E.2040302@spotengineering.com> Message-ID: <004201c77d51$3a96e8e0$aba7fea9@apollo> A question for all ICC08 lovers, I have a real wacko problem that is driving me over the edge. Here is a fragment of my project.lst file: I am using version 6.11 of ICC08. __text_start: __start: 186D 45 0870 ldHX #0x0870 1870 94 tXS 1871 CD 193A jsr __HC08Setup 1874 45 0077 ldHX #0x0077 1877 65 0079 cpHX #0x0079 Note that the third instruction above shows __HC08Setup (with two underscores)??? Now another fragment: 0015) void HC08Setup (void) { FILE: _HC08Setup: 1939 81 rts __HC08Setup: 193A 81 rts Note that there are two versions of HC08Setup above. The top one is the one generated by my C version of HC08Setup which is included in my project. The second one seems to come from who knows where? It includes only a single rts instruction (in other words, a 'Null' module.) Yes, the first version has only one rts instruction also. To try to circumvent this problem I commented out all the setup code in that version and then moved it (my code) back to my main() function where it seems to work. Before I ask my questions some more background. 1. The first version of my HCS08Setup was incorrectly named HC08Startup until I traced the code and noticed the default module was a null module an doing nothing. 2. I then carefully renamed my C module and the function included to HC08Setup and recompiled. Every since then the linker resolves the jsr in cstart (see top fragment above) to the second module as shown in the second fragment. Now my questions: 1. If I include a user coded HC08Setup program is there some action I need to take to make the null ImageCraft version go away. 2. I searched the help files for hc08setup but got no results. Is there somewhere else I should look for more information? 3. Does ICC08 not support nested comments (Ihave the ASCII extension option checked in Environdment->Options). 4. I keep finding files with extension ._C in my project folder. What are these, some kind of backup and what do they mean to me. Any help or pointers to more info will be most appreciated. Thanks, Bob Smith From genenorris at spotengineering.com Thu Apr 12 15:45:46 2007 From: genenorris at spotengineering.com (Gene Norris) Date: Thu Apr 12 15:54:47 2007 Subject: [Icc-mot] Two HC08Setup modules problem. In-Reply-To: <004201c77d51$3a96e8e0$aba7fea9@apollo> References: <6.1.0.6.2.20070326182059.0b750e28@192.168.100.42> <46092DD1.8080300@spotengineering.com> <009701c772a0$c940cef0$0400a8c0@edvardo> <4613B90E.2040302@spotengineering.com> <004201c77d51$3a96e8e0$aba7fea9@apollo> Message-ID: <461EB69A.2050901@spotengineering.com> Bob Smith wrote: > A question for all ICC08 lovers, > > I have a real wacko problem that is driving me over the edge. > > Here is a fragment of my project.lst file: > > I am using version 6.11 of ICC08. > > __text_start: > > __start: > > 186D 45 0870 ldHX #0x0870 > > 1870 94 tXS > > 1871 CD 193A jsr __HC08Setup > > 1874 45 0077 ldHX #0x0077 > > 1877 65 0079 cpHX #0x0079 > > > > Note that the third instruction above shows __HC08Setup (with two > underscores)??? > > > > Now another fragment: > > 0015) void HC08Setup (void) { > > FILE: > > _HC08Setup: > > 1939 81 rts > > __HC08Setup: > > 193A 81 rts > > Note that there are two versions of HC08Setup above. The top one is the > one generated by my C version of HC08Setup which is included in my > project. The second one seems to come from who knows where? It > includes only a single rts instruction (in other words, a 'Null' > module.) Yes, the first version has only one rts instruction also. To > try to circumvent this problem I commented out all the setup code in > that version and then moved it (my code) back to my main() function > where it seems to work. > > Before I ask my questions some more background. > > 1. The first version of my HCS08Setup was incorrectly named HC08Startup > until I traced the code and noticed the default module was a null module > an doing nothing. > > 2. I then carefully renamed my C module and the function included to > HC08Setup and recompiled. Every since then the linker resolves the jsr > in cstart (see top fragment above) to the second module as shown in the > second fragment. > > Now my questions: > > 1. If I include a user coded HC08Setup program is there some action I > need to take to make the null ImageCraft version go away. No. Your user code will be used. > > 2. I searched the help files for hc08setup but got no results. Is > there somewhere else I should look for more information? This is probably the right spot. > > 3. Does ICC08 not support nested comments (Ihave the ASCII extension > option checked in Environdment->Options). Nested comments are not supported. Do not use them; they are evil. > > 4. I keep finding files with extension ._C in my project folder. What > are these, some kind of backup and what do they mean to me. There _are_ some kind of backup, ignore them. > > Any help or pointers to more info will be most appreciated. > > > > Thanks, > > Bob Smith > > > > _______________________________________________ > Icc-mot mailing list > Icc-mot@imagecraft.com > http://dragonsgate.net/mailman/listinfo/icc-mot > > -- Gene Norris Chief Engineer SPOT Engineering, Inc. 1261 Campground Road Lancaster, Ohio 43130 740.654.0880 FAX.654.0889 http://www.spotengineering.com/ From derick at perkinstechnologies.com.au Thu Apr 12 16:47:38 2007 From: derick at perkinstechnologies.com.au (Derick Hammond) Date: Thu Apr 12 16:56:32 2007 Subject: [Icc-mot] Two HC08Setup modules problem. In-Reply-To: <004201c77d51$3a96e8e0$aba7fea9@apollo> References: <6.1.0.6.2.20070326182059.0b750e28@192.168.100.42> <46092DD1.8080300@spotengineering.com> <009701c772a0$c940cef0$0400a8c0@edvardo> <4613B90E.2040302@spotengineering.com> <004201c77d51$3a96e8e0$aba7fea9@apollo> Message-ID: <461EC51A.2040803@perkinstechnologies.com.au> Hi Bob: For your C code try: void _HC08Setup(void) { ...; } This should generate a replacement __HC08Setup: label in your listing that replaces the standard library version. Regards, Derick Hammond Systems Engineer Perkins Technologies T: +61 7 3300 2081 F: +61 7 3300 3530 E: derick@perkinstechnologies.com.au W: www.perkinstechnologies.com.au Bob Smith wrote: > A question for all ICC08 lovers, > > I have a real wacko problem that is driving me over the edge. > > Here is a fragment of my project.lst file: > > I am using version 6.11 of ICC08. > > __text_start: > > __start: > > 186D 45 0870 ldHX #0x0870 > > 1870 94 tXS > > 1871 CD 193A jsr __HC08Setup > > 1874 45 0077 ldHX #0x0077 > > 1877 65 0079 cpHX #0x0079 > > > > Note that the third instruction above shows __HC08Setup (with two > underscores)??? > > > > Now another fragment: > > 0015) void HC08Setup (void) { > > FILE: > > _HC08Setup: > > 1939 81 rts > > __HC08Setup: > > 193A 81 rts > > Note that there are two versions of HC08Setup above. The top one is the > one generated by my C version of HC08Setup which is included in my > project. The second one seems to come from who knows where? It > includes only a single rts instruction (in other words, a 'Null' > module.) Yes, the first version has only one rts instruction also. To > try to circumvent this problem I commented out all the setup code in > that version and then moved it (my code) back to my main() function > where it seems to work. > > Before I ask my questions some more background. > > 1. The first version of my HCS08Setup was incorrectly named HC08Startup > until I traced the code and noticed the default module was a null module > an doing nothing. > > 2. I then carefully renamed my C module and the function included to > HC08Setup and recompiled. Every since then the linker resolves the jsr > in cstart (see top fragment above) to the second module as shown in the > second fragment. > > Now my questions: > > 1. If I include a user coded HC08Setup program is there some action I > need to take to make the null ImageCraft version go away. > > 2. I searched the help files for hc08setup but got no results. Is > there somewhere else I should look for more information? > > 3. Does ICC08 not support nested comments (Ihave the ASCII extension > option checked in Environdment->Options). > > 4. I keep finding files with extension ._C in my project folder. What > are these, some kind of backup and what do they mean to me. > > Any help or pointers to more info will be most appreciated. > > > > Thanks, > > Bob Smith > > > > _______________________________________________ > Icc-mot mailing list > Icc-mot@imagecraft.com > http://dragonsgate.net/mailman/listinfo/icc-mot > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://dragonsgate.net/pipermail/icc-mot/attachments/20070413/55639a20/attachment.html From richard-lists at imagecraft.com Fri Apr 13 13:40:48 2007 From: richard-lists at imagecraft.com (Richard) Date: Fri Apr 13 13:49:51 2007 Subject: [Icc-mot] Two HC08Setup modules problem. In-Reply-To: <461EC51A.2040803@perkinstechnologies.com.au> References: <6.1.0.6.2.20070326182059.0b750e28@192.168.100.42> <46092DD1.8080300@spotengineering.com> <009701c772a0$c940cef0$0400a8c0@edvardo> <4613B90E.2040302@spotengineering.com> <004201c77d51$3a96e8e0$aba7fea9@apollo> <461EC51A.2040803@perkinstechnologies.com.au> Message-ID: <6.1.0.6.2.20070413133959.07cffcc8@192.168.100.42> An HTML attachment was scrubbed... URL: http://dragonsgate.net/pipermail/icc-mot/attachments/20070413/ad713543/attachment.html From genenorris at spotengineering.com Sat Apr 14 09:51:41 2007 From: genenorris at spotengineering.com (Gene Norris) Date: Sat Apr 14 10:01:45 2007 Subject: [Icc-mot] Wrong Addresses Generated!! Unusable Code! Message-ID: <4621069D.6070504@spotengineering.com> Richard, Here's a simple program: void my_function(void); void boot(void); #pragma abs_address:0xC800 void main(void) { my_function(); } void my_function(void) { return; } #pragma end_abs_address Map file Addr Global Symbol ----- -------------------------------- C800 _main C805 $_my_function Everything looks good so far... Now what gets generated is unusable ; void main(void) C800 ; { C800 .dbline 9 C800 ; my_function(); C800 4A880503 xcall $_my_function C804 .dbline -2 The extended call actually breaks down like this: 4A call 8805 address 03 page page 3 unfortunately does not exist (0x20 - 0x3F) and the program goes there anyway.... Since this is the last page, 3F should be used with address 8805 or _any_ valid page with address C800 Could you look at this Richard? MC9S12Dx512, expanded memory, paged functions default, s2 linear -- Gene Norris Chief Engineer SPOT Engineering, Inc. 1261 Campground Road Lancaster, Ohio 43130 740.654.0880 FAX.654.0889 http://www.spotengineering.com/ From ekarpicz at freemail.lt Sat Apr 14 12:00:29 2007 From: ekarpicz at freemail.lt (Edward Karpicz) Date: Sat Apr 14 12:08:57 2007 Subject: [Icc-mot] Wrong Addresses Generated!! Unusable Code! References: <4621069D.6070504@spotengineering.com> Message-ID: <000f01c77ec7$2b5486e0$a300a8c0@REKS> #pragma nonpaged_function my_function somewhere close to my_function prototype would solve the problem. Wonder why do you need abs_address for function in flash? Edward ----- Original Message ----- From: "Gene Norris" To: Sent: Saturday, April 14, 2007 19:51 Subject: [Icc-mot] Wrong Addresses Generated!! Unusable Code! > Richard, > > Here's a simple program: > > void my_function(void); > void boot(void); > > #pragma abs_address:0xC800 > void main(void) > { > my_function(); > } > > void my_function(void) > { > return; > } > #pragma end_abs_address > > Map file > Addr Global Symbol > ----- -------------------------------- > C800 _main > C805 $_my_function > Everything looks good so far... > > Now what gets generated is unusable > > ; void main(void) > C800 ; { > C800 .dbline 9 > C800 ; my_function(); > C800 4A880503 xcall $_my_function > C804 .dbline -2 > > The extended call actually breaks down like this: > 4A call > 8805 address > 03 page > > page 3 unfortunately does not exist (0x20 - 0x3F) and the program goes > there anyway.... > Since this is the last page, 3F should be used with address 8805 > or _any_ valid page with address C800 > > Could you look at this Richard? > > MC9S12Dx512, expanded memory, paged functions default, s2 linear > > -- > Gene Norris > Chief Engineer > > SPOT Engineering, Inc. > 1261 Campground Road > Lancaster, Ohio 43130 > 740.654.0880 > FAX.654.0889 > > http://www.spotengineering.com/ > > _______________________________________________ > Icc-mot mailing list > Icc-mot@imagecraft.com > http://dragonsgate.net/mailman/listinfo/icc-mot > From ekarpicz at freemail.lt Sat Apr 14 12:03:10 2007 From: ekarpicz at freemail.lt (Edward Karpicz) Date: Sat Apr 14 12:11:37 2007 Subject: [Icc-mot] Strict Checkings to Strict? References: <46166F55.9080505@spotengineering.com> Message-ID: <001901c77ec7$8b656c20$a300a8c0@REKS> Any updates available? I was unable to reproduce compiler E! with your example. Edward ----- Original Message ----- From: "Gene Norris" To: Sent: Friday, April 06, 2007 19:03 Subject: [Icc-mot] Strict Checkings to Strict? > Richard, > > When the strict checkings option is checked: > Any deviation in type, when calling a function causes an _error_! I can > see why you would want a warning, but why do these cause errors?! > > For example: > memset(mybuffer, 0, sizeof(mybuffer)); > > Generates: > type error in argument 1 to `memset'; > found `pointer to unsigned char' expected `pointer to void' > > Even modifiers like volatile cause an error... > > Shouldn't these be warnings? > > -- > Gene Norris > Chief Engineer > > SPOT Engineering, Inc. > 1261 Campground Road > Lancaster, Ohio 43130 > 740.654.0880 > FAX.654.0889 > > http://www.spotengineering.com/ > > _______________________________________________ > Icc-mot mailing list > Icc-mot@imagecraft.com > http://dragonsgate.net/mailman/listinfo/icc-mot > From genenorris at spotengineering.com Mon Apr 16 06:09:25 2007 From: genenorris at spotengineering.com (Gene Norris) Date: Mon Apr 16 06:18:48 2007 Subject: [Icc-mot] Wrong Addresses Generated!! Unusable Code! In-Reply-To: <000f01c77ec7$2b5486e0$a300a8c0@REKS> References: <4621069D.6070504@spotengineering.com> <000f01c77ec7$2b5486e0$a300a8c0@REKS> Message-ID: <46237585.4060303@spotengineering.com> Edward, Thanks Edward Karpicz wrote: > #pragma nonpaged_function my_function > somewhere close to my_function prototype would solve the problem. > That works. > Wonder why do you need abs_address for function in flash? I was trying to only include the smallest amount of code to duplicate the problem. Who said I had flash at that address anyway? > > > Edward > > > ----- Original Message ----- From: "Gene Norris" > > To: > Sent: Saturday, April 14, 2007 19:51 > Subject: [Icc-mot] Wrong Addresses Generated!! Unusable Code! > > >> Richard, >> >> Here's a simple program: >> >> void my_function(void); >> void boot(void); >> >> #pragma abs_address:0xC800 >> void main(void) >> { >> my_function(); >> } >> >> void my_function(void) >> { >> return; >> } >> #pragma end_abs_address >> >> Map file >> Addr Global Symbol >> ----- -------------------------------- >> C800 _main >> C805 $_my_function >> Everything looks good so far... >> >> Now what gets generated is unusable >> >> ; void main(void) >> C800 ; { >> C800 .dbline 9 >> C800 ; my_function(); >> C800 4A880503 xcall $_my_function >> C804 .dbline -2 >> >> The extended call actually breaks down like this: >> 4A call >> 8805 address >> 03 page >> >> page 3 unfortunately does not exist (0x20 - 0x3F) and the program goes >> there anyway.... >> Since this is the last page, 3F should be used with address 8805 >> or _any_ valid page with address C800 >> >> Could you look at this Richard? >> >> MC9S12Dx512, expanded memory, paged functions default, s2 linear >> >> -- >> Gene Norris >> Chief Engineer >> >> SPOT Engineering, Inc. >> 1261 Campground Road >> Lancaster, Ohio 43130 >> 740.654.0880 >> FAX.654.0889 >> >> http://www.spotengineering.com/ >> >> _______________________________________________ >> Icc-mot mailing list >> Icc-mot@imagecraft.com >> http://dragonsgate.net/mailman/listinfo/icc-mot >> > > _______________________________________________ > Icc-mot mailing list > Icc-mot@imagecraft.com > http://dragonsgate.net/mailman/listinfo/icc-mot > > -- Gene Norris Chief Engineer SPOT Engineering, Inc. 1261 Campground Road Lancaster, Ohio 43130 740.654.0880 FAX.654.0889 http://www.spotengineering.com/ From ekarpicz at freemail.lt Mon Apr 16 06:30:36 2007 From: ekarpicz at freemail.lt (Edward Karpicz) Date: Mon Apr 16 07:32:13 2007 Subject: [Icc-mot] Wrong Addresses Generated!! Unusable Code! References: <4621069D.6070504@spotengineering.com><000f01c77ec7$2b5486e0$a300a8c0@REKS> <46237585.4060303@spotengineering.com> Message-ID: <001801c7802b$6cdcd7b0$0400a8c0@edvardo> > Who said I had flash at that address anyway? > Deduced from this : >>> MC9S12Dx512, expanded memory, paged functions default, s2 linear Of course you could remap RAM to c800, anyway that won't be a nice setup. Edward > >> >> >> Edward >> >> >> ----- Original Message ----- From: "Gene Norris" >> >> To: >> Sent: Saturday, April 14, 2007 19:51 >> Subject: [Icc-mot] Wrong Addresses Generated!! Unusable Code! >> >> >>> Richard, >>> >>> Here's a simple program: >>> >>> void my_function(void); >>> void boot(void); >>> >>> #pragma abs_address:0xC800 >>> void main(void) >>> { >>> my_function(); >>> } >>> >>> void my_function(void) >>> { >>> return; >>> } >>> #pragma end_abs_address >>> >>> Map file >>> Addr Global Symbol >>> ----- -------------------------------- >>> C800 _main >>> C805 $_my_function >>> Everything looks good so far... >>> >>> Now what gets generated is unusable >>> >>> ; void main(void) >>> C800 ; { >>> C800 .dbline 9 >>> C800 ; my_function(); >>> C800 4A880503 xcall $_my_function >>> C804 .dbline -2 >>> >>> The extended call actually breaks down like this: >>> 4A call >>> 8805 address >>> 03 page >>> >>> page 3 unfortunately does not exist (0x20 - 0x3F) and the program goes >>> there anyway.... >>> Since this is the last page, 3F should be used with address 8805 >>> or _any_ valid page with address C800 >>> >>> Could you look at this Richard? >>> >>> MC9S12Dx512, expanded memory, paged functions default, s2 linear >>> >>> -- >>> Gene Norris >>> Chief Engineer >>> >>> SPOT Engineering, Inc. >>> 1261 Campground Road >>> Lancaster, Ohio 43130 >>> 740.654.0880 >>> FAX.654.0889 >>> >>> http://www.spotengineering.com/ >>> >>> _______________________________________________ >>> Icc-mot mailing list >>> Icc-mot@imagecraft.com >>> http://dragonsgate.net/mailman/listinfo/icc-mot >>> >> >> _______________________________________________ >> Icc-mot mailing list >> Icc-mot@imagecraft.com >> http://dragonsgate.net/mailman/listinfo/icc-mot >> >> > > -- > Gene Norris > Chief Engineer > > SPOT Engineering, Inc. > 1261 Campground Road > Lancaster, Ohio 43130 > 740.654.0880 > FAX.654.0889 > > http://www.spotengineering.com/ > > _______________________________________________ > Icc-mot mailing list > Icc-mot@imagecraft.com > http://dragonsgate.net/mailman/listinfo/icc-mot