Experts, I have a 'C' program that contains an array of around 10 unsigned int's. If I initialise it during the declaration, the code never enters main() (I placed a breakpoint on the first instruction inside my main() but it never got hit). unsigned int array[10]={0,0,0,0,0,0,0,0,0,0}; // does not work.
If I remove the initialisation part, it works. Why? MCU = C8051F340 (Silabs) Keil version = C51 COMPILER V7.10 Assembler command line flags: XR GEN DB EP NOMOD51 Compiler command line flags: PW(80) SB LC OT(9,Size) CD DB OE DF(__F340_VER__) Large Linker command line flags: RS(256) PL(68) PW(78) IX
Thanks.
Regards, Ganesh
there is a caveat: the Keil 'preprocessing' do not kick the puppy and thus with these chips you need to muzzle the puppy in startup.a51 and release it at the top of main
Try reading the instructions in init.a51 instead.
Here: http://www.keil.com/support/man/docs/c51/c51_ap_init.htm
Handling of a Watchdog is specifically mentioned...
(in almost the way that Per suggested)