arm下如何烧写指定分区大小的内核和文件系统
最近在海思3518e平台下烧写内核和文件系统,由于项目需要,需要运行海思SDK中的测试软件HiIspTool,不能使用精简后的文件系统,需要刷一个比较大的文件系统,但在此过程中由于各种原因,弄坏了一个板子,烧坏了一个uboot,由于要卸下SPI NOR FLASH,重新烧写实在太过麻烦,放弃了该板子。在此过程中走了些弯路,在此记录下主要过程和注意事项,希望能够提醒自己和刚如何这方面的新手,共勉!
1.板子上电时按住ctrl+c进入uboot模式
2.设置UBOOT模式的板子的IP和PC服务端的IP,使用Tftpd进行内核和文件系统的下载,比较快,如果使用串口下载的话,需要使用超级终端软件,非常慢。
setenv ipaddr 192.168.1.106 设置本板子的IP
setenv serverip 192.168.1.100 你的宿主机的IP,即开Tftpd的ip
设置后ping下确保网络通着。
3、内核烧写
mw.b 82000000 ff 140000; 在内存0x82000000后填充140000个11111111
tftp 0x82000000 uImage_hi3518e_mini; 下载内核文件
sf probe 0; 选在当前Flash
sf erase 40000 140000; 擦除将要写入内核的1.4M空间
sf write 82000000 40000 140000; 将刚下载的内核写入到40000内存开始处,大小为1.4M,最后一个参数为偏移地址
我使用的内核大小为1.2M,给其分配了1.4M的空间,注意内核的大小不能大于给内核分配的空间大小,以上几条命令可以连在一起进行操作,中间以;分隔即可,这样效率比较高
4、文件系统烧写
mw.b 82000000 ff 620000;
tftp 0x82000000 rootfs_64k_mpp.jffs2;;
sf probe 0;
sf erase 180000 620000;
sf write 82000000 180000 620000;
给文件系统分配了6.2M的空间,在此没有分配其他的用户等等分区。
5、设置启动参数
setenv bootargs 'mem=28M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=jffs2 mtdparts=hi_sfc:256K(boot),1280K(kernel),6144K(rootfs)';
最重要的是mtdparts参数的设置,本人使用的内核支持mtd驱动,即内核通过mtdparts参数可以找到文件系统并创建MTD分区,在此boot、kernel、rootfs的大小必须是spi Block大小的整倍数,如本人使用的Block大小为64KB,另外还有128KB,256KB两种,注意三快分区的大小之和不要超过整个Flash的大小。
setenv bootcmd 'sf probe 0;sf read 0x82000000 0x40000 0x140000;bootm 0x82000000';
bootcmd在启动时执行的命令,0x40000 0x140000代表从0x40000开始处读取内核,大小为140000。
另:提供本人此次烧录的3518e内核和文件系统的下载
内核:
文件系统:
请进入我的资料 进行下载
转载于:https://blog.51cto.com/cto521/1584602
arm下如何烧写指定分区大小的内核和文件系统相关推荐
- 安霸ARM S2L板子烧写
最近工作中,因为用到了安霸ARM S2L板子的虚拟内容,把mtdblock5和mtdblock6分区都用作了swap分区增加虚拟内存.结果程序在S2L上运行时,电脑蓝屏了,再重新上电启动后,板子无法正 ...
- 蓝宙ARM仿真器固件烧写说明
蓝宙ARM仿真器固件烧写说明 ARM下载器本身是采用CMSIS-DAP协议的,这个协议对于ARM单片机的使用用户来说可能比较陌生,如果大家还使用不习惯也可以将下载器刷写为我们常用的JLINK下载器,不 ...
- 基于linux的ARM设备升级,烧写Nand flash总结
一.uboot 模式下: 1.SD烧写: if fatload mmc 0 0x100000 rootfs.cramfs; then nand erase 0x1600000 0x1400000;na ...
- 解决linux系统CentOS下调整home和根分区大小
目标:将VolGroup-lv_home缩小到20G,并将剩余的空间添加给VolGroup-lv_root 1. 首先查看磁盘使用情况 ``` [root@localhost ~]# df -h 文件 ...
- 解决linux系统CentOS下调整home和根分区大小的方法
目标:将VolGroup-lv_home缩小到20G,并将剩余的空间添加给VolGroup-lv_root 1.首先查看磁盘使用情况 [root@jb51.net~]# df -h 文件系统 容量 已 ...
- centos标准分区调整大小_去繁化简解决CentOS下调整home和根分区大小的方法
一.知识点扫盲 Cent0S 7默认启用LVM2(Logical Volume Manager),把机器的一块硬盘分为两个区sda1和sda2,其中分区sda1作为系统盘/boot挂载,少量空间:sd ...
- centos标准分区调整大小_CentOS下调整home和根分区大小的方法
目标:将VolGroup-lv_home缩小到100G,并将剩余的空间添加给VolGroup-lv_root 1.首先查看磁盘使用情况[root~]# df -h 文件系统 容量 已用 可用 已用% ...
- Linux下imx6dl开发板从镜像的烧写、内核源码编译到第一个驱动运行的详细步骤
文章目录 前言 一.对开发板烧写镜像 1.镜像烧写 2.串口测试 二.搭建交叉编译环境 1.Ubuntu下搭建交叉编译环境 2.WSL下搭建交叉编译环境 三.编译Linux内核源码 1.Ubuntu下 ...
- CentOS下调整VolGroup-lv_root分区大小
APP与后台服务突然无法上传图片及浏览不了,经查看后原来是根分区已经100%了 解决Linux系统CentOS下调整home和根分区大小 目标:将VolGroup-lv_home缩小到20G,并将剩余 ...
最新文章
- python分类流程_文本分类指南:你真的要错过 Python 吗?
- 一个关于导出excel模板的实例
- Ubuntu14.04中安装ROS Indigo(亲测)
- c语言计算机动画生成原理,计算机组成原理动画演示系统 - 源码下载|多媒体|源代码 - 源码中国...
- ORACLE数据库的连接
- NET对象的XML序列化和反序列化
- 运维日常操作--linux命令
- JMeter脚本录制-快速上手篇
- 全志F1c100s主线linux入坑记录 (2)芯片超频
- Android包管理机制2 PackageInstaller安装APK
- 打开SharePoint时遇到“Server error: http://go.microsoft.com/fwlink?LinkID=96177”
- Ceph 知识摘录(Ceph对象存储网关中的索引工作原理)
- oracle通过正则验证香港、澳门、台湾的身份证和护照
- Flink问题记录:A raw type backed by type information has no serializable string representation. It ....
- R语言如何做独立样本t检验
- 博图注册表删除方法_回收站被清空文件删除的恢复方法
- java 取整符号_浅析java中的取整(/)和求余(%)
- 超实用的linux服务器vps测速脚本看看你的服务器到底跑多少带宽
- android系统手机流量控制方法,如何实现Android手机流量的控制
- 汽车车灯产业链全景图