2. 但是 uart 设备可能用到动态申请内存,这样就必然要求 `rt_system_heap_init` 先于 `rt_hw_usart_init` 。 3. 初始化系统时钟、倍频 cpu 时钟、 `rt_hw_systick_init`、 `rt_system_heap_init`、 `rt_hw_usart_init` 。也只能这样了,前边几步的串口打印需求就忽略了吧,`rt_system_heap_init`->...
+ (rt_ubase_t)thread->stack_size) { rt_base_t level; rt_kprintf("thread:%s stack overflow\n", thread->name); (2) level = rt_hw_interrupt_disable(); while (level); } } void rt_schedule(void) { rt_base_t level; struct rt_thread *to_thread; struct rt_thread *from_thread; ...
在这里 $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-Thread的移植了。 将rt-thread整个文件夹拷贝到我们的工程目录下,为了工程的精简,我们可以删掉一些我们不需要的文件。 将RT-Thread添加到我们的工程中。 添加头文件路径 移植RT-Thread,我们主要需要修改的是board.c和rtconfig.h这两个文件,board.c主要是配置系统时钟和OS_T...
通过RT-thread的内核事件信号,实现中断通知线程完成串口发送或接收操作。 5、先做从机程序,在做主机程序,借助从机调主机程序代码。 6、本例使用的是STM32G070RB,串口1供 rt_kprintf()使用。 7、本例演示插图使用串口4通过USB转串口模块与PC机连接,在PC机上使用串口调试助手。MCU作为从机使用。
打开的方式比较简单,只需要在rtconfig.h文件中取消RT_USING_HEAP宏的注释即可 在次编译,这次编译即便会发现没有错误了,其中的警告我们先忽视。 编写主程序,在线程中进行led灯闪烁,main.c文件如下所示 #include"stm32f10x.h" #include"led.h" #include<rtthread.h> ...
RT-Thread 官方推出了 STM32 系列单片机的通用 bootloader, 在其网站可以通过网页配置就可以生成 bootloader 的烧录文件,使广大嵌入式工程师不用编写一行代码,就能够轻松完成自己产品的 bootloader 功能。但是由于 RTT 官方的 bootloader 软件 RT-OTA 是商用性质,不公开源码,不仅仅限制了在其他平台的移植,而且也不方便...
3.6 RT-Thread内核配置示例 RT-Thread的一个重要特性是高度可裁剪性,支持对内核进行精细调整,对组件进行灵活拆卸。其配置主要通过修改工程目录下的rtconfig.h文件来进行,用户可以通过打开/关闭该文件中的宏定义来对代码进行条件编译,最终达到系统配置和裁剪的目的,如下所示。
RT_USING_OVERFLOW_CHECK #define RT_USING_HOOK #define RT_USING_IDLE_HOOK #define RT_IDLE_HOOK_LIST_SIZE 4 #define IDLE_THREAD_STACK_SIZE 256 #define RT_DEBUG //DEBUG相关还可以再优化掉 #define RT_DEBUG_COLOR //DEBUG相关还可以再优化掉 /* Inter-Thread communication */ #define RT_USING_...