mirror of
https://gitee.com/cosyos/cosyos.git
synced 2026-02-06 11:51:38 +08:00
13
开发流程.md
13
开发流程.md
@@ -118,16 +118,13 @@ MCU配置分为用户定义和系统定义,用户定义是需要用户配置
|
||||
#### 栈(STACK)
|
||||
所有内核,栈需要用户自行在启动文件中配置。<br>
|
||||
#### 堆(HEAP)
|
||||
Arm内核,堆需要用户自行在启动文件中配置,即使您不使用动态内存分配(任务和消息队列均为静态创建、任务中也不使用动态内存分配),也必须配置足够的堆,因为在任务调度开始之前,PSP指向了堆极限(&__heap_limit)。<br>
|
||||
Arm内核,堆需要用户自行在启动文件中配置。<br>
|
||||
8051内核、80251内核,没有堆的概念,与之相应的是内存池,用户需在MCU配置文件中配置。<br>
|
||||
#### 可重入栈(reentrant stack)
|
||||
CosyOS使用可重入栈的系统服务:<br>
|
||||
1、中断中接收邮件,iRecvMail(mail, mbox);<br>
|
||||
2、中断中接收消息,iRecvMsg(que);<br>
|
||||
CosyOS仅有上述两个服务需要使用可重入栈(不包括51)。对于其它服务,无论各种内核都不需要可重入栈。<br>
|
||||
1、8051内核,不允许使用可重入栈[IBP/PBP/XBP]。中断中接收消息,只允许在相同优先级的各个中断中调用。<br>
|
||||
2、80251内核,可重入栈被编译器自动分配到栈中,用户无需额外配置。<br>
|
||||
3、Arm内核,栈就是可重入栈,用户无需额外配置。<br>
|
||||
1、Arm内核,栈就是可重入栈,用户无需理会。<br>
|
||||
2、80251内核,只有中断同步服务“接收邮件”需要使用可重入栈,且系统已经配置好了,用户无需理会。<br>
|
||||
3、8051内核,所有系统服务均不使用可重入栈[IBP/PBP/XBP]。<br>
|
||||
|
||||
|
||||
### 链接文件<br>
|
||||
用户在自己的各个C文件中需包含系统链接头文件os_link.h。<br>
|
||||
|
||||
Reference in New Issue
Block a user