作者wei115 (ㄎㄎ)
看板ASM
标题[问题] 程式载入记忆体问题
时间Sun May 20 15:46:04 2018
在没有作业系统的装置上(我用的是STM32F104)
假使我的程式指令放在只读的ROM上
那我在执行时,要怎麽
把可读可写的变数和堆叠丢到RAM上?
看了一些资料,好像写连结脚本可以解决?
但想想不是阿,连结脚本只是指定哪些资料要放在ROM上,哪些资料要放在RAM上
他没有实际把资料作搬移的工作
开机时会要把函式丢到记忆体上并设定堆叠暂存器(以便函式呼叫)
并且要把可读可写的区段搬移到记忆体上
所以编译器有加入实际搬移的code?让我在我的程式执行前做好这些工作?
有没有相关资料或关键字可供参考,谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 101.138.184.87
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/ASM/M.1526802367.A.F87.html
※ 编辑: wei115 (101.138.184.87), 05/20/2018 15:47:18
1F:推 chuegou: 你是想要知道boot.s的流程吗 05/20 16:46
2F:→ chuegou: 初始化记忆体 设定堆叠 搬code这些? 05/20 16:46
3F:→ wei115: 应该是,但不像boot那麽完整(?),像是如果我写一个闪灯 05/20 17:03
4F:→ wei115: 的小程式,他的堆叠设定和变数的放置之类的 05/20 17:03
5F:→ wei115: 虽然这里是asm版,但如果可以尽量是C语言的 05/20 17:04