Setting
MQX_ROM_VECTORS 0
into libraries defines the Interrupt Table into RAM.
I still have a couple of doubt that I hope someone here knows how to deal with:
1.-How to debugg an application when the beggining isn't in 0x00000000 ?, for example in the .lcf file:
loader (RX) : ORIGIN = 0x00000000, LENGTH = 0x0000C000
vectorrom (RX): ORIGIN = 0x0000C000, LENGTH = 0x00000400
if I try to debugg the application launches an exeption vector error.
2.-How to use the USB with Internal Flash Release configuration selected. Every time I plug a usb memory into de usb slot the device shell prints:
Error while opening partition(UNKNOWN ERROR!!!)
As I didn't know if it changed something in the project I opened mfs_usb_m52259evb.mcp and tested with MCF52259EVB without any changes in the MQX libraries. It fails the same way when I select Int. Flash Release as the target. What could be the problem?
Thank you in advanced,
Jaime
I dont know what you want exactly to know.
1) Vector table must always reside at least in the ROM (i.e. internal flash). After reset, CPU's stack pointer and PC are filled values at addressed 0x00000000 and 0x00000004 respectivelly.
In the case of BDM, you can select in CodeWarrior (under Debugger item) startup conditions. There are also reset vectors. Since it is defaultly set to "Fetch SP and PC from Reset Vector" and you probably did not burn the flash with those values, there can be problem.
2) Does it work in debug mode?
1) Wich values should I select for SP and PC if I am to define those manually under the Debugger item?
2)Yes it work in debug mode.
1) In the case of code run from memory, you have to fill PC with the beginning address of your code in the SRAM memory. SP should be filled with the top of the stack section in the SRAM memory.
2) Considering this as a bug report. I will check that.