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