RT_thread overflow debug记录 问题:main/tshell stack overflow 对于main thread问题出现在rt_hw_stack_init由rt_thread_create和_thread_init调用。 看一下错误判定: 推测sp越界。看一下main thread创建时的参数列表:RT_MAIN_THREAD_STACK_SIZE2048, RT_MAIN_THREAD_PRIORITY10 这里可以看到分配的addr为thread->s...
thread: stack overflow 经过调试,发现是线程结构体引起的对齐问题。 看来,还是不要直接改基础的内核控制块。 要改rt_object的结构体大小,其他对象派生的对象,都要注意下。 总结 通过打印rt_object等结构体的大小,了解了rt_object的基本构成。 基本了解到了其他内核对象,如rt_thread(线程控制块),rt_timer(定时器...
使用这种方法打包的RT-Thread 工程,拷贝到一台没有安装RT-Thread Package的电脑上面是使用不了的,会提示找不到RT-Thread的源文件。鉴于RT-Thread Package容量很小,我们直接将安装在KEIL PACK 目录下的整个RT-Thread文件夹拷贝到我们的STM32裸机工程里面,让整个RT-Thread Package 跟随我们的工程一起发布,具体见图 拷...
}staticvoidserial_thread_entry(void*parameter){rt_err_tresult;rt_uint8_tc =0;rt_uint8_ti =0, rx_state = SERIAL2_STATE_WAIT_FRAME;rt_device_tserial2 = rt_device_find("uart2");structframe_msgmsg;while(1) {/* 使用信号量触发接收数据 */switch(rx_state) {caseSERIAL2_STATE_WAIT_FRAM...
rt-thread 驱动篇(六)serialX弊端及解决方法 描述 前言 控制台,做为一种人机交互接口,相较于其他接口(显示器、网络终端),可能是最简单的。它耗用资源少,容易配置,几乎是任何芯片会自带的外设。而且可以很容易和计算机建立连接。因而,串口控制台可能是程序员进行人机交互的首选。
#ifdef RT_USING_OVERFLOW_CHECK _rt_scheduler_stack_check(to_thread);#endif if (rt_interrupt_...
rtthread 移植freemodbus,随着协议种类的增多及复杂程度的增加,像上小节手动解析数据包的方式工作量会大量增加,所以需要一个规范的、完整的协议栈(例如LWIP,uip等)来处理数据包,这样,用户只关心应用层的数据即可;另外,LWIP虽然在无需操作系统也可以运行,但性能较
rt_kprintf("thread:%s stack overflow\n", thread->name); #ifdef RT_USING_FINSH { extern long list_thread(void); list_thread(); } #endif level = rt_hw_interrupt_disable(); while (level); } else if ((rt_uint32_t)thread->sp <= ((rt_uint32_t)thread->stack_addr + 32)) { ...
rt_kprintf("thread:%s stack overflow\n", thread->name); #ifdef RT_USING_FINSH { extern long list_thread(void); list_thread(); } #endif level = rt_hw_interrupt_disable(); while (level); } else if ((rt_uint32_t)thread->sp <= ((rt_uint32_t)thread->stack_addr + 32)) { ...
Changed the thread size of the thread_tc thread stack to avoid stack anomalies caused by 64-bit machines; Changed the size of the thread stack to avoid stack anomalies. Added the signal dependency in signal test. BSP Added some new BSPs ST: imx6ull, stm32u585-iot02a, stm32f405zgtx,...