获取程序编译后链接脚本中变量

本文详细解析了sct文件中内存段的分配情况,包括ER_IROM1、RW_IRAM1和ZI_data段的基地址、限制地址及长度,展示了如何在编译后获取这些关键信息。

sct文件:各段在内存中的分配情况,每一次编译完后

	extern unsigned int Image$$ER_IROM1$$Base;
	extern unsigned int Image$$ER_IROM1$$Limit;
	extern unsigned int Image$$ER_IROM1$$Length;   
	
	extern unsigned int Image$$RW_IRAM1$$Base;
	extern unsigned int Image$$RW_IRAM1$$Limit;
	extern unsigned int Image$$RW_IRAM1$$Length;     
	
	extern unsigned int Image$$RW_IRAM1$$ZI$$Base;
	extern unsigned int Image$$RW_IRAM1$$ZI$$Limit;
	extern unsigned int Image$$RW_IRAM1$$ZI$$Length;    
	
	
	unsigned int base,limit,length;
	base = (unsigned int )&Image$$ER_IROM1$$Base;
	limit = (unsigned int )&Image$$ER_IROM1$$Limit;
	length = (unsigned int )&Image$$ER_IROM1$$Length;
	printf("\nER_IROM1 Base = 0x%x\nER_IROM1 Limit = 0x%x\nER_IROM1 Length = %d\n",base,limit,length);
	
	base = (unsigned int )&Image$$RW_IRAM1$$Base;
	limit = (unsigned int )&Image$$RW_IRAM1$$Limit;
	length = (unsigned int )&Image$$RW_IRAM1$$Length;
	printf("\nRW_IRAM1 Base = 0x%x\nRW_IRAM1 Limit = 0x%x\nRW_IRAM1 Length = %d\n",base,limit,length);
	
	base = (unsigned int )&Image$$RW_IRAM1$$ZI$$Base;
	limit = (unsigned int )&Image$$RW_IRAM1$$ZI$$Limit;
	length = (unsigned int )&Image$$RW_IRAM1$$ZI$$Length;  
	printf("\nRW_IRAM1_ZI Base = 0x%x\nRW_IRAM1_ZI Limit = 0x%x\nRW_IRAM1_ZI Length = %d\n",base,limit,length);
Image$$ER_IROM1$$Length : CODE段和RO_data段的大小
Image$$RW_IRAM1$$Length : RW_data段的大小
Image$$RW_IRAM1$$ZI$$Length : ZI_data段的大小
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值