导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→发表看法:[guest]各位高手快進來看一下



No.52077
作者:guest
邮件:guest@guest.com
ID:6
登陆:16560次
文章数:7648篇
最后登陆IP:219.68.9.43
最后登陆:2005/5/20 1:37:44
注册:2003/3/10 16:21:00
财富:35062
发帖时间:2004/4/6 8:58:51
发贴者IP:61.30.106.99
标题:guest:各位高手快進來看一下
摘要:No.52077各位高手快進來看一下 我采用AT89C52 用C51編寫一個控制系統軟件,經過KEIL C51編譯過後,實際運行中出現程序跑飛的現象,因為我的系統是逐步增加功能的方式進行調試,每增加一個功能就不斷反復驗證直到OK后,才加入下一功能,但發現後來隨程序不斷的增加,就出現一些怪現象,甚至CPU無法正常復位跑程序,因為程序從理論上是通過的,所以直接懷疑經KEIL C51編譯后出現自動編排的碓棧空間不足造成程序跑飛,分析產生的M51文件,發現很奇怪為什麼 STACK 放在idata 區的0x66,而且從直接跟在前面的data變量後面,所以只有26字節空間,采用軟件仿真有時可看到sp_max:0x7c,所以很容易造成STACK不足,請教各位KEIL C51高手,怎樣才能人為地將STACK放在idata區的ox20
請看下面M51文件的變量分配空間:
 * * * * * * *   D A T A   M E M O R Y   * * * * * * *
            REG     0000H     0008H     ABSOLUTE     "REG BANK 0"
            DATA    0008H     0016H     UNIT         ?DT?MAINLOOP
                    001EH     0002H                  *** GAP ***
            DATA    0020H     0006H     BIT_ADDR     ?BA?IRQ
            DATA    0026H  ......

>>返回讨论的主题


  发表回复
用户名   *您没有注册?
密码   *
验证码   * .
标题   *
心情
随便说说    我回答你    最新发现    得意的笑   
气死我了    真是没劲    坚决同意    表示反对   
大家过来    好奇怪哟    懒得理它    大家小心   
文件上传
内容


字体:      字体大小:    颜色:
粗体 斜体 下划线 居中 超级连接 Email连接 图片 Flash图片 Shockwave文件 realplay视频文件 Media Player视频文件 QuickTime视频文件 引用 飞行字 移动字 发光字 阴影字 查看更多的心情图标 背景音乐
点击加入表情
                         
选项
有回复时用短消息通知您?

   




老古网执行:16毫秒 最大:78531毫秒 查询6次