一、段(.switch .pinit .cinit .const .econst)这些段在哪儿有定义? 在rts2800.lib里面的,看MAP文件可以查到。如果你不调用这个库的话你需要自己定义。在你写代码或是初始化数据的时候,你不是特别指明哪个段的话,会放到默认段里面。这些段和默认段没有本质的区别,只是为了防止有人写程序时,忘记或是不习惯用伪指令,将代码或是数据放在指定的段中。 二、低地址是指低64K(0x0000~0xffff),主要是为了方便28x与24x兼容。 三、.reset是已初始化代码,是CPU上电复位时的复位中断向量,它是32位的,存放的是复位中断服务程序的入口地址。如果使用内部BROM启动,不用在CMD中给其定义,其容已经固化在芯片内部,其内容是0x3ff000,指向的BOOT ROM的起始地址;如果使用XINTF Zone7则需要在CMD中将定位,如果有特殊要求,用户还可以将其中的中断向量改到其他地址。 这是我个人理解,也许有些地方有偏差,希望大家批评指正
|