電子產(chǎn)業(yè)一站式賦能平臺(tái)

PCB聯(lián)盟網(wǎng)

搜索
查看: 1698|回復(fù): 1
收起左側(cè)

NAND FLASH版本核心板使用說(shuō)明

[復(fù)制鏈接]

678

主題

902

帖子

8293

積分

高級(jí)會(huì)員

Rank: 5Rank: 5

積分
8293
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2020-9-8 10:59:32 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
前言NAND FLASH版本和eMMC版本核心板使用方法基本一致。本文主要描述NAND FLASH版本與eMMC版本核心板在使用方面的不同之處,相同之處將不重復(fù)描述。
1.U-Boot編譯進(jìn)行U-Boot編譯選項(xiàng)配置時(shí),請(qǐng)執(zhí)行如下命令。
Host#make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- am335x_evm_nandboot_config
​
圖 1

我司提供經(jīng)過(guò)驗(yàn)證的U-Boot鏡像文件位于產(chǎn)品資料“4-軟件資料/Linux/U-Boot/image/u-boot-2017.01-gad3370e-v2.1/”目錄下,分別為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

2.基礎(chǔ)設(shè)備樹(shù)文件編譯基礎(chǔ)設(shè)備樹(shù)源文件為內(nèi)核源碼“arch/arm/boot/dts”目錄下的tl335x-evm-nandflash.dts和tl335x-evm-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-gd8e636c-v2.1/”目錄下的tl335x-evm-nandflash.dtb和tl335x-evm-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-nandflash.dtb文件。tl335x-evm-nandflash.dtb支持LCD顯示,如需使用HDMI顯示,則將tl335x-evm.dtb軟鏈到tl335x-evm-nandflash-hdmi.dtb文件即可。
Host#sudo rm tl335x-evm.dtb
Host#sudo ln -s tl335x-evm-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ō)明文件替換成功。
Host#cat /proc/mtd
​
圖 6

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

SPI FLASH
MTD0
spi.spl:存放U-Boot第一階段啟動(dòng)文件MLO
MTD1
spi.u-boot:存放U-Boot第二階段啟動(dòng)文件u-boot.img
MTD2
spi.env:存放環(huán)境變量
MTD3
spi.devicetree:存放設(shè)備樹(shù)文件(暫未使用)
MTD4
spi.kernel:存放內(nèi)核鏡像(暫未使用)
NAND FLASH
MTD5
nand.spl:存放U-Boot第一階段啟動(dòng)文件MLO(暫未使用)
MTD6
nand.u-boot:存放U-Boot第二階段啟動(dòng)文件u-boot.img(暫未使用)
MTD7
nand.env:存放環(huán)境變量(暫未使用)
MTD8
nand.devicetree:存放設(shè)備樹(shù)文件
MTD9
nand.kernel:存放內(nèi)核鏡像
MTD10
nand.logo:存放LOGO文件
MTD11
nand.mini-fs:備用分區(qū),一般存放小型文件系統(tǒng)(暫未使用)
MTD12
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/make-system”目錄下。
​
圖 8

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

腳本會(huì)進(jìn)行如下操作:
  • 擦除SPI FLASH、NAND FLASH。
  • 將Linux系統(tǒng)啟動(dòng)卡BOOT分區(qū)中的U-Boot固化到SPI FLASH對(duì)應(yīng)分區(qū)。
  • 將Linux系統(tǒng)啟動(dòng)卡BOOT分區(qū)中的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)試終端打印提示信息。
備注:腳本文件會(huì)將設(shè)備樹(shù)文件和內(nèi)核鏡像固化到SPI FLASH中,實(shí)際啟動(dòng)并不會(huì)從SPI FLASH中加載設(shè)備樹(shù)和內(nèi)核鏡像。

4.從SPI+NAND FLASH啟動(dòng)系統(tǒng)評(píng)估板斷電,將Linux系統(tǒng)啟動(dòng)卡從評(píng)估板Micro SD卡槽中取出,根據(jù)評(píng)估底板絲印將撥碼開(kāi)關(guān)撥為10010(1~5),此檔位為SPI FLASH啟動(dòng)模式。評(píng)估板上電,串口調(diào)試終端將會(huì)打印如下類似啟動(dòng)信息。
​
圖 10

​
圖 11

5.NAND FLASH讀寫(xiě)測(cè)試本章節(jié)對(duì)NAND FLASH的MTD11分區(qū)進(jìn)行讀寫(xiě)速度測(cè)試。MTD11是NAND FLASH的備用分區(qū),一般存放小型文件系統(tǒng),大小為32MByte。讀寫(xiě)測(cè)試會(huì)將該分區(qū)內(nèi)容擦除,請(qǐng)做好數(shù)據(jù)備份。
執(zhí)行如下命令查詢NAND FLASH分區(qū),確認(rèn)MTD11分區(qū)大。ㄗx寫(xiě)請(qǐng)勿超出分區(qū)大。,將該分區(qū)內(nèi)容擦除。
Target#cat /proc/mtd
Target# flash_erase /dev/mtd11 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/mtd11 bs=1024k count=30
​
圖 13

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

嵌入式DSP、ARM、FPGA多核技術(shù)開(kāi)發(fā),學(xué)習(xí)資料下載:http://site.tronlong.com/pfdownload

發(fā)表回復(fù)

本版積分規(guī)則


聯(lián)系客服 關(guān)注微信 下載APP 返回頂部 返回列表