I'm using the EZ-USB 2131 with the 8051 core. The C variable init routine in init.a51 stops part of my software working unless I add an extra eight bytes or more after the c_init terminator at the bottom of init.a51. I'm assuming that, for some reason, some of the C variables are not being initialised which in turn is causing my code to fail. The startup.a51 and init.a51 are the last to be linked in and the problem occurred after I introduced bank switching. Anyone else had this problem ??
You can create a batch file to see what uVision generates. http://www.keil.com/support/docs/2594.htm There is notthing strange or hidden.