加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

U-boot移植介绍

发布时间:2020-12-15 06:28:08 所属栏目:百科 来源:网络整理
导读:?最近关于linux移植停了好几天,看来以后得坚持才行!现在对liux移植虽然不很熟悉,但一定要坚持!加油!加油! ? U-boot移植需要修改哪些文件?在网上找到高手关于u-boot移植的patch,过滤了一下,要修改到的文件可能涉及到有如下这些,先罗列出来,以后慢
?最近关于linux移植停了好几天,看来以后得坚持才行!现在对liux移植虽然不很熟悉,但一定要坚持!加油!加油!

? U-boot移植需要修改哪些文件?在网上找到高手关于u-boot移植的patch,过滤了一下,要修改到的文件可能涉及到有如下这些,先罗列出来,以后慢慢证实,下一步,应该先了解一下u-boot的目录结构才好进行u-boot的移植工作啊,方向很重要!

?

在u-boot中添加目标板支持(2410/2440) (board 目标板相关文件,主要包含SDRAM、FLASH驱动)

? 1 +++ u-boot-rat/board/hugerat/rat2410/config.mk? 2008-12-15 23:03:59.000000000 +0800
? 2 +++ u-boot-rat/board/hugerat/rat2410/flash.c??? 2008-10-19 03:30:31.000000000 +0800
? 3 +++ u-boot-rat/board/hugerat/rat2410/lowlevel_init.S(SDRAM设置) ?? 2008-12-10 19:08:15.000000000 +0800
? 4 +++ u-boot-rat/board/hugerat/rat2410/Makefile?? 2008-12-16 10:33:56.000000000 +0800
? 5 +++ u-boot-rat/board/hugerat/rat2410/nand_read.c??????? 2008-12-16 11:14:08.000000000 +0800
? 6 +++ u-boot-rat/board/hugerat/rat2410/rat2410.c? 2008-12-16 11:56:17.000000000 +0800
? 7 +++ u-boot-rat/board/hugerat/rat2410/u-boot.lds 2008-10-19 03:30:31.000000000 +0800
?

? 8 +++ u-boot-rat/board/hugerat/rat2440/config.mk? 2008-12-16 16:32:08.000000000 +0800
? 9 +++ u-boot-rat/board/hugerat/rat2440/flash.c??? 2008-10-19 03:30:31.000000000 +0800
?10 +++ u-boot-rat/board/hugerat/rat2440/lowlevel_init.S
(SDRAM设置) ??? 2008-12-10 19:08:15.000000000 +0800
?11 +++ u-boot-rat/board/hugerat/rat2440/Makefile?? 2008-12-11 13:53:16.000000000 +0800
?12 +++ u-boot-rat/board/hugerat/rat2440/nand_read.c??????? 2008-02-29 23:23:10.000000000 +0800
?13 +++ u-boot-rat/board/hugerat/rat2440/rat2440.c? 2008-12-11 16:57:57.000000000 +0800
?14 +++ u-boot-rat/board/hugerat/rat2440/u-boot.lds 2008-10-19 03:30:31.000000000 +0800

?

common 独立于处理器体系结构的通用代码,如内存大小探测与故障检测

?15 +++ u-boot-rat/common/cmd_nand.c??????? 2008-12-15 22:14:50.000000000 +0800

?

cpu 与处理器相关的文件

?16 +++ u-boot-rat/cpu/arm920t/s3c24x0/i2c.c??????? 2008-12-05 14:25:37.000000000 +0800
?17 +++ u-boot-rat/cpu/arm920t/s3c24x0/interrupts.c 2008-12-16 11:03:20.000000000 +0800
?18 +++ u-boot-rat/cpu/arm920t/s3c24x0/nand.c?????? 2008-12-16 10:55:28.000000000 +0800
?19 +++ u-boot-rat/cpu/arm920t/s3c24x0/serial.c???? 2008-12-05 13:52:19.000000000 +0800
?20 +++ u-boot-rat/cpu/arm920t/s3c24x0/speed.c????? 2008-12-05 15:01:07.000000000 +0800
?21 +++ u-boot-rat/cpu/arm920t/s3c24x0/usb.c??????? 2008-12-05 14:17:29.000000000 +0800
?22 +++ u-boot-rat/cpu/arm920t/s3c24x0/usb_ohci.c?? 2008-12-05 14:11:34.000000000 +0800
?23 +++ u-boot-rat/cpu/arm920t/start.S(时钟等设置) ???? 2009-01-05 21:28:52.000000000 +0800

?

driver 通用设备驱动,如CFI FLASH驱动(目前对INTEL FLASH支持较好)

?24 +++ u-boot-rat/drivers/mtd/nand/nand_base.c???? 2008-12-17 11:44:46.000000000 +0800
?25 +++ u-boot-rat/drivers/mtd/nand/nand.c? 2008-12-09 15:58:42.000000000 +0800
?26 +++ u-boot-rat/drivers/mtd/nand/nand_util.c???? 2008-12-17 12:57:42.000000000 +0800
?27 +++ u-boot-rat/drivers/net/dm9000x.c??? 2008-12-06 20:09:04.000000000 +0800
?28 +++ u-boot-rat/drivers/rtc/s3c24x0_rtc.c??????? 2008-12-05 14:15:15.000000000 +0800
?29 +++ u-boot-rat/drivers/usb/usb_ohci.c?? 2008-12-05 14:28:30.000000000 +0800
?

include U-Boot头文件;尤其configs子目录下与目标板相关的配置头文件是移植过程中经常要修改的文件

?30 +++ u-boot-rat/include/asm-arm/mach-types.h???? 2008-12-16 11:51:51.000000000 +0800
?31 +++ u-boot-rat/include/common.h 2008-12-05 14:55:35.000000000 +0800
?32 +++ u-boot-rat/include/configs/rat2410.h??????? 2008-12-16 11:04:34.000000000 +0800
?33 +++ u-boot-rat/include/configs/rat2440.h??????? 2008-12-16 16:01:00.000000000 +0800
?34 +++ u-boot-rat/include/linux/mtd/mtd.h? 2008-12-15 21:20:57.000000000 +0800
?35 +++ u-boot-rat/include/s3c24x0.h??????? 2008-12-05 15:22:20.000000000 +0800

?

lib_xxx 处理器体系相关的文件,如lib_ppc,lib_arm目录分别包含与PowerPC、ARM体系结构相关的文件

?36 +++ u-boot-rat/lib_arm/board.c? 2008-12-06 20:22:40.000000000 +0800
?

?37 +++ u-boot-rat/Makefile 2008-12-16 09:40:36.000000000 +0800

?

附件: U-Boot主要目录结构
- board 目标板相关文件,主要包含SDRAM、FLASH驱动;
- common 独立于处理器体系结构的通用代码,如内存大小探测与故障检测;
- cpu 与处理器相关的文件。如mpc8xx子目录下含串口、网口、LCD驱动及中断初始化等文件;
- driver 通用设备驱动,如CFI FLASH驱动(目前对INTEL FLASH支持较好)
- doc U-Boot的说明文档;
- examples可在U-Boot下运行的示例程序;如hello_world.c,timer.c;
- include U-Boot头文件;尤其configs子目录下与目标板相关的配置头文件是移植过程中经常要修改的文件;
- lib_xxx 处理器体系相关的文件,如lib_ppc,lib_arm目录分别包含与PowerPC、ARM体系结构相关的文件;
- net 与网络功能相关的文件目录,如bootp,nfs,tftp;
- post 上电自检文件目录。尚有待于进一步完善;
- rtc RTC驱动程序;
- tools 用于创建U-Boot S-RECORD和BIN镜像文件的工具;

?

分类:

第一类目录与处理器体系结构 或者开发板硬件 直接相关;
第二类目录是一些通用的函数或者驱动程序
第三类目录是u-boot的应用程序、工具或者文档

?

.
|-- board
目标板相关文件,主要包含SDRAM、FLASH驱动;
|?? `-- EmbedSky
|-- common
独立于处理器体系结构的通用代码,如内存大小探测与故障检测; 与体系结构无关的文件,实现各种命令的C文件。
|-- cpu 与处理器相关的文件
|?? |-- 74xx_7xx
|?? |-- arm1136
|?? |-- arm720t
|?? |-- arm920t
|?? |?? |-- at91rm9200
|?? |?? |-- imx
|?? |?? |-- ks8695
|?? |?? `-- s3c24x0
|?? |-- arm925t
|?? |-- arm926ejs
|?? |?? |-- omap
|?? |?? `-- versatile
|?? |-- arm946es
|?? |-- arm_intcm
|?? |-- at32ap
|?? |?? `-- at32ap7000
|?? |-- bf533
|?? |-- i386
|?? |-- ixp
|?? |?? `-- npe
|?? |?????? `-- include
|?? |-- lh7a40x
|?? |-- mcf52x2
|?? |-- microblaze
|?? |-- mips
|?? |-- mpc5xx
|?? |-- mpc5xxx
|?? |-- mpc8220
|?? |-- mpc824x
|?? |?? `-- drivers
|?? |?????? |-- epic
|?? |?????? `-- i2c
|?? |-- mpc8260
|?? |-- mpc83xx
|?? |-- mpc85xx
|?? |-- mpc86xx
|?? |-- mpc8xx
|?? |-- nios
|?? |-- nios2
|?? |-- ppc4xx
|?? |-- pxa
Intel的PXA处理器
|?? |-- s3c44b0
|?? `-- sa1100
|-- disk
disk驱动的分区处理代码
|-- doc
|-- drivers ?
通用设备驱动程序,比如各种网卡、支持CFI的flash、串口和USB总线等
|?? |-- lcd
|?? |-- nand

|?? |-- nand_legacy
|?? `-- sk98lin
|?????? `-- h
|-- dtt
数字温度测量器或者传感器的驱动
|-- examples 一些独立运行的应用程序的例子
|-- fs 支持文件系统的文件,u-boot现在支持cramfs、fat、fdos、jffs2、yaffs和registerfs。
|?? |-- cramfs
只读的文件系统
|?? |-- ext2
|?? |-- fat
读写SD卡等外围设备时用到的文件系统
|?? |-- fdos
|?? |-- jffs2
可写的基于flash的文件系统,一般用于norflash
|?? `-- reiserfs
|-- include
U-Boot头文件;尤其configs子目录下与目标板相关的配置头文件是移植过程中经常要修改的文件还有对各种硬件平台支持的会变文件,系统的配置文件和对文件系统支持的文件。
|?? |-- asm -> asm-arm
|?? |-- asm-arm

|?? |?? |-- arch -> arch-s3c24x0
|?? |?? |-- arch-arm1136
|?? |?? |-- arch-arm720t
|?? |?? |-- arch-arm925t
|?? |?? |-- arch-arm926ejs
|?? |?? |-- arch-at91rm9200
|?? |?? |-- arch-imx
|?? |?? |-- arch-ixp
|?? |?? |-- arch-ks8695
|?? |?? |-- arch-omap
|?? |?? |-- arch-pxa
|?? |?? |-- arch-s3c24x0
|?? |?? |-- arch-s3c44b0
|?? |?? |-- arch-sa1100
|?? |?? |-- proc -> proc-armv
|?? |?? `-- proc-armv
|?? |-- asm-avr32
|?? |?? `-- arch-at32ap7000
|?? |-- asm-blackfin
|?? |?? `-- cpu
|?? |-- asm-i386
|?? |?? `-- ic
|?? |-- asm-m68k
|?? |-- asm-microblaze
|?? |?? `-- arch-microblaze
|?? |-- asm-mips
|?? |-- asm-nios
|?? |-- asm-nios2
|?? |-- asm-ppc
|?? |-- bedbug
|?? |-- configs
这个目录是很关键的目录,保存了各个开发板相关的配置信息
|?? |-- cramfs
cramfs使用到的头文件
|?? |-- galileo
|?? |-- jffs2?
jffs2文件系统使用到的头文件
|?? |-- linux
|?? |?? |-- byteorder
|?? |?? `-- mtd?
MTD设备使用到的头文件
|?? `-- pcmcia
|-- lib_arm
存放对ARM体系结构通用的文件,主要用于实现ARM平台通用的函数,与ARM体系结构相关的代码。
|-- lib_avr32
|-- lib_blackfin
|-- lib_generic
通用的多功能函数实现。
|-- lib_i386 存放对X86体系结构通用的文件,主要用于实现X86平台通用的函数,与PowerPc体系结构相关的代码。
|-- lib_m68k
|-- lib_microblaze
|-- lib_mips
|-- lib_nios
|-- lib_nios2
|-- lib_ppc
存放对PowerPC体系结构通用的文件,主要用于实现PowerPC平台通用的函数,与PowerPC体系结构相关的代码。
|-- modules
|-- nand_spl
|?? `-- board
|?????? `-- amcc
|?????????? `-- sequoia
|-- net
与网络功能相关的文件目录,如bootp,tftp; 与网络有关的代码,BOOTP协议、TFTP协议RARP协议和NFS文件系统的实现。
|-- post
上电自检文件目录。尚有待于进一步完善;
|?? `-- cpu
|-- rtc
实时时钟RTC驱动程序
`-- tools
用于创建U-Boot S-RECORD和BIN镜像文件的工具;
??? |-- bddb
??? |-- easylogo
??? |-- env
??? |-- gdb
??? |-- logos
??? |-- scripts
??? `-- updater

?

?【20091214】

说明:

|- board目录下只留所配置的开发板的信息,其他板子的删除掉;

|- cpu目录下只留arm920t类型,其他的删除掉;

|- lib_*只留lib_arm目录,其他的删除掉;

|- *_config.mk只留arm_config.mk,其余的删除掉。

|-drivers目录只保留需要的驱动,其余的删除掉,如nand Flash,网卡,lcd等。

1、删除全新的uboot源码board下的所有内容,并将EmbedSky文件夹复制至全新的uboot源码下

2、复制EmbedSky.h至include/configs/目录下

3、给include/s3c24x0.h打补丁

4、给include/nand.h打补丁

5、将modules文件夹复制至全新uboot源码根目录下

6、创建(复制)cpu/arm920t/s3c24x0目录下的nand_flash.c文件

7、给lib_arm目录下的文件打补丁

。。。。。。。。。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读