前 言:
NAND FLASH版本和eMMC版本核心板使用方法基本一致。本文主要描述U-Boot編譯、基礎設備樹文件編譯、固化Linux系統NAND FLASH分區說明和NAND FLASH啟動系統、固化Linux系統、AND FLASH讀寫測試等,NAND FLASH版本與eMMC版本核心板在使用方面的不同之處,相同之處將不重復描述。
創龍科技TL335x-EVM-S是一款基于TI Sitara系列AM3352/AM3354/AM3359 ARM Cortex-A8高性能低功耗處理器設計的評估板。
評估板接口資源豐富,引出雙路千兆網口、LCD、HDMI、GPMC、CAN等接口,方便用戶快速進行產品方案評估與技術預研,應用在通訊管理、數據采集、人機交互、運動控制、智能電力等典型領域。
U-Boot編譯
進行U-Boot編譯選項配置時,請執行如下命令。
Host# make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- am335x_evm_s_nandboot_defconfig
圖 1
我司提供經過驗證的U-Boot鏡像文件位于產品資料“4-軟件資料\Linux\U-Boot\image\u-boot-2017.01-[Git系列號]-[版本號]\”目錄下,分別為MLO-nand、u-boot.img-nand。系統啟動卡制作完成后,請將MLO-nand和u-boot.img-nand文件復制到系統啟動卡BOOT分區下,備份原有的eMMC版本MLO、u-boot.img文件,并將MLO-nand和u-boot.img-nand文件重命名為MLO、u-boot.img。
圖 2
Host# sudo cp MLO-nand MLO
Host# sudo cp u-boot.img-nand u-boot.img
圖 3
基礎設備樹文件編譯
基礎設備樹源文件為內核源碼“arch/arm/boot/dts/”目錄下的tl335x-evm-s-nandflash.dts和tl335x-evm-s-nandflash-hdmi.dts,重新編譯基礎設備樹時請使用此文件。我司提供經過驗證的基礎設備樹文件為產品資料“4-軟件資料\Linux\Kernel\image\linux-rt-4.9.65-[Git系列號]-[版本號]\”目錄下的tl335x-evm-s-nandflash.dtb和tl335x-evm-s-nandflash-hdmi.dtb,請將其分別復制到系統啟動卡rootfs分區以及rootfs-backup分區的boot目錄下。
圖 4
請執行如下命令將tl335x-evm.dtb軟鏈到tl335x-evm-s-nandflash.dtb文件。tl335x-evm-s-nandflash.dtb支持LCD顯示,如需使用HDMI顯示,則將tl335x-evm.dtb軟鏈到tl335x-evm-nandflash-hdmi.dtb文件即可。
Host# sudo rm tl335x-evm.dtb
Host# sudo ln -s tl335x-evm-s-nandflash.dtb tl335x-evm.dtb
Host# ls -l
圖 5
使用替換了U-Boot和基礎設備樹文件的Linux系統啟動卡啟動評估板,進入文件系統執行如下命令可查看到NAND FLASH分區信息,即說明文件替換成功。
Target# cat /proc/mtd
圖 6
固化Linux系統
本章節介紹Linux系統固化過程,包括固化U-Boot、內核、設備樹和文件系統至NAND FLASH。
NAND FLASH分區說明
進入評估板系統后執行如下命令,查看NAND FLASH分區信息。
Target# cat /proc/mtd
圖 7
表 1
NAND FLASH | MTD0 | nand.spl:存放U-Boot第一階段啟動文件MLO |
MTD1 | nand.u-boot:存放U-Boot第二階段啟動文件u-boot.img | |
MTD2 | nand.env:存放環境變量 | |
MTD3 | nand.devicetree:存放設備樹文件 | |
MTD4 | nand.kernel:存放內核鏡像 | |
MTD5 | nand.logo:存放LOGO文件 | |
MTD6 | nand.mini-fs:備用分區,一般存放小型文件系統(暫未使用) | |
MTD7 | nand.rootfs:存放文件系統 |
固化Linux系統
Linux系統啟動卡制作時,已將系統固化的腳本文件mknandboot.sh復制到了Linux系統啟動卡文件系統的“/opt/tools/”目錄下。
圖 8
執行如下命令進行一鍵固化。
Target# /opt/tools/mknandboot.sh
圖 9
腳本會進行如下操作:
- 擦除NAND FLASH。
- 將Linux系統啟動卡BOOT分區中的U-Boot、LOGO固化至NAND FLASH對應分區。
- 將Linux系統啟動卡rootfs-backup分區中的文件系統boot目錄下的內核鏡像和基礎設備樹文件固化至NAND FLASH對應分區。
- 將Linux系統啟動卡rootfs-backup分區中的文件系統固化至NAND FLASH對應分區。
用時約5~10min,Linux系統固化成功,同時串口調試終端打印提示信息。
從NAND FLASH啟動系統
評估板斷電,將Linux系統啟動卡從評估板Micro SD卡槽中取出,根據評估底板絲印將撥碼開關撥為10110(1~5),此檔位為NAND FLASH啟動模式。評估板上電,串口調試終端將會打印如下類似啟動信息。
圖 10
圖 11
NAND FLASH讀寫測試
本章節對NAND FLASH的MTD6分區進行讀寫速度測試。MTD6是NAND FLASH的備用分區,一般存放小型文件系統,大小為32MByte。讀寫測試會將該分區內容擦除,請做好數據備份。
執行如下命令查詢NAND FLASH分區,確認MTD6分區大小(讀寫請勿超出分區大小),將該分區內容擦除。
Target# cat /proc/mtd
Target# flash_erase /dev/mtd6 0 0
圖 12
NAND FLASH寫速度測試
進入評估板文件系統,執行如下命令對NAND FLASH進行寫速度測試。
Target# time dd if=/dev/zero of=/dev/mtd6 bs=1024k count=30
圖 13
此處一共寫30MByte測試數據到NAND FLASH的MTD6分區下,可看到本次測試的NAND FLASH寫速度約為:30MByte/7.79s=3.85MB/s。
NAND FLASH讀速度測試
重啟評估板,進入評估板文件系統,執行如下命令對NAND FLASH進行讀速度測試。
Target# time dd if=/dev/mtd6 of=/dev/null bs=1024k count=30
圖 14
此處從NAND FLASH的MTD6分區讀取30MByte數據,可看到本次測試的NAND FLASH讀速度約為:30MByte/4.44s=6.75MB/s。
-
FPGA
+關注
關注
1630文章
21759瀏覽量
604370 -
ARM
+關注
關注
134文章
9111瀏覽量
368041 -
嵌入式
+關注
關注
5087文章
19148瀏覽量
306186
發布評論請先 登錄
相關推薦
評論