新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > Redboot修改實例

Redboot修改實例

作者: 時間:2012-07-25 來源:網(wǎng)絡 收藏

l) write (16'h00Fb, 16'h4444);

m) write (16'h00Fc, 16'h3333);

n) write (16'h00Fd, 16'h2222);

o) write (16'h00Fe, 16'h1111);

p) write (16'h00Ff, 16'h0000);

以上16條命令將16個16bit的數(shù)據(jù)分別存入cpu_buffer的地址0xF0~0xFF。

q) write (16'hf002, 16'h3c3f);

r) write (16'hf001, 16'hffff);

以上兩條命令將CPU_BUFFER_OFFSET設為0xF0,將SDRAM_ADDR (SDRAM_ADDR_H, SDRAM_ADDR_L)設置為0x3FFFFF。

s) write (16'hf000, 16'h0073);

將CPU_BURST_LENGTH設置為7(實際寫入為8),CPU_RW為“1”表示當前操作為寫SDRAM,ACT為“1”表示立即啟動當前操作。

t) read (16'hf000);

讀取CONTROL_REG的數(shù)值,當ACT為“0”時,表示之前存入cpu_buffer 0xF0~0xFF的16個16bit的數(shù)據(jù),已經(jīng)被寫入SDRAM中起始地址為“0x3FFFFF”的連續(xù)的8個地址中(SDRAM的數(shù)據(jù)寬度為32bit)。

main.c的

這一部分的主要目的是為了提供三條控制臺命令“autoconfig”“update”“autoexec”。

增加命令

RedBoot_cmd(autoconfig,

autoconfig

,

do_autoconfig);

RedBoot_cmd(update

update,

,

do_update);

RedBoot_cmd(autoexec,

autoExec,

,

do_autoexec);

增加函數(shù):

void do_autoconfig(int argc, char *argv[])

void do_update(int argc, char *argv[])

void do_autoexec(int argc, char *argv[])

增加全局變量

configFlag

updateFlag

execFlag

函數(shù)do_autoconfig()的主要內容

1. 設置configFlag為True

2. 調用fconfig –i

3. set Run script. at boot is false

4. set Use BOOTP for network configuration: false

5. set Gateway IP address

6. set Local IP address

7. set Local IP address mask

8. Default server IP address

9. set DNS server IP address

10. eth0 network hardware address

11. set GDB connection port

12. 設置configFlag為Flash

函數(shù)do_update()的主要內容

1. 設置updateFlag為True

2. 調用fconfig -i

3. 初始化Flash

4. 更新zimage 到 /dev/mtdblock2

5. 更新root 到 /dev/mtdblock2

6. 更新usr 到 /dev/mtdblock2

7. 更新config 到 /dev/mtdblock2

8. 更新chip 到 /dev/mtdblock2

9. 更新logo 到 /dev/mtdblock2

10. 設置updateFlag為Flash

函數(shù)do_autoexec()的主要內容

1. 設置execFlag為True

2. 調用fconfig -i

3. set Run script. at boot is true

4. set Use BOOTP for network configuration: false

5. set Gateway IP address

6. set Local IP address

7. set Local IP address mask

8. Default server IP address

9. set DNS server IP address

10. eth0 network hardware address

11. set GDB connection port

12. 設置execFlag為Flash

完成以上工作后,再對flash.c,io.c進行相關便可生成redboot可執(zhí)行文件。注意,編譯代碼時最好使用arm-elf-gcc。


上一頁 1 2 下一頁

關鍵詞: 實例 修改 Redboot

評論


相關推薦

技術專區(qū)

關閉