系統移植 核心移植

2021-07-11 12:22:25 字數 1711 閱讀 3387

irom–soc->samsung固化的位址

iram–soc–>256k

dram–>片上外設–記憶體

norflash –> 讀快 –>啟動u-boot

noneflash –> 寫快 –> 啟動u-boot

emmc–> 包括noneflash和讀寫noneflash的控制器

sdmmc –> sd卡

bl1 bl2

1. irom(片內外設)唯讀的儲存器,載入bl1的映象,檢查bl1映象的完整性,解碼bl1(bl1加密的)

2. pc的位址指向bl1 bl1檢查bl2的映象的完整性

如果bl1效驗bl2的映象成功,跳轉到bl2

3. 為了檢查bl1映象和bl2映象的完整性,irom**為bl1和bl2提供庫函式

irom啟動**

1. irom提供最基本的執行環境

2. irom會從啟動裝置讀取bl1

3. irom檢查bl1映象的完整性

irom(bl0)作用

1. 關閉看門狗

2. 關中斷和關mmu

3. 關閉 d-cache 關i-cache

4. flush tlb』s and inalidate caches

5. 啟動bl1,檢查bl1映象的完整性

bl2的作用

1. 拷貝bl3到dram中的完整性,檢查bl2映象的完整性

2. 初始化時鐘,初始化dram,

uboot-fs4412.bin 包括 bl1 bl2 uboot.bin trustzone

1. 對sd卡進行分割槽 --> 把sd卡的每個block清0,然後向第二個block寫入uboot-fs4412.bin

2. 對sd卡的block清0 --> sudo dd if=dev/zero -n 指定清空大小 of=/dev/sdb

sudo hexdump 檔名 -n

**### u-boot啟動流程**

`arch/arm/cpu/armv7/start.s`

1. 初始化異常向量表

2. 設定svc模式,關中斷

3. 關mmu

4. 時鐘的初始化

5. 記憶體的初始化

6. 串列埠的初始化

7. 拷貝uboot發哦ram中執行

8. bss段的初始化

> 說明 uboot的第一階段已經執行結束(彙編),跳轉到第二階段(c**)

### 核心

移植核心

sudo apt-get install libncurses5-dev

sudo apt-get install uboot-mkimage

1. 清楚編譯 --> make mrproper

2. 新增交叉編譯器 --> vi makefile --\*197

3. 拷貝預設的配置選項 --> cp arch/arm/configs/exynos_defconfig .config

4. 開啟配置選單 --> make menuconfig

5. 編譯 --> make uimage -j8

嵌入式系統移植筆記(六) 核心移植

首先將在ubuntu環境中,新增交叉編譯工具到path變數,永久有效。root linux linux 3.14 fs4412 vim etc bash.bashrc export path home linux soft gcc 4.6.4 bin path home linux soft 是工具...

系統移植 檔案系統移植

設定驅動選項 解壓原始碼 tar xvf busybox 1.22.1.tar.bz2 進入原始碼目錄配置原始碼 make menuconfig busybox settings build options build busybox as a static binary no shared lib...

linux核心移植

1.基本開發環境 u boot版本 u boot 2012.04.01 假設u boot已經移植好 linux平台 虛擬機器下ubuntu 14.04 交叉編譯工具 gcc 4.4.3 arm開發板 mini2440 cpu s3c2440 sdram 64m,nor flash 2m,nand f...