emmclinux
1. EMMC引导文件的格式
具体看操作系统。
在linux系统中常见的硬盘分区格式有xfs、ext2、ext3、ext4等。如果将硬盘本身被抽象为一个数据仓库,则硬盘分区可以看做仓库中的一个个库房,而有的库房用来存储大件物品,数量较少只需要顺序摆放,而有的库房用来存储小件物品,数量较多,需要使用货架并且要更细致的编号。
2. emmc刻录软件如何用
一、下载并解压镜像到sd卡
1、首先下载镜像,推荐这个网站,我用的ubuntu-saucy-13.10-armhf-3.8.13-bone30.img.xz (November 29, 2013)这个版本。2、找一个大于等于2G的tf卡,连上读卡器到电脑,如果你用的linux系统,很简单
首先在磁盘管理里面卸载分区,然后执行
xz -cd ubuntu-saucy-13.10-armhf-3.8.13-bone30.img.xz > /dev/sdb
复制代码
注意:权限不够加上sudo,设备名/dev/sdb请依据自己系统里面的表示判断,fdisk -l指令或磁盘管理工具里面可以查看到
# ls -al /dev/sdb*
brw-rw---- 1 root disk 179, 0 Apr 26 20:48 /dev/sdb0
brw-rw---- 1 root disk 179, 1 Apr 26 20:49 /dev/sdb1
brw-rw---- 1 root disk 179, 2 Apr 26 20:49 /dev/sdb2
复制代码
如果你是win系统,请使用以下软件烧录到SD卡,
工具: Win32 Disk Imager
或者:USB Image Tool usbit-162.zip (216.02 KB) 3、等待5分钟左右,sd卡启动盘制作完成。
二、安装系统到emmc1、usb转串口线接狗板J1的1(GND),4(TXD),5(RXD);收不到的话4、5交换一下试试。
波特率115200-8-N-1
2、插入刚做好的启动sd卡,按下sd卡槽旁边的S2按键再上电,直到灯亮起松手,通过串口终端可以看到启动信息。
输入用户名和密码登录
username: ubuntu
password: ubuntu
3、现在我们要把系统安装到emmc怎么做呢,有两种方法
第一种,之前在做系统镜像的时候把ubuntu-saucy-13.10-armhf-3.8.13-bone30.img.xz文件拷贝到镜像分区里面,那么在这里执行
sudo su
xz -cd ubuntu-saucy-13.10-armhf-3.8.13-bone30.img.xz > /dev/mmcblk1
复制代码
其中/dev/mmcblk1是你内部emmc的地址,可以通过 fdisk -l查看
大概5分钟后安装完成。
第二种方法是从网上下载镜像。
在连接网线的前提下执行下面命令
wget http://s3.armhf.com/debian/precise/bone/ubuntu-precise-12.04.3-armhf-3.8.13-bone30.img.xz
复制代码
从网络下载,之后执行上面的命令即可。
三、更新验收
1、执行命令
mkdir test
ls
复制代码
在目录下建立一个test的文件夹。
然后断电,去掉sd卡重新启动,查看目录下不存在test文件夹,说明现在是在emmc里执行的。
顺便更新下系统
sudo apt-get updata
复制代码
2、以后加入你编译了新的系统到sd卡,插上上电既可以从sd卡启动,测试完毕断电拔掉sd卡即恢复到内部emmc启动,是不是很方便呢。
3. 求助:如何通过EMMC方式顺利烧录Linux系统
Linux裁剪过的可能就十几Kb,但你需要把Linux转换成.bin的二进制文件,用烧录器就可以烧录到你需要装载的MCU或者Flash当中了。
4. 关于Linux内核emmc分区问题
首先你要看你用芯片型号,有的分区不是在内核里划分的,而是用最小化系统,划好后再将bootload,kernenl,fs烧到对应区。有的是在内核里分区,但一般是nandflash。如果你对内核很熟,可以自己添加对应分区,修改好以后加载文件系统就ok了
5. 如何手动移植linux系统到迅为4412
方法/步骤
1
首先连接好 iTOP-4412 开发板的调试串口到 pc 上,在 pc 的 windows 系统下打开串口
调试工具。开发板上电,在串口调试工具里按任意 pc 键盘的任意按键使开发板进入 uboot 命令行模式,如下图所示:
2
然后在 uboot 输入分区命令:“fdisk -c 0 1024 300 300”,如下图所示:
3
上面图片里的命令是把 emmc分区,其中的 1024 是 linux 的存储空间,单位是 MB,也
就是 1G。如果想分配更大的空间修改这个值即可。
执行完上面的命令,如下图所示:
END
方法/步骤2
1
然后在 uboot 命令行分别输入下面的命令,格式化分区:
fatformat mmc 0:1
ext3format mmc 0:2
ext3format mmc 0:3
ext3format mmc 0:4
至此 EMMC的分区已经只做好了,下面我们开始制作 linux 文件系统,拷贝光盘
“linux/root_xxxxxxxx.tar.gz”(xxxxxxxx 是版本日期,)到 Ubuntu 虚拟机上,例如我这
里拷贝到了“/home/topeet/linux”目录,如下图所示:
2
然后使用“tar -xvf root_20140912.tar.gz”命令解压 linux 文件系统,如下图所示:
3
解压完成后,输入“ls”命令,可以看到生成了”root“文件夹
6. 请问下如果项目需要运行Linux系统,能够使用Python操作GPIO,带eMMC 存储,香橙派有哪款开发板合适呢
这款最合适,树莓派
7. zynqmp 怎么将linux系统下载到emmc
1,vivado硬件配置,要选择EMMC代表的SD1;
2,编译petalinux:执行petalinux-config。
(1)选择Subsystem AUTO Hardware Setting
-> Advanced bootable images storage settings
->boot image settings;
选择primary flash,这里是将BOOT.bin设置为从qspi flash启动
(2)选择Subsystem AUTO Hardware Setting
-> Advanced bootable images storage settings
->kernel image settings;
选择primary sd,进入后我们看到这里实际就是设置image.ub的存放区域。
(3)选择Image Packaging Configuration,设置启动启动文件系统所在位置;
在设置启动方式的时候,如下两张图这样设置读取根文件系统的位置/dev/mmcblk1p2。
(4)设置你的驱动然后编译,依次执行:petalinux-config -c kernel;petalinux-config -c rootfs;
petalinux-build;petalinux-package --boot --fsbl ./images/linux/zynq_fsbl.elf --fpga --u-boot --force;
3,做之前先分区(把EMMC分区),先做一个SD卡启动的petalinux文件,
petalinux系统在zynq上面启动起来以后就进行如下分区:即是mmcblk1分为mmcblk1p1和mmcblk1p2
具体步骤如下:
(1) 把EMMC进行分区,执行命令: fdisk /dev/mmcblk1
(2)使用n命令,添加一个新的分区
Command (m for help): n
Command action
e extended
p primary partition (1-4)
选择p,添加主分区
,(3)选择分区号,选择1,
Partition number (1-4): 1 // 选择分区号
First cylinder (1-238592, default 1): Using default value 1 // 选择分区的第一个柱面,选择1
Last cylinder or +size or +sizeM or +sizeK (1-238592, default 238592): Using default value 238592 // 选择最后一个柱面
注意:1-238592,first要选第一个数,last要选择的比238592小,其中1024就是表示1M
(4)使用t命令,设置分区格式
Command (m for help): t
Selected partition 1
Hex code (type L to list codes): b
Changed system type of partition 1 to b (Win95 FAT32)
(5)使用w命令,保存配置,必须保存配置
Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table
(6)使用对应文件系统工具对分析进行格式化(只能在debian里面才能识别命令)
mkfs.fat /dev/mmcblk1p1 设置为fat32格式
mkfs.ext4 /dev/mmcblk1p2设置为ext4格式
注意:执行完w命令然后才算分区成功,执行完mkfs命令才算格设置内存属性成功。
以上分区完成后,可以使用p命令,显示分区信息;也可以使用用d命令表示删除分区
Command (m for help): p
Disk /dev/mmcblk0: 7818 MB, 7818182656 bytes
4 heads, 16 sectors/track, 238592 cylinders
Units = cylinders of 64 * 512 = 32768 bytes
Device Boot Start End Blocks Id System
/dev/mmcblk0p1 1 238592 7634936 83 Linux
(7)执行这句:mkdosfs -F 32 /dev/mmcblk0p1
当然,可以重复上述步骤,多分几个区,用来存放不同的状态:
FLASH要要用来存放BOOT.bin
第一个分区用来存放image.ub或者设备树(比如uImage和devicetree.dtb)等文件;--可以设置为128MB
第二个分区用来存放用户数据(比如可执行程序);可以设置为2048MB
第三个分区用来存放程序执行需要的库文件(opencv的库,qtcreator库,相机库,视频编码解码库等);剩余的1个多GB
4,把系统同步到ext4里面
先把sd卡里面系统挂载进来 :mount /dev/mmcblk0p2 /mnt
再把刚刚弄好的系统挂进来: mount /dev/mmcblk1p2 /tmp , 然后cd /mnt
然后进入把SD卡里面的系统同步到emmc里面:rsync -av ./* /tmp ,时间有点久,直到结束为止。
(要是不用SD卡也可以挂载U盘,解压,然后进行系统同步到EMMC所挂载的地方/tmp)
5,然后将BOOT.BIN和image.ub烧录到QSPI-FLASH中
首先擦除QSPI-FLASH:flash_eraseall /dev/mtd0
存放BOOT.bin到flash : flashcp BOOT.bin /dev/mtd0
此处若是将image.ub写入emmc的FAT分区中(不存放到flash中),先使用mount挂载eMMC的FAT分区,
然后将image.ub使用cp指令拷贝进 /mnt/mmcFat即可,也就是把uImage 拷贝到 /dev/mmcblk1p1;
进入uImage所在目录,然后执行 cp uImage /tmp;也就是把uImage存放到了 /dev/mmcblk1p1里面。
6,最后断电拔出SD卡,将拨码开关设置为flash启动,就能看到petalinux启动起来;
7,报错及其解决办法
————————————————
版权声明:本文为CSDN博主“寒听雪落”的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wangjie36/article/details/104740448/
8. NANDFLASH与eMMC的区别
NANDFLASH与eMMC的区别为:来源不同、用途不同、读取不同。
一、来源不同
1、NANDFLASH:NANDFLASH是东芝在1989年的国际固态电路研讨会(ISSCC)上发表的。
2、eMMC:eMMC为MMC协会所订立的。
二、用途不同
1、NANDFLASH:NANDFLASH适合用于储存卡之类的大量存储设备。
2、eMMC:eMMC主要是针对手机或平板电脑等产品的内嵌式存储器标准规格。
三、读取不同
1、NANDFLASH:NANDFLASHI/O接口并没有随机存取外部地址总线,它必须以区块性的方式进行读取。
2、eMMC:eMMC在封装中集成了一个控制器,提供标准接口进行读取并管理闪存。
9. arm linux 从emmc启动,uboot怎样校验kernel和rootfs的完整性
问题太模糊无法回答,eMMC芯片是有boot区的,一般都有boot1和boot2两个区域。从boot启动,需要你的主控器进行配置选择才能进行,比如SmartPRO III软件里面就有这个设置: