?? cliff_change.txt
字號:
首先,當然是把前面的中斷向量改掉
也就是 44binit.s 95 - 101 行
變成什么呢,就是 ldr pc, =0x0c0000??
然后,之所以我們的 BIOS 不能直接運行 uClinux 其實就是波特率的問題
要解決波特率。
先想到的當然是 Main.c 22行
改成 57600,編譯……結果不行!
然后我想到,我們的 uClinux 是配置為 ARMCLK = 60MHz 的
而我們的 BIOS 是運行在 64MHz 的。因此盡管波特率一樣,但是 MCLK 變了的話……那就不對了
所以,把我們的 BIOS 也改成 運行在 60MHz
具體做法:
INC/Option.inc line 18 20
PLLCLK 64000000 --> 60000000
INC/Option.h line 8
MCKK_D 64000000 --> 60000000
后面 38行開始添加一段
#elif (MCLK_D==60000000)
#define PLL_M (52)
#define PLL_P (6)
#define PLL_S (0)
SRC/Main.c line 146
MCLK_M = 52; MCLK_P = 6; MCLK_S = 0;
(原來是 58 (58+8)=64M , 后面是 2/1 但是 44B 數據手冊說 1M <= Fin/p < 2M,原來我們的是正好 2M,我就改成 1M
由于 MCLK 變成 60M,修改 REFCNT
MX Flash 的問題
見 Flash.c 扇區大小配置不對
BIOS 原來是配置為 8M SDRAM 的,現在換成了 16M
那么,在 INC/Memcfg.inc 也要做相應的修改
原來 8MB (4Mx16bit) 的 SDRAM 的 Column Address 是 8bit 的
現在的 16MB (8Mx16bit) 的 SDRAM 的 Column Address 是 9bit 的
所以在 Memcfg 中,查找 B6_SCAN ,B7_SCAN
原來是 0 (8bit)
現在要變成 1 (9bit)
合并了各種 Flash 的操作,自動檢測 SST39LF160, MX29LV160T, MX29LV160B
合并了 SDRAM 大小的配置,自動檢測 8M / 16M
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -