Welcome! Log In Create A New Profile

Advanced

sdcc bugs and pitfalls

Posted by Anonymous User 
Anonymous User
sdcc bugs and pitfalls
September 23, 2007 08:52AM
we should make a wikipage for this, but until we have one I will describe my experience here:

1. initialization of variables in file-scope does not always work.
(it works only for extruder1.c, stepmotor1.c, not for the serial-files or extruder2.c, stepmotor2.c)

2. variables in bank1 can not be used (BANKSEL statements are missing). for static-variables this is checked with the file in tools/checkmap, for extern variables you have to check it manually.
(search in the map file e.g. build/16f628/extruder_0_/extruder_0_.map for
Location==data and Addresse in the range of 0xa0 until 0xef

3. sometimes BANKSEL statements are missing after BANK-switches for the special function registers, this has to be checked manually sad smiley

4. sharing functions with isr-routines:
(register-)variables could be overwritten by isr-routines! only register W, Status and Programmcounter are saved on start of an isr. if an isr is using a register, which would also be used by the normal programm code, than this register could contain the wrong value!

Edited 1 time(s). Last edit at 09/23/2007 11:14AM by andreas.
Sorry, only registered users may post in this forum.

Click here to login