Re: [問題] 程式載入記憶體問題
※ 引述《wei115 (ㄎㄎ)》之銘言:
: 在沒有作業系統的裝置上(我用的是STM32F104)
: 假使我的程式指令放在只讀的ROM上
: 那我在執行時,要怎麼
: 把可讀可寫的變數和堆疊丟到RAM上?
: 看了一些資料,好像寫連結腳本可以解決?
: 但想想不是阿,連結腳本只是指定哪些資料要放在ROM上,哪些資料要放在RAM上
: 他沒有實際把資料作搬移的工作
: 開機時會要把函式丟到記憶體上並設定堆疊暫存器(以便函式呼叫)
: 並且要把可讀可寫的區段搬移到記憶體上
: 所以編譯器有加入實際搬移的code?讓我在我的程式執行前做好這些工作?
: 有沒有相關資料或關鍵字可供參考,謝謝
如果你是用 Keil C,他會把 scatter loader 連結到你的程式中,
boot 後 .sct 怎麼排他就怎麼搬。
10年前我寫 ARM7 時,還得自己寫一小段組語處理以下區段:
Image$$RW, Image$$ZI
這兩個區段就是 global variables, static variables
現在其實還是有人手動處理,尤其是那些自己開IC的
如果你想 DIY,可以參考下面這篇文章
http://wiki.csie.ncku.edu.tw/embedded/Lab19/stm32-prog.pdf
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.77.42.66
※ 文章網址: https://www.ptt.cc/bbs/ASM/M.1526880937.A.944.html
推
05/21 14:10,
6年前
, 1F
05/21 14:10, 1F
→
05/21 14:10,
6年前
, 2F
05/21 14:10, 2F
→
05/21 14:27,
6年前
, 3F
05/21 14:27, 3F
→
05/21 14:27,
6年前
, 4F
05/21 14:27, 4F
→
05/21 14:28,
6年前
, 5F
05/21 14:28, 5F
推
05/21 19:07,
6年前
, 6F
05/21 19:07, 6F
→
05/21 19:07,
6年前
, 7F
05/21 19:07, 7F
→
05/21 19:10,
6年前
, 8F
05/21 19:10, 8F
→
05/21 19:10,
6年前
, 9F
05/21 19:10, 9F
推
05/21 19:39,
6年前
, 10F
05/21 19:39, 10F
→
05/21 19:39,
6年前
, 11F
05/21 19:39, 11F
→
05/21 19:39,
6年前
, 12F
05/21 19:39, 12F
→
05/22 12:14,
6年前
, 13F
05/22 12:14, 13F
→
05/22 12:15,
6年前
, 14F
05/22 12:15, 14F
→
05/22 12:22,
6年前
, 15F
05/22 12:22, 15F
→
05/23 01:08,
6年前
, 16F
05/23 01:08, 16F
→
05/23 01:08,
6年前
, 17F
05/23 01:08, 17F
→
05/23 01:08,
6年前
, 18F
05/23 01:08, 18F
→
05/23 01:08,
6年前
, 19F
05/23 01:08, 19F
→
05/23 16:12,
6年前
, 20F
05/23 16:12, 20F
→
05/23 16:12,
6年前
, 21F
05/23 16:12, 21F
→
05/23 16:13,
6年前
, 22F
05/23 16:13, 22F
→
05/23 16:13,
6年前
, 23F
05/23 16:13, 23F
→
05/23 16:15,
6年前
, 24F
05/23 16:15, 24F
→
05/23 16:15,
6年前
, 25F
05/23 16:15, 25F
討論串 (同標題文章)
ASM 近期熱門文章
PTT數位生活區 即時熱門文章