选择完成后, 比设定级 别低 的日志 (这里特指使用 LOG_X API 的日志) 将不会被编译到 ROM 中 */[]EnableISRlog./* 使能中断 ISR 日志, 即在 ISR 中也可以使用日志 输出 API */[*]Enableassertcheck./* 使能断言检查。 关闭后, 断言的日志将不会被编译到ROM 中 */(128)Thelog'smaxwidth./* 日...
RT-Thread 的断言支持断言回调(hook),我们定义一个类似如下的断言 hook 函数,然后通过 rt_assert_set_hook(rtt_user_assert_hook); 函数将其设置到系统中即可。 static void rtt_user_assert_hook(const char* ex, const char* func, rt_size_t line) { rt_enter_critical(); ulog_output(LOG_LVL_ASSER...
RT-Thread 的断言支持断言回调(hook),我们定义一个类似如下的断言 hook 函数,然后通过rt_assert_set_hook(rtt_user_assert_hook);函数将其设置到系统中即可。 1staticvoidrtt_user_assert_hook(constchar* ex,constchar* func,rt_size_tline) 2{ 3rt_enter_critical(); 4 5ulog_output(LOG_LVL_ASSERT,"r...
RT-Thread 的断言支持断言回调(hook),我们定义一个类似如下的断言 hook 函数,然后通过 rt_assert_set_hook(rtt_user_assert_hook); 函数将其设置到系统中即可。 1static void rtt_user_assert_hook(const char* ex, const char* func, rt_size_t line) 2{ 3 rt_enter_critical(); 4 5 ulog_output(LO...
rt_assert_set_hook(__rt_assert_handler); //启动RT-Thread Smart内核 entry();} 异常处理 异常处理流程图 异常处理上半部分 登录后复制/*libcpu isc-v -headc906interrupt_gcc.S*/#define __ASSEMBLY__#include "cpuport.h"#include "encoding.h"#include "stackframe.h" .section .text.entry .alig...
void rt_assert_set_hook(void (*hook)(const char *ex, const char *func, rt_size_t line)){...
void rt_thread_idle_sethook(void (*hook)(void));复制代码 当空闲线程运行时会自动执行设置的钩子...
增加rt_assert_hook,在触发断言时可以执行这个钩子函数; 修正应用模块分散加载情况下的问题; 工具 scons中定义Group时加入了本Group内的编译参数定义; 修正了如果Group中即包含代码,也包含二进制库时,生成的Keil MDK工程文件有两个重名Group的问题; 版本: RT-Threadv2.0.1及v2.1.0 alpha ...
{ struct rt_device *device; RT_ASSERT(wtd != RT_NULL); device = &(wtd->parent); device->type = RT_Device_Class_Miscellaneous; device->rx_indicate = RT_NULL; device->tx_complete = RT_NULL; device->ops = &wdt_ops; device->user_data = data; /* register a character device */ ...
首先,分配内存的时间必须是确定的。一般内存管理算法是根据需要存储的数据的长度在内存中去寻找一个与这...