今天公司来了50块样机新板,然后硬件工程师拿了一块样机让我调试和系统移植下去验证板子的硬件是不是有问题,之前在学校移植过三星S3C2410,因此对过程有些了解,其实不同的开发板都是大同小异的,无非就是FLASH大小不同,以及分区不同而已,
下面我把自己移植的过程做了下笔记希望能为一些遇到相似问题的人有你帮助。
首先移植的时候如果你用的是TFTP协议的话,要一个TFTP传输软件,软件文件设置为你存放Uboot.bin,内核的uImage,以及你的根文件系统rootfs...jffs2,等文件,server interface 设置为你的windows IP,
然后启动开发板,设置你的bootargs,bootcmd,
将ipaddr 设置为你的开发板的ip,这个IP需要注意的是不要和你的虚拟机以及windows IP相互冲突,
serverip 设置为你的windows ip,
然后不要忘记了saveenv;
SD卡升级:
将*.crc(后缀名是crc的文件)文件置于sd卡根目录下,开机启动时设备自动升级。
32M SPI Flash
地址空间说明
| 1M (512K uboot ,512K para) | 4M | 10M | 512K | 1.5M | 15M |
|---------------------------------|---------------|---------------|-------------|---------------|---------------|
| boot | kernel | rootfs | jpeg | para | APP |
tftp升级:
1.uboot:
sf probe 0
mw.b 82000000 ff 100000
tftp 0x82000000 u-boot-hi3520d-T15102605.bin
sf erase 0 100000
sf write 82000000 0 100000
/*
sf probe 0
mw.b 82000000 ff 80000
tftp 0x82000000 u-boot-hi3520d-T15110118.bin
sf erase 0 80000
sf write 82000000 0 80000
*/
/*
sf erase 80000 80000
*/
2.kernel:
sf probe 0
mw.b 82000000 ff 400000
tftp 82000000 uImage-T15070101
sf erase 100000 400000
sf write 82000000 100000 400000
3.rootfs:
sf probe 0
mw.b 82000000 ff a00000
tftp 0x82000000 rootfs_uclibcT15102603.jffs2
sf erase 500000 a00000
sf write 82000000 500000 a00000
4.jpeg:
(1)upgrading:
sf probe 0
mw.b 82000000 ff 80000
tftp 0x82000000 upgrading.jpg
sf erase f00000 10000
sf write 82000000 f00000 10000
(2)loading:
sf probe 0
mw.b 82000000 ff 80000
tftp 0x82000000 loading.jpg
sf erase f10000 10000
sf write 82000000 f10000 10000
5.app:
sf probe 0
mw.b 82000000 ff f00000
tftp 0x82000000 mdvrapp-T15102702.img
sf erase 1100000 f00000
sf write 82000000 1100000 f00000
6.设置启动参数(烧写uboot是默认已经设置好了)
setenv bootargs 'mem=126M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=jffs2 mtdparts=hi_sfc:1M(boot),4M(kernel),10M(rootfs),512K(jpg),1536K(config),15M(APP)'
// setenv bootargs 'mem=64M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=jffs2 mtdparts=hi_sfc:1M(boot),4M(kernel),10M(rootfs),512K(APP),512K(config)'
// setenv bootcmd 'sf probe 0;sf read 0x82000000 0x100000 0x400000;bootm 0x82000000'
//setenv bootargs 'mem=64M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=jffs2 mtdparts=hi_sfc:1M(boot),4M(kernel),11M(rootfs)'
sa
不同的板子要不同对待,但是大多数板子的系统移植都是类似的,此移植方法只提供参考不能死板硬套
希望对你有帮助,谢谢!