RT-Thread内核实现(1)

本文详细介绍了RT-Thread实时操作系统中线程的创建与栈分配、线程控制块的作用,以及内存管理的原理和注意事项,包括静态与动态内存管理算法的选择。在嵌入式系统中,RT-Thread的内存管理策略对于优化系统资源至关重要,并强调了避免在中断服务例程中使用动态内存的原因。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 编写main函数

一个工程如果没有main函数是编译不成功的,会出错。因为系统在开始执行的时候先执行启动文件里面的复位程序,复位程序里面会调用C库函数__main,__main的作用是初始化好系统变量,如全局变量,只读的,可读可写的等等。__main最后会调用__rtentry,再由__rtentry调用main函数,从而由汇编跳入到C的世界。这里面的main函数就是我们自己写的。

2. 软件仿真设置

为调试方便,选择软件仿真,如下图所示:
在这里插入图片描述

注. 需要更改时钟
时钟相关文件是system_ARMCM3.c开头,有一段代码:

/*----------------------------------------------------------------------------
  Define clocks
 *----------------------------------------------------------------------------*/
#define  XTAL            ( 5000000UL)      /* Oscillator frequency */

#define  SYSTEM_CLOCK    (5U * XTAL)

因此需要更改时钟如下图所示:
在这里插入图片描述

3. 线程栈

如果有全局变量,有子函数调用,又中断发生。那么系统在运行的时候,全局变量放在哪里

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值