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...
在这里 $Sub$$main 函数调用了 rtthread_startup() 函数,其中 rtthread_startup() 函数的代码如下所示: intrtthread_startup(void){rt_hw_interrupt_disable();/* 板级初始化: 需在该函数内部进行系统堆的初始化 */rt_hw_board_init();/* 打印 RT-Thread 版本信息 */rt_show_version();/* 定时器...
main thread<1-4086>// <i>Default: 512/*设置main线程的大小*/#defineRT_MAIN_THREAD_STACK_SIZE256// </h>// <h>Debug Configuration// <c1>enable kernel debug configuration// <i>Default: enable kernel debug configuration//#define RT_DEBUG// </c>// <o>enable components initialization debug...
rt_kprintf("%s %s:%d rt_event_recv() error!\r\n", __FILE__, __FUNCTION__, __LINE__);continue;//错误,触发事件,重新接收数据}if(EventID == ( END_SLAVE_THREAD_EVENT ) )/*如果事件接收完成并且正确*/rt_kprintf("%s %s:%d END_SLAVE_THREAD_EVENT event happens!\r\n", __FILE__,...
RT_MAIN_THREAD_STACK_SIZE 指定了 main 线程的堆栈大小 #ifdef RT_USING_USER_MAIN void rt_application_init(void); void rt_hw_board_init(void); int rtthread_startup(void); ... 1 2 3 4 5 6 7. FishSH 配置 /* Define this macro to start the use of the system FinSH debugging tool...
Thread Components */#defineRT_USING_COMPONENTS_INIT#defineRT_USING_USER_MAIN#defineRT_DEBUG_INIT 0#defineRT_USING_OVERFLOW_CHECK// #define RT_USING_HOOK// #define RT_USING_IDLE_HOOK/* Software timers Configuration */#defineRT_USING_TIMER_SOFT 0#ifRT_USING_TIMER_SOFT == 0#undefRT_USING_...
FILE***/ 5.新建touchgfx的应用例程文件 拷贝main.c的部分外设初始化代码到sample_touchgfx.c示例代码如下: 代码语言:javascript 代码运行次数:0 运行 AI代码解释 #include <rtthread.h> #include <rtdevice.h> #include <board.h> #include"app_touchgfx.h" CRC_HandleTypeDefhcrc; DMA2D_HandleTypeDef...
准备工作都已经做好了,接下来可以开始RT-Thread的移植了。 将rt-thread整个文件夹拷贝到我们的工程目录下,为了工程的精简,我们可以删掉一些我们不需要的文件。 将RT-Thread添加到我们的工程中。 添加头文件路径 移植RT-Thread,我们主要需要修改的是board.c和rtconfig.h这两个文件,board.c主要是配置系统时钟和OS_T...
编写主程序,在线程中进行led灯闪烁,main.c文件如下所示 #include"stm32f10x.h" #include"led.h" #include<rtthread.h> intmain(void) { LED_GPIO_Config(); while(1) { GPIO_ResetBits(GPIOB,GPIO_Pin_12); rt_thread_delay(1000);// 延时1000 ms ...
获取RT-Thread源代码:从RT-Thread官方网站或GitHub仓库下载RT-Thread的源代码,并熟悉其目录结构和主要功能。 2. 配置RT-Thread的BSP 启动STM32CubeMX:创建一个新的STM32H743项目,并配置必要的外设,如调试UART、时钟等。 选择并配置RT-Thread:在STM32CubeMX中,通过中间件配置选项选择RT-Thread,并进行必要的配置。