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軟體裡面就有這個設置: