嵌入式学习小组
直播中

王波

7年用户 270经验值
私信 关注

bootstrap时向量怎么设置?

大牛们问题是这样的,我用bootstrap加载应用程序,bootstrap里面有中断向量表放在iram的首地址,而我的应用程序原来是直接在sdram中调试运行的,中断向量表也放在iram首地址中,可用IAR生成的bin文件有500多M,后来发现是用icf配置的时候,地址范围从0x300000到0x20000000都包含了进来,现在的问题我想解决有几种方法:
一种:把应用程序的中断向量表去掉,修改bootstrap中的中断向量表,而这样需要添加许多函数到bootstrap中。应用程序中将不再有中断向量表和中断处理函数的设置.这样地址范围就不用这么大了,直接从0x20000000开始.
二种:在应用程序改变分配地址空间,把中断向量表和中断向量处理函数都放在sdram的首地址,用地址重映射sdram的首地址为0,这样将不用修改bootstrap。二种方法可行不?

回帖(2)

刘飞

2020-6-17 17:03:41
邀请回答

比較推薦第二種,改應用程序的作法比較可靠,但其實您可以修改RAM/IRAM的起始位址
算好相對的大小值即可,然後不要Overlap


這樣編譯器會把向量表放在合適的位址,例如RAM1: 0x2000A000開始~XXX (size)

以上供參考
举报

成尔秩

2020-6-17 17:13:09
邀请回答

第一种方案:工作量很大,但是理论上可行,这种方法是自己去改厂家的配置,到时查BUG排错很麻烦。
第二种方案:实时性降低,但是相比起第一种明显第二种更好,推荐用第二种
举报

更多回帖

发帖
×
20
完善资料,
赚取积分