[project X] tiny210 操作说明
2016-09-22 16:18
162 查看
零、项目说明
project X项目是由wowo发起的,希望能够在一个项目中可以支持多个板子的项目。在wowo的project X项目上对友善之臂tiny210的板子进行支持。
目前已经可以正常启动到kernel commandline部分。
暂时只使用SDcard作为存储设备,后续会对nand flash进行支持。
欢迎有tiny210或者其他板子的同学也一起参与到这个项目来,让project x项目支持更多的板子。
一、准备操作
1、代码
github下载地址:build https://github.com/wowotechX/build.git
uboot https://github.com/wowotechX/u-boot.git
kernel https://github.com/wowotechX/linux.git
tools https://github.com/wowotechX/tools.git
(1)git clone下载以上代码到同一目录下。
(2)由于tiny210没有合到主分支上,上述所有都需要切换到tiny210分支上,命令如下:
git checkout –track origin/tiny210
2、编译器
(1)进入build目录。(2)在config.mk中配置如下(在tiny210分支上已经是默认了)
BOARD_NAME=tiny210 BOARD_ARCH=arm
(3)执行“make env_prepare”
会下载arm-none-linux-gnueabi-4.8编译器。
3、软件
在制作ramdisk的过程中,需要安装genext2fs、gzip命令,可以通过apt-get install进行安装。二、编译操作
以下都是在build目录下进行操作.在config.mk中配置如下(在tiny210分支上已经是默认了):
BOARD_NAME=tiny210 BOARD_ARCH=arm
1、uboot
执行“make uboot”生成
out/u-boot/u-boot.bin
out/u-boot/spl/u-boot-spl.bin
out/u-boot/spl/tiny210-spl.bin
2、kernel、dtb
执行“make kernel”生成
out/linux/arch/arm/boot/Image
out/linux/arch/arm/boot/zImage
out/linux/arch/arm/boot/dts/s5pv210-tiny210.dtb
3、rootfs
tools/common/rootfs中就是根文件系统的一些东西。但是刚拉下的代码中busybox还是空的。目前支持initramdisk格式的rootfs镜像和initramfs格式的rootfs镜像。
关于这两个格式的区别请参考http://blog.csdn.net/xys0610/article/details/52613149
(1)执行“make busybox”
在rootfs中安装busybox
(2)如果要生成initramdisk格式rootfs
在config.mk中配置要生成的rootfs的格式为ramdisk
ROOTFS_IMAGE_TYPE=ramdisk
执行“make rootfs”
生成
out/rootfs/ramdisk.img
out/rootfs/ramdisk.gz
(3)如果要生成initramfs格式rootfs
在config.mk中配置要生成的rootfs的格式为ramdisk
ROOTFS_IMAGE_TYPE=initramfs
执行“make rootfs”
生成
out/rootfs/initramfs.img
out/rootfs/initramfs.gz
4、legacy_uimage & fit_uimage
这两种方式都是uboot用于启动kernel的方式。具体区别可以参考wowo的http://www.wowotech.net/u-boot/fit_image_overview.html
4.1 制作传统uImage镜像
(0)如果需要生成传统格式的uimage,需要在config.mk中配置如下:
KERNEL_IMAGE_TYPE=legacy_uimage UIMAGE_LOADADDR=0x20008000 UIMAGE_ENTRYADDR=0x20008040
(1)执行“make kernel-img” 生成
out/linux/arch/arm/boot/uImage
4.2 制作FIT镜像
(0)如果需要生成FIT格式的uimage,需要在config.mk中配置如下:
KERNEL_IMAGE_TYPE=fit_uimage UIMAGE_LOADADDR=0x20008000 UIMAGE_ENTRYADDR=0x20008040
(1)执行“make kernel-img”,生成
out/xprj_uImage.itb
注意:4、5只需要根据uImage的格式选择其中一种。legacy_uimage是在zImage加上uboot使用的64B的头部。fit_uimage则是组合了Image(zImage)、ramdisk、dtb的镜像,uboot会对其进行解析。
三、烧录操作(使用SD card作为存储设备)
以下都是在tools/samsung/tiny210目录下操作。需要先执行“sudo fdisk -l”看看sdb是否已经存在,保证sdcard已经被挂载上了,可以通过命令进行烧写。
0、使用SDcard来存放镜像
SDcard部署如下(扇区):spl: SEC_UBOOT_SPL=1-48(29KB) uboot: SEC_UBOOT=49-1072(512KB) legacy_uimage: SEC_UIMAGE=1073-5168(2MB) dtb: SEC_DTB=5169-5296(64KB) ramdisk: SEC_ROOTFS=5297-13488(4MB) fit: SEC_FIT_IMAGE_START=13489
1、uboot
需要保证上述<二、1><二、4>步骤完成./flash_sdcard.sh uboot
会烧写spl.bin和uboot.bin到SDcard对应位置上。
2、kernel(legacy_uimage)& dtb
需要保证上述<二、2>步骤完成./flash_sdcard.sh kernel
会烧写legacy_uimage和dtb到SDcard对应位置上。
3、rootfs(ramdisk)
需要保证上述<二、3>步骤完成./flash_sdcard.sh rootfs
会烧写ramdisk到SDcard对应位置上。
4、fit-image
需要保证上述<二、5>步骤完成./flash_sdcard.sh fit_image
会烧写fit uimage到SDcard对应位置上。
四、启动操作
0、说明
目前为了开发方便,在uboot中已经实现自动将镜像从SDCARD复制到ddr的对应位置上。也就是说无需输入其他命令来复制镜像到ddr上。
ddr的部署如下:
legacy_uimage:0x20008000 dtb:0x22000000 ramdisk:0x21000000 fit_image:0x30000000
1、通过uimage、ramdisk、dtb启动kernel(也就是通过传统的uImage来启动kernel)
需要保证<三、1><三、2><三、3>步骤完成在uboot的command line中,执行
“bootm 0x20008000 0x21000000 0x22000000”
到这里,kernel就跑起来了并且跑到了kernel的command line中。
其中,0x20008000 表示kernel在ddr上的位置,0x21000000表示rootfs镜像在ddr上的位置,0x22000000表示dtb文件在ddr上的位置
2、通过fit_uimage的方式来启动kernel(也就是通过FIT格式的uImage来启动kernel)
需要保证<三、4>步骤完成在uboot的command line中,执行
“bootm 0x30000000”
0x30000000表示FIT文件在ddr中的为知,uboot会自动从FIT中解析出kernel、rootfs镜像和dtb在ddr上的位置。
到这里,kernel就跑起来了并且跑到了kernel的command line中。
相关文章推荐
- 向Tiny210移植Debian Linux
- 在 tiny210 下显示 字母 ,汉字,方框, 宋体,图片。
- 移植tiny210的 触摸屏驱动
- 移植 tiny210 的按键驱动
- 基于友善的superboot 移植linux内核到tiny210(s5pv210)上
- 一步一步学习 Linux 驱动之 platform 机制(tiny210 按键驱动)
- tiny210 环境搭建
- Tiny210 中断控制LED灯的亮和灭
- tiny210(S5PV210)内存DDR2-SDRAM初始化顺序及相关难点浅析———210SDRAM初始化学习记
- tiny(S5PV210)编程时SMMC启动通道的判断
- tiny210(S5PV210)中断控制相关学习记录
- tiny210(S5PV210)LCD控制器RGB配置相关学习记录
- tiny210——uboot移植之Makefile剖析篇
- [project X] tiny210(s5pv210)从存储设备加载代码到DDR
- [project X] tiny210(s5pv210)上电启动流程(BL0-BL2)
- [project X] tiny210 uboot移植进度说明
- 三色图
- 【转】Darwin Streaming Server 核心代码分析
- SolrCloud+Tomcat+Zookeeper配置----参考二
- 洛谷P1414 又是毕业季II