海思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 主系统系统验证是否成功

海思3536 nand 扩容操作教程相关推荐

  1. 海思3536解码G711音频

    海思3536解码G711音频 最近的一个项目,需要增加对G711的解码功能.而HI3536这款芯片是支持对G711进行CPU软件编解码的,所有的解码功能都基于独立封装的海思音频解码库,核心解码器工作在 ...

  2. 海思3536板子在使用wifi时,开启支持工具 wireless_tools 和 iptables 的内核支持选项时,板子会崩溃的解决方法

    wifi的wlan模式需要用到Wireless_tools和wpa_supplicant工具.Wireless_tools用来设置支持LinuxWireless Extension的无线设备,它是一个 ...

  3. 海思芯片上GPIO操作

    前期 本博客是根据Hi3521A/Hi3520DV300硬件接口用户指南.pdf(其它都一样)写的,具体信息请参考文档,文档下载:https://download.csdn.net/download/ ...

  4. 海思3536:交叉编译Qt4.8.4

    一.交叉编译qt 1.下载Qt源码包qt-everywhere-opensource-src-4.8.4.tar.gz: 2.解压Qt源码包tar -xvfzqt-everywhere-opensou ...

  5. 海思3536:PC客户端编译过程报错及解决方法

    1.Hi3536V100R001C02SPC040版本编译出错 --------- 错误 4 error LNK2001: 无法解析的外部符号 _IveOpenFile D:\share\Hi3536 ...

  6. 海思3536:kernel编译和mpp_single编译过程报错及解决方法

    ### 1.编译kernel 1.1 cd kernel/linux-3.10.y 1.2 cp arch/arm/configs/hi3536_full_defconfig.config 1.3 m ...

  7. 海思3536:osdrv编译过程中报错及解决方法

    1.安装交叉编译工具 1.1 cd toolchain/arm-hisiv300-linux/ 1.2 tar -xvf arm-hisiv300-linux.tar.bz2 1.3 修改cross. ...

  8. 海思HI35xx平台软件开发快速入门之背景知识

    前言: 安防领域最近几年可谓暗流涌动,作为安防业的双寡头,大华股份与海康威视凭借行业的东风,两家公司的成长速度异常强劲,在国际市场上已经和应用厂家进行厮杀. 2015年两家公司双双晋升"全球 ...

  9. 关于海思3536编解码与FFmpeg的相关问题——推流相关

    在我们利用海思3536完成对摄像头视频流的拉取.(ffmpeg解协议头)解码.叠加osd.HDMI本地显示.编码.转存等任务后,我们开始利用ffmpeg将编码后的视频流进行推流,采用的是ZLM的流媒体 ...

最新文章

  1. 使用vscode连接服务器写代码指南
  2. input框选中时如何不出灰框_如何建立学习目标:这个SMART原则,你要了解,家长看懂教给孩子...
  3. js_sl 延迟菜单
  4. adb 操作安卓模拟器--备忘
  5. android访问html页面
  6. [usaco2004][bzoj3379] 交作业
  7. 在线中文姓名生成工具推荐
  8. 算法工程师书籍推荐——典藏版
  9. 清理c盘、c盘哪些文件可以删、图形显示文件大小软件
  10. html window 网络邻居,windows10网上邻居共享文件0x80070035找不到网络路径
  11. Oracle 11gR2 RAC 修改监听端口号
  12. 无根树任意根深度加强版
  13. 运动斗士终南山的不老之道
  14. 反病毒技术及其发展趋势
  15. putty连接虚拟机服务器,SSH:putty通过SSH连接固定IP的虚拟机
  16. 软件与硬件的兼容性如何测试,怎么检测电脑硬件兼容问题
  17. Java基础Day01-Java基础语法
  18. 信号量机制中的down和up函数
  19. js 阻止移动端横屏工具方法
  20. 定期存款计算器_定期存款预测

热门文章

  1. 有趣好玩的带音乐24H全自动在线要饭系统源码
  2. Windows扫雷游戏代码详解【memset函数】
  3. Linux安装redies+开机自启+远程连接+卸载
  4. 数据库mysql调优(最全整理)
  5. Redis 验证总结
  6. C#课程设计:《猜猜看》游戏开发总结
  7. 数据结构:数组和广义表
  8. Z-Libary最新地址.Z-Libary无法登录解决方案
  9. java最新下载地址 jdk下载地址
  10. OpenStack网络 - 使用vlan模式来剖析openstack网络相关概念及原理