When I debug/step via BDT I have for example this output:
[07:54:48]:
pause mcu, pc : 0x01445e
00000000 <__start>:
10: 3363742d tcmpncc r3, #754974720 ; 0x2d000000
00000220 <__irq>:
222: 64ff tpush {r0, r1, r2, r3, r4, r5, r6, r7}
00000220 <__irq>:
224: 6bd8 tmrss r0
00000220 <__irq>:
226: 0641 tmov r1, r8
00000220 <__irq>:
228: 064a tmov r2, r9
00000220 <__irq>:
So, for example in tpush {r0, r1, r2, r3, r4, r5, r6, r7}, is it possible to see what values in r0, r1... r7 are?
Is there a document describing all assembly instructions for example like above tcmpncc, tpush, tmrss and others?
No related topics |
HI,
At present, this part of the information is not publicly available.
So how can you debug the firmware?
To be honest, I don't want to know assembly instructions if I could debug in C. But I can't - so the only option is to understand how assmebly works.
In BDT, the nly thing you can do is to read/write variable values or memory. In most cases it will be sufficient.
If you try to use BDT debug/step through instructions you see the assembler instructions but Telink doesn t provide information about them.
You provide precompiled libraries, no source code - and the assembly looks like as shown in my first post. How can you debug this?
You didn t answer whether it is possible to see what r0 ... r7 in the example tpush {r0, r1, r2, r3, r4, r5, r6, r7} are? Or in tmov r1, r8?
I can guess that tpush will push variables on the stack - or not?
And tmov will move value in r8 to r1. But others who knows?
But what is r8 or r1?
You can t debug in C, you can t debug in assembly. You can only hope that the code work.
It s like the issue I have had for half a year which I described in another thread. I can t fix it and Telink couldn t fix it.