CmBacktrace
CmBacktrace copied to clipboard
Documentation in english missing
Hi,
Is there any possibility to have english version of the documentation?
thank you.
Yes, The English doc is in the TODO list. I hope you can help us do that..
@armink can you please put just a few sentence description in English of what the project does? If people see that the project could be useful to them they will be much more likely to contribute or help with code and documentation.
OK, I will try this.
The CmBacktrace is an advanced fault backtrace library for ARM Cortex-M series MCU.
- When the hardfault or assert occurs, it can automatically analyze the cause of the fault and locate the code position where the fault occurred.
- Output the function call stack (the function name and line number showing can use the addr2line tool), and restore the site information when the error occurs.
- It also support many RTOS platfroms, such as RT-Thread , UCOS-II/III and FreeRTOS.
- Support MDK/IAR/GCC toolchains.
The dump hardault informaiton like this: (by using FreeRTOS example)
Firmware name: CmBacktrace, hardware version: V1.0.0, software version: V0.1.0
Fault on thread app_start
===== Thread stack information =====
addr: 200011f0 data: a5a5a5a5
addr: 200011f4 data: 00000000
addr: 200011f8 data: a5a5a5a5
addr: 200011fc data: a5a5a5a5
addr: 20001200 data: a5a5a5a5
addr: 20001204 data: 08000171
addr: 20001208 data: a5a5a5a5
addr: 2000120c data: 080026ed
addr: 20001210 data: a5a5a5a5
addr: 20001214 data: a5a5a5a5
====================================
=================== Registers information ====================
R0 : 00000000 R1 : a5a5a5a5 R2 : a5a5a5a5 R3 : a5a5a5a5
R12: a5a5a5a5 LR : 08000171 PC : 08001788 PSR: 41000000
==============================================================
Usage fault is caused by Indicates a divide by zero has taken place (can be set only if DIV_0_TRP is set)
Show more call stack info by run: addr2line -e CmBacktrace.out -a -f 08001788 0800016d 080026e9
Then using addr2line, you can get more function call stack
D:\Program\STM32\CmBacktrace\demos\os\freertos\stm32f10x\EWARM\stm32f103xE\Exe>addr2line -e CmBacktrace.out -a -f 08001788 0800016d 080026e9
0x08001788
fault_test_by_div0
D:\Program\STM32\CmBacktrace\demos\os\freertos\stm32f10x\app\src/fault_test.c:38
0x0800016d
AppTaskStart
D:\Program\STM32\CmBacktrace\demos\os\freertos\stm32f10x\app\src/app.c:33
0x080026e9
pxPortInitialiseStack
D:\Program\STM32\CmBacktrace\demos\os\freertos\stm32f10x\FreeRTOS\portable\IAR\ARM_CM3/port.c:224
D:\Program\STM32\CmBacktrace\demos\os\freertos\stm32f10x\EWARM\stm32f103xE\Exe>
I think that is excellent. Your English is great!
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ On Monday, April 6, 2020 7:12 PM, 朱天龙 [email protected] wrote:
OK, I will try this.
The CmBacktrace is an advanced fault backtrace library for ARM Cortex-M series MCU.
- When the hardfault or assert occurs, it can automatically analyze the cause of the fault and locate the code position where the fault occurred.
- Output the function call stack (the function name and line number showing can use the addr2line tool), and restore the site information when the error occurs.
- It also support many RTOS platfroms, such as RT-Thread , UCOS-II/III and FreeRTOS.
- Support MDK/IAR/GCC toolchains.
The dump hardault informaiton like this: (by using FreeRTOS example)
Firmware name: CmBacktrace, hardware version: V1.0.0, software version: V0.1.0 Fault on thread app_start ===== Thread stack information ===== addr: 200011f0 data: a5a5a5a5 addr: 200011f4 data: 00000000 addr: 200011f8 data: a5a5a5a5 addr: 200011fc data: a5a5a5a5 addr: 20001200 data: a5a5a5a5 addr: 20001204 data: 08000171 addr: 20001208 data: a5a5a5a5 addr: 2000120c data: 080026ed addr: 20001210 data: a5a5a5a5 addr: 20001214 data: a5a5a5a5
=================== Registers information ==================== R0 : 00000000 R1 : a5a5a5a5 R2 : a5a5a5a5 R3 : a5a5a5a5 R12: a5a5a5a5 LR : 08000171 PC : 08001788 PSR: 41000000
Usage fault is caused by Indicates a divide by zero has taken place (can be set only if DIV_0_TRP is set) Show more call stack info by run: addr2line -e CmBacktrace.out -a -f 08001788 0800016d 080026e9
Then using addr2line, you can get more function call stack
D:\Program\STM32\CmBacktrace\demos\os\freertos\stm32f10x\EWARM\stm32f103xE\Exe>addr2line -e CmBacktrace.out -a -f 08001788 0800016d 080026e9 0x08001788 fault_test_by_div0 D:\Program\STM32\CmBacktrace\demos\os\freertos\stm32f10x\app\src/fault_test.c:38 0x0800016d AppTaskStart D:\Program\STM32\CmBacktrace\demos\os\freertos\stm32f10x\app\src/app.c:33 0x080026e9 pxPortInitialiseStack D:\Program\STM32\CmBacktrace\demos\os\freertos\stm32f10x\FreeRTOS\portable\IAR\ARM_CM3/port.c:224
D:\Program\STM32\CmBacktrace\demos\os\freertos\stm32f10x\EWARM\stm32f103xE\Exe>
— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe.