前 言:
NAND FLASH版本和eMMC版本核心板使用方法基本一致。本文主要描述U-Boot編譯、基礎(chǔ)設(shè)備樹(shù)文件編譯、固化Linux系統(tǒng)NAND FLASH分區(qū)說(shuō)明和NAND FLASH啟動(dòng)系統(tǒng)、固化Linux系統(tǒng)、AND FLASH讀寫(xiě)測(cè)試等,NAND FLASH版本與eMMC版本核心板在使用方面的不同之處,相同之處將不重復(fù)描述。
創(chuàng)龍科技TL335x-EVM-S是一款基于TI Sitara系列AM3352/AM3354/AM3359 ARM Cortex-A8高性能低功耗處理器設(shè)計(jì)的評(píng)估板。

評(píng)估板接口資源豐富,引出雙路千兆網(wǎng)口、LCD、HDMI、GPMC、CAN等接口,方便用戶快速進(jìn)行產(chǎn)品方案評(píng)估與技術(shù)預(yù)研,應(yīng)用在通訊管理、數(shù)據(jù)采集、人機(jī)交互、運(yùn)動(dòng)控制、智能電力等典型領(lǐng)域。
U-Boot編譯
進(jìn)行U-Boot編譯選項(xiàng)配置時(shí),請(qǐng)執(zhí)行如下命令。
Host# make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- am335x_evm_s_nandboot_defconfig

圖 1
我司提供經(jīng)過(guò)驗(yàn)證的U-Boot鏡像文件位于產(chǎn)品資料“4-軟件資料\Linux\U-Boot\image\u-boot-2017.01-[Git系列號(hào)]-[版本號(hào)]\”目錄下,分別為MLO-nand、u-boot.img-nand。系統(tǒng)啟動(dòng)卡制作完成后,請(qǐng)將MLO-nand和u-boot.img-nand文件復(fù)制到系統(tǒng)啟動(dòng)卡BOOT分區(qū)下,備份原有的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
基礎(chǔ)設(shè)備樹(shù)文件編譯
基礎(chǔ)設(shè)備樹(shù)源文件為內(nèi)核源碼“arch/arm/boot/dts/”目錄下的tl335x-evm-s-nandflash.dts和tl335x-evm-s-nandflash-hdmi.dts,重新編譯基礎(chǔ)設(shè)備樹(shù)時(shí)請(qǐng)使用此文件。我司提供經(jīng)過(guò)驗(yàn)證的基礎(chǔ)設(shè)備樹(shù)文件為產(chǎn)品資料“4-軟件資料\Linux\Kernel\image\linux-rt-4.9.65-[Git系列號(hào)]-[版本號(hào)]\”目錄下的tl335x-evm-s-nandflash.dtb和tl335x-evm-s-nandflash-hdmi.dtb,請(qǐng)將其分別復(fù)制到系統(tǒng)啟動(dòng)卡rootfs分區(qū)以及rootfs-backup分區(qū)的boot目錄下。

圖 4
請(qǐng)執(zhí)行如下命令將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和基礎(chǔ)設(shè)備樹(shù)文件的Linux系統(tǒng)啟動(dòng)卡啟動(dòng)評(píng)估板,進(jìn)入文件系統(tǒng)執(zhí)行如下命令可查看到NAND FLASH分區(qū)信息,即說(shuō)明文件替換成功。
Target# cat /proc/mtd

圖 6
固化Linux系統(tǒng)
本章節(jié)介紹Linux系統(tǒng)固化過(guò)程,包括固化U-Boot、內(nèi)核、設(shè)備樹(shù)和文件系統(tǒng)至NAND FLASH。
NAND FLASH分區(qū)說(shuō)明
進(jìn)入評(píng)估板系統(tǒng)后執(zhí)行如下命令,查看NAND FLASH分區(qū)信息。
Target# cat /proc/mtd

圖 7
表 1
NAND FLASH | MTD0 | nand.spl:存放U-Boot第一階段啟動(dòng)文件MLO |
MTD1 | nand.u-boot:存放U-Boot第二階段啟動(dòng)文件u-boot.img | |
MTD2 | nand.env:存放環(huán)境變量 | |
MTD3 | nand.devicetree:存放設(shè)備樹(shù)文件 | |
MTD4 | nand.kernel:存放內(nèi)核鏡像 | |
MTD5 | nand.logo:存放LOGO文件 | |
MTD6 | nand.mini-fs:備用分區(qū),一般存放小型文件系統(tǒng)(暫未使用) | |
MTD7 | nand.rootfs:存放文件系統(tǒng) |
固化Linux系統(tǒng)
Linux系統(tǒng)啟動(dòng)卡制作時(shí),已將系統(tǒng)固化的腳本文件mknandboot.sh復(fù)制到了Linux系統(tǒng)啟動(dòng)卡文件系統(tǒng)的“/opt/tools/”目錄下。

圖 8
執(zhí)行如下命令進(jìn)行一鍵固化。
Target# /opt/tools/mknandboot.sh

圖 9
腳本會(huì)進(jìn)行如下操作:
- 擦除NAND FLASH。
- 將Linux系統(tǒng)啟動(dòng)卡BOOT分區(qū)中的U-Boot、LOGO固化至NAND FLASH對(duì)應(yīng)分區(qū)。
- 將Linux系統(tǒng)啟動(dòng)卡rootfs-backup分區(qū)中的文件系統(tǒng)boot目錄下的內(nèi)核鏡像和基礎(chǔ)設(shè)備樹(shù)文件固化至NAND FLASH對(duì)應(yīng)分區(qū)。
- 將Linux系統(tǒng)啟動(dòng)卡rootfs-backup分區(qū)中的文件系統(tǒng)固化至NAND FLASH對(duì)應(yīng)分區(qū)。
用時(shí)約5~10min,Linux系統(tǒng)固化成功,同時(shí)串口調(diào)試終端打印提示信息。
從NAND FLASH啟動(dòng)系統(tǒng)
評(píng)估板斷電,將Linux系統(tǒng)啟動(dòng)卡從評(píng)估板Micro SD卡槽中取出,根據(jù)評(píng)估底板絲印將撥碼開(kāi)關(guān)撥為10110(1~5),此檔位為NAND FLASH啟動(dòng)模式。評(píng)估板上電,串口調(diào)試終端將會(huì)打印如下類(lèi)似啟動(dòng)信息。

圖 10

圖 11
NAND FLASH讀寫(xiě)測(cè)試
本章節(jié)對(duì)NAND FLASH的MTD6分區(qū)進(jìn)行讀寫(xiě)速度測(cè)試。MTD6是NAND FLASH的備用分區(qū),一般存放小型文件系統(tǒng),大小為32MByte。讀寫(xiě)測(cè)試會(huì)將該分區(qū)內(nèi)容擦除,請(qǐng)做好數(shù)據(jù)備份。
執(zhí)行如下命令查詢NAND FLASH分區(qū),確認(rèn)MTD6分區(qū)大小(讀寫(xiě)請(qǐng)勿超出分區(qū)大小),將該分區(qū)內(nèi)容擦除。
Target# cat /proc/mtd
Target# flash_erase /dev/mtd6 0 0

圖 12
NAND FLASH寫(xiě)速度測(cè)試
進(jìn)入評(píng)估板文件系統(tǒng),執(zhí)行如下命令對(duì)NAND FLASH進(jìn)行寫(xiě)速度測(cè)試。
Target# time dd if=/dev/zero of=/dev/mtd6 bs=1024k count=30

圖 13
此處一共寫(xiě)30MByte測(cè)試數(shù)據(jù)到NAND FLASH的MTD6分區(qū)下,可看到本次測(cè)試的NAND FLASH寫(xiě)速度約為:30MByte/7.79s=3.85MB/s。
NAND FLASH讀速度測(cè)試
重啟評(píng)估板,進(jìn)入評(píng)估板文件系統(tǒng),執(zhí)行如下命令對(duì)NAND FLASH進(jìn)行讀速度測(cè)試。
Target# time dd if=/dev/mtd6 of=/dev/null bs=1024k count=30

圖 14
此處從NAND FLASH的MTD6分區(qū)讀取30MByte數(shù)據(jù),可看到本次測(cè)試的NAND FLASH讀速度約為:30MByte/4.44s=6.75MB/s。
-
FPGA
+關(guān)注
關(guān)注
1643文章
21985瀏覽量
615080 -
ARM
+關(guān)注
關(guān)注
134文章
9322瀏覽量
375594 -
嵌入式
+關(guān)注
關(guān)注
5143文章
19569瀏覽量
315649
發(fā)布評(píng)論請(qǐng)先 登錄
搭載ARM,NPU,F(xiàn)PGA三種核心的開(kāi)發(fā)板—米爾安路DR1M90飛龍派
有ARM,NPU,F(xiàn)PGA三種核心的開(kāi)發(fā)板 — 米爾安路飛龍派開(kāi)發(fā)板

米爾基于瑞芯微RK3506核心板開(kāi)發(fā)板
迅為瑞芯微iTOP-3588開(kāi)發(fā)板/核心板
STM32MP25x開(kāi)發(fā)板Bring Up培訓(xùn)課程(下)

迅為電子發(fā)布16GB+128GB高配3588核心板
am335x開(kāi)發(fā)板能否支持Vxworks操作系統(tǒng)的移植?
適用于AM335x TRF7970A的neard(Linux NFC)構(gòu)建說(shuō)明

AM335x硬件設(shè)計(jì)指南

AM335x和AM43xx Sitara處理器USB布局指南

AM3517/AM3505高性能ARM Cortex-A8微處理器數(shù)據(jù)表

評(píng)論