1.修改 Makefile
使其支持smd2440
2.複製頭文件
/include/configs/smdk2440.h
3.複製board文件夾
/board/smdk2440
4.時鐘的設置
5.sdram的配置
位寬 刷新週期。。。
6.支持 norflash
目的 ; 實現用命令擦除,燒寫nor flash
支持的norflash分類; uboot 1.1.6 默認支持amd_lv400 amd_lv800 或 CFI接口norflash
(其他類型的norflash需要自己寫驅動)
接口函數 ; amd_lv400 amd_lv800 的接口函數在/board/smdk2440/flash.C 需要添加到 Makefile 裏
CFI接口norflash的接口函數在/drivers/Cfi_flash.c 中
類型選擇方式 ; 配置文件(/include/configs/smdk2440.h)中定義
CONFIG_AMD_LV400 或 CONFIG_AMD_LV400 或CFG_FLASH_CFI_DRIVER
決定使用哪種 flash
7. 支持串口xmodem協議
目的 使用securecrt工具操作 uboot
常用的串口協議 xmodem ymodem zmodem
8.支持網卡cs9000
網卡屬於內存類接口 這配置sdram時 已經將其配置
主要檢查他的 位寬
同時配置文件 (/include/configs/smdk2440.h)中做定義
#define CONFIG_DRIVER_CS8900 1
#define CS8900_BASE
#define CS8900_BUS16
9.支持dm9000
同時配置文件 (/include/configs/smdk2440.h)中做定義
#define CONFIG_DRIVER_DM9000 1
#define CONFIG_DM9000_USE_16BIT 1
#define CONFIG_DM9000_BASE 0x20000000
#define DM9000_IO 0x20000000
#define DM9000_DATA 0x20000004
10.支持 nandflash
uboot 對nand的支持有新舊兩套代碼 /drivers/nand /drivers/nand_legacy
配置文件的配置
CONFIG_COMMANDS 中添加 CFG_CMD_NAND
兩套代碼的選擇
默認選擇 /drivers/nand 當定義CFG_NAND_LEGACY
一些宏的定義
#define CFG_NAND_BASE 0 基地址
#define CFG_MAX_NAND_DEVICE 1 設備個數
#define NAND_MAX_CHIPS 1 一個設備由幾片 nand芯片組成
nand的初始化函數 nand_init()
nand_init()
-->nand_init_chip
--> board_nand_init(這個函數需要自己寫)
在include/s3c24x0.h中添加 nand的結構體
typedef struct {
S3C24X0_REG32 NFCONF;
S3C24X0_REG32 NFCONT;
S3C24X0_REG32 NFCMD;
S3C24X0_REG32 NFADDR;
S3C24X0_REG32 NFDATA;
S3C24X0_REG32 NFMECCD0;
S3C24X0_REG32 NFMECCD1;
S3C24X0_REG32 NFSECCD;
S3C24X0_REG32 NFSTAT;
S3C24X0_REG32 NFESTAT0;
S3C24X0_REG32 NFESTAT1;
S3C24X0_REG32 NFMECC0;
S3C24X0_REG32 NFMECC1;
S3C24X0_REG32 NFSECC;
S3C24X0_REG32 NFSBLK;
S3C24X0_REG32 NFEBLK;
} /*__attribute__((__packed__))*/ S3C2440_NAND;
在include/s3c2410.h中添加 s3c2440_GetBase_NAND 函數
寫board_nand_init()函數在cpu/arm920t/s3c24x0/nand_flash.C
這裏的內容可以參考內核drivers/mtd/nand/s3c2410.c編寫
11. 支持yaffs根文件系統的燒寫
12.默認參數的定義
配置文件 (/include/configs/smdk2440.h)中做定義
傳給內核
#define CONFIG_SETUP_MEMORY_TAGS 1
#define CONFIG_CMDLINE_TAG 1
在do_bootm_linux裏設置tags判斷
啓動參數;
#define CONFIG_BOOTDELAY 2
#define CONFIG_BOOTARGS "noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0"
#define CONFIG_BOOTCOMMAND "read.jffs2 0x30007FC0 kernel; bootm 0x30007FC0"
網洛參數
#define CONFIG_ETHADDR 08:00:3e:26:0a:5b
#define CONFIG_NETMASK 255.255.255.0
#define CONFIG_IPADDR 192.168.7.17
#define CONFIG_SERVERIP 192.168.7.11
其他
#define CFG_PROMPT "OpenJTAG> " /* Monitor Command Prompt */ 命令前綴
uboot移植
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
關於jdbc的模塊化和事務處理
yi_sixian
2019-02-23 14:00:41
自動化安裝Mysql5.6-腳本實現
張斌66
2019-02-23 13:44:28
usb接口發現硬件卻用不了
lzh0601
2019-02-23 13:41:55
讓不同網段之間可以ping通
小紅帽子
2019-02-23 13:37:48
Java 學習筆記(一)
羽化飛仙
2019-02-23 13:31:17
今日奇葩事件,一位不懂技術,卻來管理技術團隊的領導
happlehou
2019-02-23 13:21:00
.NET中結構與類的區別
riran
2019-02-23 12:57:35
word 的強大功能
wangluochuyan
2019-02-23 00:41:33
android入門系列
尋夢緣2008
2019-02-23 13:56:52
XP登錄時提示“無法加載配置文件,找不到指定文件”
781732825
2019-02-23 13:43:04
課程總結--NFS服務器安裝
雨鑫慌雨
2019-02-23 13:24:38
Cacti+Nagios監控平臺完美整合
wh211212
2019-02-23 13:10:04
Win7系統下發生一個文件夾,無法刪除,解決記錄
godoha
2019-02-23 00:41:25
Win7系統下發生一個文件夾,無法刪除,解決記錄
godoha
2019-02-23 00:41:20