realview的start過程比較

2021-06-16 18:01:16 字數 520 閱讀 4118

在使用lpc1768的過程中,看到realview和周立功的**有很大的不同。

周立功的**中,開始還真看不出是怎麼安排向量表在0位址的。直到有一次努力看這個地方時,把不相關的**一點點刪去,編譯時給出錯誤,提示到inchip.sct檔案,開啟一看,如下,加了幾行注釋:

rom_load 0x00000000//載入區從0開始

rom_exec +0

sram 0x10000000

heap +0 uninit

}原來如此,就是所有**都是c的或者是可重定位的,在這個檔案裡面做位址安排,把vector安排在前面0位址處。就完事了。當然要在link中的scatter file指明.\cfg_file\startup\inchip.sct,但是下面的entry _main還有用嗎?

keil原來的方式是標準的c方式,從startup.s開始,裡面用組合語言制定絕對位址,看上去很明確,安排好頭尾,把控制權交給main。

上傳兩個簡單的程式把這個過程示例清楚。兩個gpio的簡單程式。微控制器是lpc1768的。

RealView 編譯工具的幾個特殊命令函式

realview的工具說明 需要用到的指令細節可以從這裡查詢。此處的介紹是讀出當前sp數值,即sp指標的內容。此內在函式返回程式中當前位置的堆疊指標值。語法unsigned int current sp void 返回值 current sp內在函式返回程式中使用該內在函式的位置處的堆疊指標的當前值...

執行緒的run 和start )

1.run 執行狀態方法 run 方法 在本執行緒內呼叫該runnable物件的run 方法,可以重複多次呼叫 2.start 啟動乙個執行緒 就緒 start 方法 啟動乙個執行緒,呼叫該runnable物件的run 方法,不能多次啟動乙個執行緒 public class runtest catc...

springboot配置自己的starter

springboot官方的啟動器格式都是 spring boot starter 自定義啟動器格式應為 spring boot starter 在啟動器模組中新增自動配置模組的依賴 引入自動配置模組 com.sprinboot groupid mystart spring boot start au...