I am working with the TMS570LC4357 and we are running our code from flash address 0x00000000 where the application starts just after the vector table. When doing this, Ozone seems to be somehow overlapping a bunch of debug symbols, and when stepping through code it will just end up at random unrelated lines of code. The disassembly seen in figure 1 shows this behavior, where the blacked out source files are various different files which should not be correlated with this address. We found a "fix" for this, which is simply to push the start of the app back with some offset. This "fix" can be seen in figure 2. I am just curious if anyone has a better idea of what could be going on here, and if there is a better solution for it.
Figure 1: Disassembly in Ozone with overlapping symbols, when running with the app just after the vector table around address 0x00000000
Figure 2: The "fix" we made to our linker script which causes Ozone to work properly. The offset between the vector table and the app entry was added.
Also for what it is worth, the same code can be debugged perfectly fine with GDB
Figure 1: Disassembly in Ozone with overlapping symbols, when running with the app just after the vector table around address 0x00000000
Figure 2: The "fix" we made to our linker script which causes Ozone to work properly. The offset between the vector table and the app entry was added.
Also for what it is worth, the same code can be debugged perfectly fine with GDB
The post was edited 1 time, last by kayers ().