移植UCOS-II时堆栈增长方向的疑问?

[复制链接]
5227|2
 楼主| 499734424 发表于 2011-10-29 16:38 | 显示全部楼层 |阅读模式
在文件OS_CPU.H
中,通过定义#define  OS_STK_GROWTH  的值来确定栈增长方向。

但是问题来了
参考网上大家移植到AVR单片机时,写的是
#define  OS_STK_GROWTH      1
然后看任哲老师编剧的《嵌入式实时操作系统UCOS-II原理及其应用》(第2版)
P207——在51单片机上移植写的也是
#define  OS_STK_GROWTH      1

但是AVR的堆栈是向下增长
51单片机的堆栈是 向上增长

定义的值怎么会一样呢?
airwill 发表于 2011-10-29 18:33 | 显示全部楼层
如果堆栈从内存高地址向低地址方向增长, 常量 OS_STK_GROWTH 应设为 1, 这在 OS 里是很明确的

51单片机的堆栈是 向上增长的,不应该设为1。
但是 由于 51 内部的RAM 太小, ucos51 使用外部 xdata 模拟 stack。采用向下方式处理任务栈。
所以, OS_STK_GROWTH   应该为   1
 楼主| 499734424 发表于 2011-11-18 18:52 | 显示全部楼层

然来如此
都忘了结贴了:dizzy:
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:开始学习中~

5

主题

434

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部