?? arm入門筆記 by mamajinco.txt
字號:
2)/include/configs
cp B2.h TT.h依舊是把B2的改個名
注意:DAVE的板子是用44B0的,但還有其他板子用嗎?怎么確定只有它用?用以下命令
到board目錄查了一下:
#cd u-boot
#cd board
#find . -exec grep -l 44B0 {} \;
結果是:
./dave/B2/B2.c
B2網站是: http://www.dave-tech.it
3)以下文件修改記錄
----------------------------------------------------------------------------------------------------
-----------------------------------/include/configs/TT.h-------------------------------------------
----------------------------------------------------------------------------------------------------
#define CONFIG_INIT_CRITICAL 1 這個在cpu/s3c44b0/start.S里面用到,如果你的u-boot程序不是在sdram中調試而是固化到flash中運行的話,這個必不可少。
找到 #define CONFIG_B2 1 改成CONFIG_TT
找到 #define CONFIG_S3C44B0_CLOCK_SPEED 75 主頻改成60
找到Size of malloc() pool這部分設置,改成這樣。
#define CFG_MONITOR_LEN (256 * 1024) /* Reserve 256 kB for Monitor */
#define CFG_ENV_SIZE (64*1024) /* 1024 bytes may be used for env vars*/
#define CFG_MALLOC_LEN (CFG_ENV_SIZE + 128*1024 )
#define CFG_GBL_DATA_SIZE 128 /* size in bytes reserved for initial data */
#define CFG_ENV_IS_IN_FLASH 1 這個必不可少,如果你想把你的參數保存到flash的話
#define CFG_ENV_ADDR (PHYS_FLASH_1+0x40000) 這個就是你的參數保存在flash里的起始地址了
#define CFG_ENV_OFFSET 0x40000 這個我后來看它源程序發現如果你上一步沒有設置它的起始地址的話就會用它來作默認地址的了
#define CONFIG_AUTO_COMPLETE
其它地方沒有深究哦,有些好像不要也行,你就試試吧。
找到Hardware drivers部分,這應該是網絡芯片設置吧,參考一下這個吧(要看芯片的):
#define CONFIG_DRIVER_RTL8019 這個就要看你的板上用的是什么網卡了(這個是臺灣出的,有10M)
#define RTL8019_BASE 0x06000300 這個是網卡相就寄存器的起始地址,有的掛在BANK4上了地址自然是0X08000300
以下部分我試過不要也行,你試下吧
#define RTL8019_BUS32 0
#define CONFIG_SMC_USE_16_BIT
#undef CONFIG_SHOW_ACTIVITY
#define CONFIG_NET_RETRY_COUNT 10 應該是重試的次數吧
#define CONFIG_SERIAL 1
#define CONFIG_BAUDRATE 115200 設置波特率
#define CONFIG_COMMANDS ( CONFIG_CMD_DFL | \
CFG_CMD_DATE | \
CFG_CMD_ELF | \
CFG_CMD_NET | \
CFG_CMD_EEPROM | \
CFG_CMD_I2C | \
CFG_CMD_FAT | \
CFG_CMD_JFFS2)
把CFG_CMD_EEPROM改成CFG_CMD_FLASH吧,雖然不改也是可以的,具體沒考究。
以下是板上env參數設置,看一下吧,其實我覺得了解一下就行的了,只是一些初始設置值,以后可以用命令setenv saveenv來修改的。
#define CONFIG_BOOTDELAY 3 這個就是運行bootcmd之前的等待時間
#define CONFIG_BOOTARGS "devfs=mount root=ramfs console=ttyS0,115200" 引導uClinux的時候傳遞的參數,不會就先不用管它也行。
#define CONFIG_ETHADDR 00:50:c2:1e:af:fb 網卡的物理地址MAC
#define CONFIG_NETMASK 255.255.255.0 掩碼地址,設置過ip的人都應該知道吧
#define CONFIG_IPADDR 192.168.0.30 這是你板上網卡8019的ip地址
#define CONFIG_SERVERIP 192.168.0.10 這是你宿主機的ip地址,以后用tftp下載的時候用到,一定要跟你的宿主機一致才行。
#define CONFIG_BOOTFILE "u-boot.bin" 這個就是你要下載文件的默認名字,注意的是不是UBOOT編譯的文件 而是UBOOT下載以后在這個地址執行這個文件,比如這個文件在下LINUX后就常被改成UCLINUC.BIN了
#define CONFIG_BOOTCOMMAND "bootm 0x50000" 這是bootdelay后運行的命令
Miscellaneous configurable options部分,參考一下吧:
#define CFG_LONGHELP /* undef to save memory */
#define CFG_PROMPT "TENWAY=>" 這是進入命令模式下的提示符,改個帥一點的吧
#define CFG_CBSIZE 256 /* Console I/O Buffer Size */
#define CFG_PBSIZE (CFG_CBSIZE+sizeof(CFG_PROMPT)+16) /* Print Buffer Size */
#define CFG_MAXARGS 100 /* max number of command args */
#define CFG_BARGSIZE CFG_CBSIZE /* Boot Argument Buffer Size */
#define CFG_MEMTEST_START 0x0C400000 /* memtest works on */
#define CFG_MEMTEST_END 0x0C800000 /* 4 ... 8 MB in DRAM */
#undef CFG_CLKS_IN_HZ /* everything, incl board info, in Hz */
#define CFG_LOAD_ADDR 0x0c008000 默認的下載地址
#define CFG_HZ 1000 /* 1 kHz */
#define CFG_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200 } 可供選擇的波特率
Physical Memory Map部分,比較重要,修改你的sdram和flash的地址和容量。
#define CONFIG_NR_DRAM_BANKS 1 我們只占用了一個Bank用來映射sdram
#define PHYS_SDRAM_1 0x0c000000 sdram的起始地址
#define PHYS_SDRAM_1_SIZE 0x00800000 sdram的容量(8M)
#define PHYS_FLASH_1 0x00000000 flash的起始地址
#define PHYS_FLASH_SIZE 0x00200000 flash的容量(2M)
#define CFG_FLASH_BASE PHYS_FLASH_1 定義多個名字而已,其它地方會用到
注意:
存儲容量的計算方法
2M=0x00200000-----------------16進制轉換成10進制(用WINDOWS自帶的計算機就行)-------------------》2097152
2097152=1024*1024*2
FLASH organization部分,看注釋應該知道了吧,參考一下:
/*-----------------------------------------------------------------------
* FLASH organization
*/
#define CFG_MAX_FLASH_BANKS 1 /* max number of memory banks */
#define CFG_MAX_FLASH_SECT 256 /* 最大支持的SECTOR數量,另外SAM FEI的補丁這里設置了32個 是錯誤的*/
//#define CFG_MAIN_SECT_SIZE 0x10000 /* main size of sectors on one chip */
#define CFG_FLASH_ERASE_TOUT 4120000 /* Timeout for Flash Erase (in ms) 在前面加個4讓它長點 */
#define CFG_FLASH_WRITE_TOUT 1000 /* Timeout for Flash Write (in ms) */
其他地方還沒動 以后動的再補上
UBOOT 移植操作(3)
----------------------------------------------------------------------------------------------------
-----------------------------------board/myboard/common/flash.c-----------------------------------
----------------------------------------------------------------------------------------------------
找到這個函數:write_buff
里面有這句話,一共有6處吧?全改了:#ifdef CONFIG_B2
把CONFIG_B2改成上面TT.H文件里面起的名,我的叫CONFIG_TT
關于FLASH的一點疑問:
一直懷疑29LV160和39LV160在U BOOT下是否兼容的問題
看了這段程序后似乎U BOOT是可以自動檢測的
----------------------------------------------------------------------------------------------------
-----------------------------------board/T2T/TT/memsetup.S-----------------------------------
-----------------------------------也叫board/T2T/TT/lowlevel_init.S-----------------------------------
----------------------------------------------------------------------------------------------------
按照如下改
* Bank 0 parameter */
.equ B0_Tacs, 0x3 /* 0clk */
.equ B0_Tcos, 0x3 /* 0clk */
.equ B0_Tacc, 0x7 /* 14clk */
.equ B0_Tcoh, 0x3 /* 0clk */
.equ B0_Tah, 0x3 /* 0clk */
.equ B0_Tacp, 0x1 /* 0clk */
.equ B0_PMC, 0x0 /* normal(1data) */
/* Bank 1 parameter */
.equ B1_Tacs, 0x0 /* 4clk */
.equ B1_Tcos, 0x1 /* 4clk */
.equ B1_Tacc, 0x2 /* 14clkv */
.equ B1_Tcoh, 0x1 /* 4clk */
.equ B1_Tah, 0x0 /* 4clk */
.equ B1_Tacp, 0x0 /* 6clk */
.equ B1_PMC, 0x0 /* normal(1data) */
/* Bank 2 parameter - */
.equ B2_Tacs, 0x0 /* 4clk */
.equ B2_Tcos, 0x2 /* 4clk */
.equ B2_Tacc, 0x4 /* 14clk */
.equ B2_Tcoh, 0x2 /* 4clk */
.equ B2_Tah, 0x3 /* 4clk */
.equ B2_Tacp, 0x3 /* 6clk */
.equ B2_PMC, 0x0 /* normal(1data) */
/* Bank 3 parameter */
.equ B3_Tacs, 0x3 /* 4clk */
.equ B3_Tcos, 0x3 /* 4clk */
.equ B3_Tacc, 0x7 /* 14clk */
.equ B3_Tcoh, 0x3 /* 4clk */
.equ B3_Tah, 0x3 /* 4clk */
.equ B3_Tacp, 0x3 /* 6clk */
.equ B3_PMC, 0x0 /* normal(1data) */
/* Bank 4 parameter */
.equ B4_Tacs, 0x3 /* 4clk */
.equ B4_Tcos, 0x3 /* 4clk */
.equ B4_Tacc, 0x7 /* 14clk */
.equ B4_Tcoh, 0x3 /* 4clk */
.equ B4_Tah, 0x3 /* 4clk */
.equ B4_Tacp, 0x3 /* 6clk */
.equ B4_PMC, 0x0 /* normal(1data) */
/* Bank 5 parameter */
.equ B5_Tacs, 0x0 /* 4clk */
.equ B5_Tcos, 0x1 /* 4clk */
.equ B5_Tacc, 0x4 /* 14clk */
.equ B5_Tcoh, 0x1 /* 4clk */
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -