I am using CodeWarrior and an example program from your website to understand the functioning of the FXTH870911 chip. The program I am using is called FXTH_FW_BLE_Beacon_by_GenFSK.
One of the factory loaded functions present in the code is TPMS_LF_ENABLE(). Since we can't view the source code of this function, I try to step over it, but strangely enough it still steps into the function and then gets stuck there. I see the "no source available" message and the disassembly as shown in the screenshots below.
How do I exit out of this function or rather not enter it in the first place?
In the window below, do I just click "Reset"?
I did try everything like you suggested but it is still entering Disassembly.
Are you not able to recreate this problem at your end?
Yes, it is necessary to click “Reset” for the debugger to actually perform the software reset.
I hope it will work this time.
PS: Please use the “Reply” button at the bottom of the latest post to keep the right order.
I was wondering if I am seeing this problem because I accidentally deleted the factory loaded firmware functions? I am not sure if I did but that's what my suspicion is.
Anyway, I did a disassembly of the main.c code before debugging and saw that there is actually something happening in the firmware/ library functions and it's not just some random FFFF code.
0000001A 4F CLRA
0000001B CDE072 JSR 0xE072
115: TPMS_READ_ID (TPMS_ID);
0000001E AE00 LDX #TPMS_ID
00000020 8C CLRH
00000021 CDE06F JSR 0xE06F
00000024 2022 BRA *+36 ;abs = 0x0048
So I am not sure yet what to make of it. Any suggestions will be really appreciated.
In the CodeWarrior IDE, the “Step Over” command only works when there is no user breakpoint. If there is a breakpoint, then the “Step Over” behaves like a “Step Into”. I see in your screenshot that one breakpoint is present, so I suppose this is the reason why the program does a “Step Into” instead of “Step Over”.
Could you try to remove this breakpoint, and all others if any, and then retry?
I would recommend to follow this exact procedure:
1. Start the debug session without any breakpoint.
2. When the debug session is active the program is automatically stopped at the beginning of the main. At this moment, place one desired breakpoint. Do not run the program.
3. Click on the button to do a software reset.
4. Run the program, it will stop at the breakpoint.
5. Remove the breakpoint.
6. Click on “step over”.
If this does not work, I do not have any other idea unfortunately.