簡體   English   中英

引導程序或uboot如何加載應用程序以運行

[英]How bootloader or uboot load application to run

Mini2440或S3C2440 ARM9板載ARM處理器,當從NOR閃存啟動時,可以直接從NOR閃存運行,該閃存加載一個名為“ super vivi”的小型啟動加載程序,並提供“下載並運行”選項。

我嘗試編譯一個閃光燈LED C程序和相關的匯編代碼以加載C主要功能。

編譯后,我創建了一個bin文件,將其加載到supervivi。

鏈接腳本為:

ENTRY(_start)
SECTIONS
{
   . = 0x30000000;
   /* code and constants */
   .text :{
      *(.text)
   }  
   . = ALIGN(32);
   .data :{
      *(.data)
   }
   . = ALIGN(32);
   .bss :{
      *(.bss)
   }
}

我的問題是如何分配內存,supervivi(bootloader)從0x0000000開始,我的LED閃存程序從0x30000000開始,這是正確的嗎?

supervivi將具有一些數據或堆棧,它們位於何處?

如果我的鏈接腳本從“。= 0x30000000;”更改為 到“。= 0x0;”,會發生什么?

我的應用程序能否讀取NAND閃存並將其復制到RAM,例如從內核存儲位置0x60000讀取,並從RAM運行內核? 如果可以,應該在哪里使用RAM位置?

抱歉,有太多問題,我想它們是相關的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM