hardware_ver和software_ver建议填写真实的软硬件版本号,方便后期调试和维护。在 cmb_port.c 文件中,我们可以看到 RT-Thread 已经将 rt_cm_backtrace_init 函数进行了自动初始化,默认的三个参数分别是rtthread,1.0,1.0,开发者需要按照实际情况进行更改。 使用示例 CmBacktrace 提供了一个测试函数,提供除零测试和执行...
hardware_ver 和 software_ver 建议填写真实的软硬件版本号,方便后期调试和维护。在 cmb_port.c 文件中,我们可以看到 RT-Thread 已经将 rt_cm_backtrace_init 函数进行了自动初始化,默认的三个参数分别是rtthread,1.0,1.0,开发者需要按照实际情况进行更改。 运行示例代码 CmBacktrace 提供了一个测试函数,提供除零测...
在使用CmBacktracevoidvoidcm_backtrace_init(constchar*firmware_name,constchar*hardware_ver,constCmBacktrace的初始化函数需要3个参数,第一个参数是固件名字,第二个参数是硬件版本,第三个参数是软件版本。这三个参数会在发生hardfault时打印出来,firmware_name需要填写生成的固件名称,错误填写会导致在使,1.0,用addr...
void cm_backtrace_init(const char *firmware_name, const char *hardware_ver, const char *software_ver) { strncpy(fw_name, firmware_name, CMB_NAME_MAX); strncpy(hw_ver, hardware_ver, CMB_NAME_MAX); strncpy(sw_ver, software_ver, CMB_NAME_MAX); #...
支持finsh控制台,自动初始化(INIT_BOARD_EXPORT...),精简的cm_backtrace。 默认的调试输出组件使用Segger RTT,通过SWD接口输出。 使用rt-thread设备驱动框架规避了RTX中间件的版权问题(RTX的中间件RL-FlashFS, RL-USB, RL-TCPnet等需要购买正版的KEIL-MDK)。
cm_backtrace_init("rt-thread","1.0","1.0"); rt_hw_exception_install(exception_hook); rt_assert_set_hook(assert_hook); is_init = RT_TRUE; return 0; } INIT_DEVICE_EXPORT(rt_cm_backtrace_init); long cmb_test(int argc, char **argv) { volatile int * SCB_CCR = (volati...
CONFIG_RT_USING_COMPONENTS_INIT=y CONFIG_RT_USING_USER_MAIN=y CONFIG_RT_MAIN_THREAD_STACK_SIZE=2048 CONFIG_RT_MAIN_THREAD_PRIORITY=10 # CONFIG_RT_USING_LEGACY is not set CONFIG_RT_USING_MSH=y CONFIG_RT_USING_FINSH=y CONFIG_FINSH_USING_MSH=y CONFIG_FINSH_THREAD_NAME="tshell" CONFIG_FI...
CONFIG_RT_DEBUGING_AUTO_INIT is not set # CONFIG_RT_DEBUGING_PAGE_LEAK is not set # # Inter-Thread communication # CONFIG_RT_USING_SEMAPHORE=y CONFIG_RT_USING_MUTEX=y CONFIG_RT_USING_EVENT=y CONFIG_RT_USING_MAILBOX=y CONFIG_RT_USING_MESSAGEQUEUE=y # CONFIG_RT_USING_MESSAGEQUEUE_PRIORITY...
void cm_backtrace_init(const char *firmware_name, const char *hardware_ver, const char *software_ver) CmBacktrace 的初始化函数需要 3 个参数,第一个参数是固件名字,第二个参数是硬件版本,第三个参数是软件版本。这三个参数会在发生 hard fault时打印出来,firmware_name需要填写生成的固件名称,错误填写会导...
5、把cm_backtrace_init函数放在项目初始化地方执行 6、将cm_backtrace_assert放在项目的断言函数中执行,具体使用方法参照下面的 API 说明 7、如果第 4 步骤没有将 cmb_fault.s 汇编文件启用,则需要将cm_backtrace_fault放到故障处理函数(例如:HardFault_Handler)中执行,具体使用方法参照下面的 API 说明 ...