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
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.