u-boot-2014.10移植第13天----创建开发板
2015-02-03 08:32
435 查看
board_init_r 函数在文件arch/arm/lib/board.c中,都是C挺复杂的,以后看情况,如果用到了就深入研究,这里就跳过了。
“通过上面的叙述,大家应该比较了解U-boot的大致情况,下面开始移植工作了。
我们要做的工作是移植,就是根据不同的地方做修改。U-Boot一直都没有支持
S3C2440,移植仍是用 U-Boot支持的友善之臂 SBC2410的文件作蓝本来移植。所以移植所
要做的就是针对 S3C2440和S3C2410的不同,以及 SBC2410和 mini2440开发板的外设不
同作相应的修改,并增加新的功能。
移植之前必须对 S3C2440和 S3C2410有所了解,移植过程和芯片关系紧密。特别是
Nandboot的原理和 Norboot的内部 ram映射原理必须搞清楚。
S3C2440和S3C2410的区别主要是2440的主频更高,接口方面,增加了摄像头接口和
AC‘97音频接口;寄存器方面,除了新增模块的寄存器外, NAND FlASH控制器的寄存器有
较大的变化,芯片时钟频率控制寄存器有一定的变化,其他寄存器基本是兼容的。
下面大部分以补丁的形式介绍移植过程:”
开始:
添加tq2440开发板:
u-boot-2014.10]$ mkdir -p board/samsung/tq2440/
选用board/smdk2410开发板作为tq2440开发板的模板,将board/smdk2410目录中的文件悉数拷贝到tq2440目录中:
samsung]$ cp -rf smdk2410/* tq2440/修改主文件名:
tq2440]$ mv smdk2410.c tq2440.c
修改makefile文件:
[fulinux@ubuntu tq2440]$ vim Makefile
obj-y := tq2440.o添加一个tq2440的configs/tq2440.h头文件:
u-boot-2014.10]$ cp include/configs/smdk2410.h include/configs/tq2440.h
与以往的版本不同,根目录下没有了boards.h文件,而是换成了类似内核配置的方式:u-boot-2014.10]$ vt100
修改tq2440目录下 的Kconfig文件:
[fulinux@ubuntu tq2440]$ vim Kconfig
if TARGET_TQ2440
config SYS_CPU
default "arm920t"
config SYS_BOARD
default "tq2440"
config SYS_VENDOR
default "samsung"
config SYS_SOC
default "s3c24x0"
config SYS_CONFIG_NAME
default "tq2440"
endif
修改arch/arm目录下的Kconfig文件:
u-boot-2014.10]$ vim arch/arm/Kconfig
...
config TARGET_SMDK2410
bool "Support smdk2410"
config TARGET_TQ2440
bool "Support tq2440"
...
source "board/samsung/smdk2410/Kconfig"
source "board/samsung/tq2440/Kconfig"
...
经过上面简单的修改就可以在配置界面上找到tq2440了
Architecture select (ARM architecture)选中上面后,再在下面一个选项如下:
ARM architecture
进入该选项找到:
(X) Support tq2440
我们暂时就选中这两项,其他的先别动。保存退出。
会在根目录下生成.config(前面有一个点,隐藏文件)文件。
“在内核配置make menuconfig(或xconfig等)时,从Kconfig中读出配置菜单,用户配置完后保存到.config(在顶层目录下生成)中。在内核编译时,主Makefile调用这个.config,就知道了用户对内核的配置情况。”
我们运行make命令:
[fulinux@ubuntu u-boot-2014.10]$ make
scripts/kconfig/conf --silentoldconfig Kconfig
CHK include/config.h
GEN include/autoconf.mk
cc1: error: bad value (armv4) for -march= switch
make[2]: *** [include/autoconf.mk] 错误 1
make[1]: *** [silentoldconfig] 错误 1
make: *** 没有规则可以创建“include/config/uboot.release”需要的目标“include/config/auto.conf”。 停
这里出现了错误,我们明天继续。
“通过上面的叙述,大家应该比较了解U-boot的大致情况,下面开始移植工作了。
我们要做的工作是移植,就是根据不同的地方做修改。U-Boot一直都没有支持
S3C2440,移植仍是用 U-Boot支持的友善之臂 SBC2410的文件作蓝本来移植。所以移植所
要做的就是针对 S3C2440和S3C2410的不同,以及 SBC2410和 mini2440开发板的外设不
同作相应的修改,并增加新的功能。
移植之前必须对 S3C2440和 S3C2410有所了解,移植过程和芯片关系紧密。特别是
Nandboot的原理和 Norboot的内部 ram映射原理必须搞清楚。
S3C2440和S3C2410的区别主要是2440的主频更高,接口方面,增加了摄像头接口和
AC‘97音频接口;寄存器方面,除了新增模块的寄存器外, NAND FlASH控制器的寄存器有
较大的变化,芯片时钟频率控制寄存器有一定的变化,其他寄存器基本是兼容的。
下面大部分以补丁的形式介绍移植过程:”
开始:
添加tq2440开发板:
u-boot-2014.10]$ mkdir -p board/samsung/tq2440/
选用board/smdk2410开发板作为tq2440开发板的模板,将board/smdk2410目录中的文件悉数拷贝到tq2440目录中:
samsung]$ cp -rf smdk2410/* tq2440/修改主文件名:
tq2440]$ mv smdk2410.c tq2440.c
修改makefile文件:
[fulinux@ubuntu tq2440]$ vim Makefile
obj-y := tq2440.o添加一个tq2440的configs/tq2440.h头文件:
u-boot-2014.10]$ cp include/configs/smdk2410.h include/configs/tq2440.h
与以往的版本不同,根目录下没有了boards.h文件,而是换成了类似内核配置的方式:u-boot-2014.10]$ vt100
u-boot-2014.10]$ make menuconfig你可以看到下面这个界面:
修改tq2440目录下 的Kconfig文件:
[fulinux@ubuntu tq2440]$ vim Kconfig
if TARGET_TQ2440
config SYS_CPU
default "arm920t"
config SYS_BOARD
default "tq2440"
config SYS_VENDOR
default "samsung"
config SYS_SOC
default "s3c24x0"
config SYS_CONFIG_NAME
default "tq2440"
endif
修改arch/arm目录下的Kconfig文件:
u-boot-2014.10]$ vim arch/arm/Kconfig
...
config TARGET_SMDK2410
bool "Support smdk2410"
config TARGET_TQ2440
bool "Support tq2440"
...
source "board/samsung/smdk2410/Kconfig"
source "board/samsung/tq2440/Kconfig"
...
经过上面简单的修改就可以在配置界面上找到tq2440了
u-boot-2014.10]$ make menuconfig界面中找到下面这个选项中找到ARM体系架构的选项
Architecture select (ARM architecture)选中上面后,再在下面一个选项如下:
ARM architecture
进入该选项找到:
(X) Support tq2440
我们暂时就选中这两项,其他的先别动。保存退出。
会在根目录下生成.config(前面有一个点,隐藏文件)文件。
“在内核配置make menuconfig(或xconfig等)时,从Kconfig中读出配置菜单,用户配置完后保存到.config(在顶层目录下生成)中。在内核编译时,主Makefile调用这个.config,就知道了用户对内核的配置情况。”
我们运行make命令:
[fulinux@ubuntu u-boot-2014.10]$ make
scripts/kconfig/conf --silentoldconfig Kconfig
CHK include/config.h
GEN include/autoconf.mk
cc1: error: bad value (armv4) for -march= switch
make[2]: *** [include/autoconf.mk] 错误 1
make[1]: *** [silentoldconfig] 错误 1
make: *** 没有规则可以创建“include/config/uboot.release”需要的目标“include/config/auto.conf”。 停
这里出现了错误,我们明天继续。
相关文章推荐
- 第八章:基于九鼎X210开发板移植2014.10版U-boot之初始化网卡
- 第二章:基于九鼎X210开发板移植2014.10版U-boot之修改配置
- 第四章:基于九鼎X210开发板移植2014.10版U-boot之使用sd卡启动
- 第五章:基于九鼎X210开发板移植2014.10版U-boot之初始化内存
- 第一章:基于九鼎X210开发板移植2014.10版U-boot之初编译
- 第六章:基于九鼎X210开发板移植2014.10版U-boot之重定位
- 第九章:基于九鼎X210开发板移植2014.10版U-boot之启动内核
- 第七章:基于九鼎X210开发板移植2014.10版U-boot之初始化时钟模块
- 第三章:基于九鼎X210开发板移植2014.10版U-boot之尝试启动
- U-boot-2014.10移植到TQ2416开发板之NandFlash启动探究
- 最具体的u-boot移植到QT2410E开发板的过程1
- 移植u-boot-2009.06-rc3到友善之臂matrix4开发板step1
- 移植u-boot-2009.06-rc3到友善之臂matrix4开发板step4
- 最具体的u-boot移植到QT2410E开发板的过程2
- 基于优龙FS2410开发板u-boot-1.1.6的移植(三)
- (转)uboot移植到S3C44B0X开发板的经历
- U-Boot 在44B0X 开发板上的移植以及代码分析
- 基于优龙FS2410开发板u-boot-1.1.6的移植(NAND FLASH) (二)
- u-boot在s3c2410开发板上移植(NAND Flash Boot)过程 选择自 beka
- 在s3c2410开发板上移植u-boot1.1.4