在线时间3 小时
UID3107453
注册时间2015-3-16
NXP金币0
该用户从未签到
新手上路

- 积分
- 33
- 最后登录
- 2018-8-13
|

楼主 |
发表于 2016-8-13 22:24:51
|
显示全部楼层
我是想知道 是不是i.mx28 的ROM CODE 里 对 ivt的地址 是不是有专门的要求,一定要放在 .text 和 .data 之间。
. = BASE_ADDR + 0x4000;
__hab_data = .;
__hab_data的地址应该是 0x4010
在UBOOT中,有.lds文件可以指定这些。 我不知道在WINCE下 ,怎样去指定它的链接选项,让自定义的 IVT段 放在.text 和 .data段之间?
我查了WINCE中用
#pragma section(".ivt",read,write)
__declspec(allocate(".ivt"))
struct _hab_aut input_ivt = {}
看了编译完的 map文件, 可以看到:
Preferred load address is 00010000
Start Length Name Class
0001:00000000 00000010H .astart CODE
0001:00000010 000000b4H .rdata CODE
0001:000000c4 00000021H .rdata$debug CODE
0001:000000e8 0000163cH .text CODE
0001:00001724 00000000H .edata CODE
0002:00000000 00000020H .data DATA
0002:00000020 00000028H .bss DATA
0003:00000000 00000060H .pdata DATA
0004:00000000 00000024H .ivt DATA
有了自定意的.ivt段 ,但是 地址 没法指定。
试了把ivt 和CSF放在 I.MX28的IRAM中其他的地方,始终都有 HAB EVENT 报告ERROR |
|