1、rvds編譯選項中的ro base、rw base、entry point有何作用?
arm映象檔案分為ro(唯讀)、rw(讀寫)和zi(零初始化)三個部分。這三個部分的位址又分為兩種,載入時位址和執行時位址。編譯選項中的ro、rw確定了映像檔案由flash載入到記憶體中各部分的起始位址,即執行時位址。對於s3c6410而言,在映象檔案小於8kb時,沒有設定這些位址的必要。但是當映象檔案大於8kb時,就需要分配各部分的位址。entry point指定了映象檔案的入口點的位址。每個映象檔案都有且只有乙個入口點,通常都是將該入口點設定為0。
2、rvds中如何設定堆疊?
這個問題還沒有搞懂。在測試流水燈的程式中,通過彙編呼叫c之前沒有設定堆疊,**也能正常執行,猜測是編譯器自己設定了堆疊。但總不能讓編譯器隨便設定堆疊的位址吧?今後找個機會搞懂。
3、6410啟動時為什麼會把nand flash中的前8k複製到記憶體中?
4、6410啟動時為什麼要將外設位址告訴cpu?
這個問題猜測是因為uboot占用了0x50000000到0x50007fff這段位址,具體原因還不清楚。等研究了uboot之後再弄明白。
嵌入式開發中遇到的幾個問題(一)
以下遇到的問題,開發環境都是基於s3c2440 1 在start.s檔案中,用彙編寫初始化程式時,為什麼加死迴圈?假設程式只有十幾位元組,那麼把bin檔案燒到nor或者nand中,那這十幾位元組之後的內容,是不確定的,所以只能死迴圈,所以只能死迴圈,否則後果無法預料。2 ldr r0,0x12345...
vuex初學者會遇到的幾個問題總結
不學還真不行,不學就無法實現兄弟元件間資料訪問學了之後能夠把私有資料公有化,公有化之後所有的元件都能夠訪問這部分資料這就是vuex的作用管理共享資料 簡單來說,就是管理共享資料,而且能夠實時更新 作為乙個初學者,學到這幾個單詞會有點迷糊,傻傻分不太清楚如何去使用他們,接下來用 來演示 import ...
嵌入式核心初學習
要學習arm linux核心,得先移植到開發板上去執行了,才有興趣進行下一步的研究。人就是這樣,沒先看到現象就不太願意去詳細學習。一 接下來就得移植arm linux核心到開發板,移植過程一般有三種方式 1 直接在解壓後的核心資料夾 linux不是這樣叫的,我為了好理解 中,使用 make menu...