海思3536开发板

简介: 海思3536开发板

海思3536开发板默认是256M的nand,在实际的产品中容量远远不能满足需求。根据上层软件的需要,硬件工程师把nand扩容到1G的存储空间。想要系统正常运行,需要以下操作:

1.修改Hitool的分区表

海思3536 使用Linux双系统:主系统和从系统。主系统主要控制4个A17核心。从系统主要控制A7和多媒体单元。我使用的事主系统来引导 从系统。把所有的应用程序放到了mashter_fs中。修改nand之前住文件系统只有235M

硬件扩容到1G后,增加主文件系统到900M

2.修改uboot加载的分区表

修改完烧写工具分区只能完成把对应的分区文件烧写到对应分区,烧写完后还要对uboot的引导参数进行修改。

setenv bootargs 'mem=512M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=yaffs2 mtdparts=hinand:1M(boot),4M(kernel),235M(rootfs)'

setenv bootcmd 'nand read 0x42000000 0x100000 0x400000;bootm 0x42000000'

setenv slave_autostart 1

setenv slave_bootcmd 'nand read 0x81000000 0xF000000 0x80000;nand read 0x82000000 0xF100000 0x400000;nand read 0x83000000 0xF500000 0x600000;bootm 0x81000000 0x82000000 0x83000000'

setenv slave_bootargs 'mem=96M console=ttyAMA0,115200'

saveenv

解释:

引导参数的第一句意思是我的内存是512M的,使用了串口0作为控制台,文件系统位置在/dev/mtdblock2 这个分区,系统类型是yaffs2的。主系统的分区表分别对应1M 4M 和235M。第一句是大部分uboot系统必须有的引导参数

第二行意思是uboot启动后将nand的0x100000(1M)位置往后4M的空间到内存的 0x42000000 这个位置,然后跳转到0x42000000 执行。总结,uboot把kernel从nand加载到ddr,并开始由uboot进入kernel

第三行是海思双系统独有的,设置让从系统自动加载,不需要主系统手动执行

第四行是uboot把从系统的uboot kernel 和文件系统读到内存中。起始地址分别是240M 241M 245M 转成十六进制后就是 0xF000000 ,0xF100000 0xF500000 。读取的大小分别是0x80000(1M) 0x400000(4M) 和0x600000(6M)

修改后的uboot引导参数:

setenv bootargs 'mem=512M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=yaffs2 mtdparts=hinand:1M(boot),4M(kernel),900M(rootfs)'

setenv bootcmd 'nand read 0x42000000 0x100000 0x400000;bootm 0x42000000'

setenv slave_autostart 1

setenv slave_bootcmd 'nand read 0x81000000 0x38900000 0x80000;nand read 0x82000000 0x38A00000 0x400000;nand read 0x83000000 0x38E00000 0x600000;bootm 0x81000000 0x82000000 0x83000000'

setenv slave_bootargs 'mem=96M console=ttyAMA0,115200'

saveenv

在这里我遇到一个yaffs文件系统的问题

[点击并拖拽以移动]

Current hardware config, pagesize:4096, ecctype:24bits/1K

1.请检查当前单板Flash与烧写分区中的Flash类型是否一致;
2.当前fastboot不支持该命令;

这个问题是之前的nand pagesize和ecctype不一样,只需要重新制作yaffs2文件系统即可。指令是:./mkyaffs2image610 rootfs_glibc_master rootfs_glibc_2k_4bit_zmj_1g.yaffs2 2 4

[点击并拖拽以移动]

[点击并拖拽以移动]

我只是增大了主操作系统的大小,由235M到900M,其他分区大小没有变化,但是从系统的起始地址发生了变化。从240M 241M 245M到905M 906M 910M。对应的uboot参数计算方法如下

[点击并拖拽以移动]

[点击并拖拽以移动]

[点击并拖拽以移动]

最后进入Linux 主系统系统验证是否成功

[点击并拖拽以移动]

相关文章
|
5月前
|
芯片
Keil5中添加C51芯片
Keil5中添加C51芯片
815 0
|
5月前
|
IDE 中间件 开发工具
【瑞萨MCU】开发环境搭建之 MDK + RASC
【瑞萨MCU】开发环境搭建之 MDK + RASC
|
5月前
|
Ubuntu Linux 开发工具
【ZYNQ】那些年我们拿下了 Zynq
【ZYNQ】那些年我们拿下了 Zynq
|
5月前
|
IDE 物联网 开发工具
【瑞萨MCU】玩转 HMI-Board 之 MDK + RASC 点灯
【瑞萨MCU】玩转 HMI-Board 之 MDK + RASC 点灯
|
测试技术 异构计算
Xines广州星嵌全新FPGA开发板—OMAPL138/C6748 DSP+ARM+FPGA
基于广州星嵌TI OMAP-L138(浮点DSP C6748+ARM9) +Xilinx Spartan-6 FPGA工业核心板
|
Ubuntu Linux
嵌入式Linux开发: 龙芯2K1000使用EJTAG烧写POPM
嵌入式Linux开发: 龙芯2K1000使用EJTAG烧写POPM
605 0
嵌入式Linux开发: 龙芯2K1000使用EJTAG烧写POPM
|
异构计算
FPGA新起点V1开发板(二)——Quartus II软件的安装和USB-BLaster驱动安装
FPGA新起点V1开发板(二)——Quartus II软件的安装和USB-BLaster驱动安装
291 0
FPGA新起点V1开发板(二)——Quartus II软件的安装和USB-BLaster驱动安装
|
Linux 网络安全 内存技术
海思3559平台搭建:简单烧写说明
在板子上存在uboot的前提下进行如下操作,如果板子上从未烧写过uboot,就需要使用 HiTool 工具进行烧写。HiTool 工具位置放在 Hi3559A***/01.software/pc/HiTool,使用说明请参见该目录下的《HiBurn工具使用指南》
389 0
海思3559平台搭建:简单烧写说明
向龙芯2K1000板子上烧写中标麒麟系统
向龙芯2K1000板子上烧写中标麒麟系统
288 0
|
Linux 网络安全
Exynos4412系统移植总结
Exynos4412系统移植总结
Exynos4412系统移植总结