打印

可用的2407 cmd配置文件的疑问

[复制链接]
3200|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ainet|  楼主 | 2008-3-15 15:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这个是可用的烧写时的2407 cmd配置文件,但是有几个疑问:
1.PAGE 0: PROG: origin = 0x0060,  length 0x6000
 根据手册上所说:0040 - 0043 为密码字,用户代码从44开始,
 为什么这里要用60,不用44呢?

2.stack 160是如何定义的呢?为什么是160,而不是320呢,依据是什么


-stack 160
-o ex.out 
-m ex.map
/*Main.obj Define.obj */
-l rts2xx.lib
MEMORY
{
       PAGE 0: VECS: origin = 0x0000,  length 0x040
       PAGE 0: PROG: origin = 0x0060,  length 0x6000
       PAGE 1: B0  : origin = 0x200,   length 0x100
       PAGE 1: B1  : origin = 0x300,   length 0x100
       PAGE 1: DATA: origin = 0x0860,  length 0x700
}

SECTIONS
{
       .vectors  : {}  >VECS PAGE 0         /* 中断向量表 */
       .text     : {}  >PROG PAGE 0         /* 可执行代码和字符串 */
       .cinit    : {}  >PROG PAGE 0 
       .data     : {}  >DATA PAGE 1        /* 初始化变量和常数表 */
       .bss      : {}  >DATA PAGE 1            /* 保留全局变量和静态变量空间 */
       .const    : {}  >DATA PAGE 1            /* 字符串和switch表 */    
       .switch   : {}  >PROG PAGE 0         /* 包含.switch语句建立的表格 */
       .stack     : {}  >DATA PAGE 1         /* 为系统堆栈分配存储器 */
       .system   : {}  >DATA PAGE 1            /* 为动态存储器函数分配存储器空间 */ 

}    

相关帖子

沙发
ainet|  楼主 | 2009-5-13 09:10 | 只看该作者

我觉得应该是习惯性问题。

PAGE 0: PROG: origin = 0x0060,  length 0x6000
你也可以定义从0x0044开始,不过有的cmd文件中定义了外部中断向量从这里开始。


-stack 160
首先也要看cmd中以下定义是否足够,一般堆栈都不会定义的很大

.stack     : {}  >DATA PAGE 1         /* 为系统堆栈分配存储器 */
像你这个定义, -stack 320 也是可以的。

如果.stack定义为b0,b1,那么 -stack 320就会报错的,因为b0,b1只有256

使用特权

评论回复
板凳
jianghehupo| | 2010-1-19 22:57 | 只看该作者
1. 从44h以后任何一个地址都可以
2. 具体的堆栈大小看你的具体应用了,够用就行了。堆栈是需要频繁操作的,最后定位的DARAM

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

18

帖子

1

粉丝