RTX Tiny 在 Small memory model 时的栈溢出问题.

11 篇文章 1 订阅


今天在测试运行 RTX Tiny 系统的多任务时遇到的一个小问题.  单片机: C8051F340

发现: 定义了一个全局变量(一个字节)用于在中断里定时 3s 使用. 烧写后程序居然飞了一样, 各种操作都没有执行?

我把 static 去掉, 不行. 其实这个也不可能影响. 哈哈.....瞬间觉得自己好菜.


我又把他们注释掉. 烧进去好用了. 我擦........

然后我改了下, 中断里发送 signal 在任务里计数. 想想是不是因为中断和任务没有协调好? 还是不行. 其实这个也是蛮菜的想法. 关于调试还没有形成自己专业的思考流程. 


最后, "顿悟"了. 没错. 头脑风暴. 说个不好意思的话. 以前真心没遇到过"栈溢出"问题. 

所以, 我把这个全局变量加上了 xdata, 编译连接后 DATA 少了一个字节变成 79 Bytes. 烧进去好用了. 

基本可以确定是栈溢出的问题了. 

所以, 干脆把设置里的 Memory Model 改成 Large: XDATA. 有 4KB 呢. 足够了.

这个长知识啊. 传说中的经验??? 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值