Hey Fellow Embedded People,
Running this on a K20DX256ZVMD10 using MQX4.0 and CW10.3
I have an app using an interrupt from SPI and everything works great if I load and start the app from address 0x0000_0000. I put the SPI interrupt ISR vector directly into vectors.c
Next, I fired up the MSD bootloader to bootload starting at address 0x0000_C000.
Next, in the app:
Set '#define MQX_ROM_VECTORS 0' in user_config.h and small_ram_config.h
Changed intflash.lcf to:
vectorrom (RX): ORIGIN = 0x0000C000, LENGTH = 0x00000400 # TJ changed from 0000 to C000
cfmprotrom (RX): ORIGIN = 0x0000C400, LENGTH = 0x00000020 # TJ changed from 0400 to C400
rom (RX): ORIGIN = 0x0000C420, LENGTH = 0x00033BE0 # Code + Const data TJ changed from 0420 to C420, & 3FBE0 to 33BE0
ram (RW): ORIGIN = 0x1FFF8000, LENGTH = 0x00010000 # SRAM - RW data
3. Cleaned the project and re-built.
Now, after I load the application with the bootloader and restart, the application loads and runs but the SPI interrupt never gets serviced.
Looking at the SRAM area where the vector table should have been copied to, address 0x1FFF_8000, I do not see my SPI ISR vector in the table. ??? n
Any ideas or help is much appreciated.