专家
公告
财富商城
电子网
旗下网站
首页
问题库
专栏
标签库
话题
专家
NEW
门户
发布
提问题
发文章
嵌入式
uc/OS移植到STC平台的问题?
2019-07-16 08:46
发布
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
站内问答
/
嵌入式Linux
11849
3
1057
最近学习uc/OS的过程中,准备把uc/OS V2.91 移植到STC12C5A60S2平台上!我移植裁剪之后,系统有一个小问题:
tica, Tahoma, Arial, sans-serif">
STC12C5A60S2的RAM 按道理是够的(1280字节),因为我移植后的花费RAM,只有400左右!但是有一个很奇怪的现象;就是在我用XDATA模式下编译所有的都通过,
仿真
也正常,但是烧写到
单片机
上就不能正常工作了!!但是如果我选择PDATA模式下?出现一个警告(我猜测是因为RAM超过256Byte)
:
如下图
内容是:
*** WARNING L18: SEGMENT DOES NOT FIT IN PDATA PAGE
SPACE: XDATA
SEGMENT: ?PD?OS_CPU_C
LENGTH: 0083H
但是实际上烧写到单片机里面时程序运行都正常,也就是有警告的时候(PDATA模式)反而系统跑起来了!
而且我尝试给系统添加多任务是,我最多跑到3个任务,系统正常!!但是在多跑一个任务(4个任务)时,即使在PDATA模式下系统也不能正常工作。堆栈大小我设置的是22u。但是RAM绝对没有用完啊!因为3个任务跑起来只有了400Byte左右。1280Byte按道理在这样的情况下跑七八上十个简单的任务应该没有问题吧!!
求指教!!!现在不知道是什么问题!初步判定是不是在访问RAM的时候只能访问到外部的00H-FFH(看数据手册上讲的是利用MOVX @Ri指令只能访问到外部00H到FFH)也就是内部256+外部256 = 512BYTE 。如图:
但是实际上可能是这个问题!我又做了一个简单的测试,就是增加变量;结果很奇怪:如下图,现象在结果图片中:
求大虾指点到底是怎么回事?因为我可能需要在uc/OS上跑一个系统。不是简单做个测试而已!所以希望找出问题的原因,不胜感激!!!!
下面是我移植的代码?整个系统工程,用的是Keil for 8051 V9.50版本,应该uVision4都可以吧?自己也对系统的一部分做了中文注释!也可以做供移植的爱好者参考!求帮助!!
http://pan.baidu.com/share/link?shareid=529015&uk=1191512093
谢谢!!!!
友情提示:
此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
3条回答
善良的小包子
2019-07-16 11:03
印象,如果在51上移植,栈不能按通常的办法处理,要专门做一个备份
具体的我忘了,你GOOGLE一下资料
加载中...
查看其它3个回答
一周热门
更多
>
相关问题
ARM 汇编,怎么这个export这么捣乱啊?
1 个回答
【ALIENTEK 战舰STM32开发板例程系列连载+教学】第五十八章 UCOSII实验1-任务调度
38 个回答
什么情况下会导致 自恢复保险丝 阻值出现异常?
1 个回答
【提问题,赢课程】反激开关电源设计、变压器设计及调试课程问题搜集
2 个回答
nand启动文件大于4KB,怎么解决
1 个回答
相关文章
嵌入式编译生成的HEX文件和BIN文件内容详解
0个评论
嵌入式领域,FPGA的串口通信接口设计,VHDL编程,altera平台
0个评论
IMX6UL裸机实现C语言按键输入实验
0个评论
如何编写一个工程文件夹下通用的Makefile
0个评论
Linux设备树专有名词及语法规则详解(下)
0个评论
嵌入式开发之GNU的汇编语法介绍
0个评论
嵌入式开发之Putty软件的安装和使用
0个评论
嵌入式开发之SecureCRT 软件安装和使用
0个评论
×
关闭
采纳回答
向帮助了您的知道网友说句感谢的话吧!
非常感谢!
确 认
×
关闭
编辑标签
最多设置5个标签!
嵌入式
保存
关闭
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
×
付费偷看金额在0.1-10元之间
确定
×
关闭
您已邀请
0
人回答
查看邀请
擅长该话题的人
回答过该话题的人
我关注的人
具体的我忘了,你GOOGLE一下资料
一周热门 更多>