• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

bootstrap时向量设置问题

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

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 感谢邀答。


    方法二、将较低中断的实时性,程序效率降低,

    方法一,可以试试。可能有问题。

    • 发布于 2017-02-17
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:2
  • 比較推薦第二種,改應用程序的作法比較可靠,但其實您可以修改RAM/IRAM的起始位址

    算好相對的大小值即可,然後不要Overlap


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

    以上供參考

    • 发布于2017-02-17
    • 举报
    • 评论 0
    • 0
    • 0

  • 第一种方案:工作量很大,但是理论上可行,这种方法是自己去改厂家的配置,到时查BUG排错很麻烦。

    第二种方案:实时性降低,但是相比起第一种明显第二种更好,推荐用第二种


    • 发布于2017-02-18
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

bootstrap时向量设置问题