共2条
1/1 1 跳转至页
zlgARM,51,Small,RTOS 希望zlgARM 能解答我的关于51 Small RTOS 堆栈的问题~
问
使用的是small_rtos1.12.1版本,ASM 文件的堆栈处理函数OS_CPU_A_ASM 中
有以下的这一段代码对OSNextTaskID 和 OSTaskID 分情况讨论而进入不同的处
理,而赋值temp = OSTsakStackBotton[OSTaskID] - (uint8 idata *)SP-1;
在这里面的作用是什么??而且其他相关代码所起的作用又是什么??
cp1 = (uint8 idata *)SP +1;
temp = (uint8 )OSTsakStackBotton[OSNextTaskID+1];
cp2 = OSTsakStackBotton[OSTaskID+1];
if( OSNextTaskID > OSTaskID)
{
while(cp2 != (uint8 idata *)temp)
{
*cp1++ = *cp2++;
}
OSNextTaskID++;
OSTaskID++;
temp = OSTsakStackBotton[OSTaskID] - (uint8 idata *)SP-1;
SP = (uint8 )cp1 - 1;
for(i = OSTaskID;i < OSNextTaskID; i++)
{
OSTsakStackBotton[i] -= temp;
}
OSNextTaskID--;
OSTaskID = OSNextTaskID;
LoadCtx();
}
答 1: small_rtos51的堆栈结构类似RTX Tiny,可以结合它的文档看,或参考《嵌入式实时操作系统Small RTOS51原理及应用》
使用的是small_rtos1.12.1版本,ASM 文件的堆栈处理函数OS_CPU_A_ASM 中
有以下的这一段代码对OSNextTaskID 和 OSTaskID 分情况讨论而进入不同的处
理,而赋值temp = OSTsakStackBotton[OSTaskID] - (uint8 idata *)SP-1;
在这里面的作用是什么??而且其他相关代码所起的作用又是什么??
cp1 = (uint8 idata *)SP +1;
temp = (uint8 )OSTsakStackBotton[OSNextTaskID+1];
cp2 = OSTsakStackBotton[OSTaskID+1];
if( OSNextTaskID > OSTaskID)
{
while(cp2 != (uint8 idata *)temp)
{
*cp1++ = *cp2++;
}
OSNextTaskID++;
OSTaskID++;
temp = OSTsakStackBotton[OSTaskID] - (uint8 idata *)SP-1;
SP = (uint8 )cp1 - 1;
for(i = OSTaskID;i < OSNextTaskID; i++)
{
OSTsakStackBotton[i] -= temp;
}
OSNextTaskID--;
OSTaskID = OSNextTaskID;
LoadCtx();
}
答 1: small_rtos51的堆栈结构类似RTX Tiny,可以结合它的文档看,或参考《嵌入式实时操作系统Small RTOS51原理及应用》
共2条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
【有奖活动】智能可穿戴设备AR/VR如何引领科技新潮流! | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
【有奖活动】震撼来袭!这场直播将直击工程师的心灵! |
打赏帖 | |
---|---|
如何实现基于NXPiMX.RT1021的BH1730采集被打赏50分 | |
玩转“DFRobot盖革计数器模块”准备工作认识模块知识分享被打赏30分 | |
【换取手持数字示波器】AHT10温度检测分享被打赏40分 | |
【换取手持数字示波器】ACM32F070开发板点亮LCD屏和触控按键,串口,ADC被打赏40分 | |
【换取手持数字示波器】ACM32F070LCD屏和触控按键功驱动蜂鸣器分享被打赏40分 | |
【换取手持数字示波器】国民技术PWM功能知识分享被打赏40分 | |
【换取手持数字示波器】放大器运放知识分享被打赏40分 | |
【分享评测,赢取加热台】+开关电源AC输入知识分享被打赏30分 | |
【换取手持数字示波器】N32G430点亮数码管与串口打印、ADC被打赏40分 | |
老胖子聊电路--分析一个反馈电路被打赏50分 |