我试过在sct里面把一些代码的执行域放在ram里 加载域还是会在rom里 但是貌似c运行时库的scatterload只会拷贝rw段去ram里 不会拷贝代码段到ram里 不知道是不是这样的? 那是不是要自己写代码把中断的代码拷贝到ram里 然后修改向量表里的地址指向ram的代码里面 哪位大神研究过
sram接在总线矩阵上通过dcode到内核 那就是sram里面不能取指了啊
就是没戏了呗
2.要想实现分散加载,MDK中必须更改scatter文件,设置好分配域地址。如果IAR ,可以直接使用ramfunc(),或者直接修改icf文件,进行分散配置。
3.你需要看看分散加载的相关文档
评分
查看全部评分
我的f103的ram里面程序调试就没成功过 不知道为什么
mdk的分散加载你有试过么?成功的例子来看看呢
2.MDK的分散加载用的ARM的语法,明显不如IAR的语法简单,所以,后来都用的IAR改icf文件,毕竟更容易简单。这一点并不能帮助你,但是F103是肯定可以RAM运行指定程序的,这一点我可以保证(以前做过F103的软加密,某些核心程序就是在RAM指定地址执行)。
3.关于ARM 分散加载的语法,我以前看的周立功的,下面是文库连接,你如果坚持MDK,可以看看,https://wenku.baidu.com/view/e77c57f1a26925c52dc5bf55.html
4.关于F103总线结构图中,表面上SRAM没有和I-Code总线连接。其实SRAM通过总线复用器,直接可以I_BUS D_BUS访问,与总线无关。那个图,可能会误导。
好吧 我又试了一下 貌似是可以的 把程序放在单独的c文件里 然后把运行域定义在ram里 确实在跑
谢谢