Hi,
We are developing an application for the Cortex-M4 core on the NXP i.MX7 using Exclipse + gcc + GDB + J-Link.
Our plan is to run the M4 application from the OCRAM memory since the TCM memory is too small for our final application.
When we build the application to not not enable the cache everything works and we can load, execute, single-step and set break-points.
But when we enable the cache it does not work. We can still load the code and execution stops at the start of main():
Any ideas?
Thanks!
/Niklas
We are developing an application for the Cortex-M4 core on the NXP i.MX7 using Exclipse + gcc + GDB + J-Link.
Our plan is to run the M4 application from the OCRAM memory since the TCM memory is too small for our final application.
When we build the application to not not enable the cache everything works and we can load, execute, single-step and set break-points.
But when we enable the cache it does not work. We can still load the code and execution stops at the start of main():
But if a single-step is performed or if the execution is resumed the GDB console just outputs the three lines below endlessly and the target does not execute:Setting breakpoint @ address 0x2020495C, Size = 2, BPHandle = 0x0001
Starting target CPU...
...Breakpoint reached @ address 0x2020495C
Reading all registers
Removing breakpoint @ address 0x2020495C, Size = 2
Read 4 bytes @ address 0x2020495C (Data = 0xF7FFB507)
Reading 64 bytes @ address 0x20204940
Reading 64 bytes @ address 0x20204980
If we download the application with cache enabled to the eMMC memory and start it from U-Boot it works as expected without any issues....Breakpoint reached @ address 0x2020495C
Reading all registers
Performing single step...
...Breakpoint reached @ address 0x2020495C
Reading all registers
Performing single step...
...Breakpoint reached @ address 0x2020495C
Reading all registers
Performing single step...
...Breakpoint reached @ address 0x2020495C
Reading all registers
Performing single step...
Any ideas?
Thanks!
/Niklas