[問題] 程式載入記憶體問題

作者: wei115 (ㄎㄎ)   2018-05-20 15:46:04
在沒有作業系統的裝置上(我用的是STM32F104)
假使我的程式指令放在只讀的ROM上
那我在執行時,要怎麼
把可讀可寫的變數和堆疊丟到RAM上?
看了一些資料,好像寫連結腳本可以解決?
但想想不是阿,連結腳本只是指定哪些資料要放在ROM上,哪些資料要放在RAM上
他沒有實際把資料作搬移的工作
開機時會要把函式丟到記憶體上並設定堆疊暫存器(以便函式呼叫)
並且要把可讀可寫的區段搬移到記憶體上
所以編譯器有加入實際搬移的code?讓我在我的程式執行前做好這些工作?
有沒有相關資料或關鍵字可供參考,謝謝
作者: chuegou (chuegou)   2018-05-20 16:46:00
你是想要知道boot.s的流程嗎初始化記憶體 設定堆疊 搬code這些?
作者: wei115 (ㄎㄎ)   2018-05-20 17:03:00
應該是,但不像boot那麼完整(?),像是如果我寫一個閃燈的小程式,他的堆疊設定和變數的放置之類的雖然這裡是asm版,但如果可以盡量是C語言的

Links booklink

Contact Us: admin [ a t ] ucptt.com