Hello, I am trying to initialise the CAN interface on a C164 - I need to set the XPEN bit, and clear the CAN1DIS bit in the SYSCON register. However, I am using C, and thus C_STARTUP_CODE is loaded into RAM, which contains the EINIT instruction (which locks down access to SYSCON). Therefore, EINIT has already been executed by the time my main() starts, and so I cannot access this register. I'm having trouble interpreting the machine code on the reset vectors too, so I can't just put a JumpToHere, JumpToThere, sequence in. Any help would be much appreciated.
By the way, it's all in the manuals: http://www.keil.com/support/man/docs/c166/c166_ap_startupcode.htm There should be copies of the manuals in PDF format in your Keil distribution. - mike