找回密码
 注册
关于网站域名变更的通知
查看: 287|回复: 1
打印 上一主题 下一主题

NAND FLASH版本核心板使用说明

[复制链接]
  • TA的每日心情
    奋斗
    2020-3-25 15:17
  • 签到天数: 1 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
    发表于 2020-9-8 10:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x
    前言NAND FLASH版本和eMMC版本核心板使用方法基本一致。本文主要描述NAND FLASH版本与eMMC版本核心板在使用方面的不同之处,相同之处将不重复描述。
    & M& t9 \4 G( }1.U-Boot编译进行U-Boot编译选项配置时,请执行如下命令。
    # S& \7 B* W2 j2 ]  n' {% PHost#make ARCH=ARM CROSS_COMPILE=arm-linux-gnueabihf- am335x_evm_nandboot_config' r) K/ w. z3 l* L( b1 v
    1 z4 }, `4 W& V4 x9 m% ]6 N: S
    图 1
    7 f- V* Z: r4 b7 b) d, o
    我司提供经过验证的U-Boot镜像文件位于产品资料“4-软件资料/Linux/U-Boot/image/u-boot-2017.01-gad3370e-v2.1/”目录下,分别为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。$ `$ ^+ u6 f+ T1 x

    5 O7 I) g) V! `2 o" _( X
    图 2
    # e$ j, |; Z; v* B7 H
    Host#sudo cp MLO-nand MLO
    7 B% ^1 @2 u7 H; f' Z5 y0 v' ZHost#sudo cp u-boot.img-nand u-boot.img* ~. I+ Q2 S/ |5 q3 k2 @
    / f5 K. p5 s1 y8 I# N8 _* B4 S
    图 3

    6 z0 h4 ~' |& O* T& ]2.基础设备树文件编译基础设备树源文件为内核源码“arch/arm/boot/dts”目录下的tl335x-evm-nandflash.dts和tl335x-evm-nandflash-hdmi.dts,重新编译基础设备树时请使用此文件。我司提供经过验证的基础设备树文件为产品资料“4-软件资料/Linux/Kernel/image/linux-rt-4.9.65-gd8e636c-v2.1/”目录下的tl335x-evm-nandflash.dtb和tl335x-evm-nandflash-hdmi.dtb,请将其分别复制到系统启动卡rootfs分区以及rootfs-backup分区的boot目录下。
    " H7 }- \+ p! ]. p( ~
    5 v: S/ J9 z( h: g: e4 t
    图 4
    . f- ?) W: ~& C, e7 x& ?, d9 e
    请执行如下命令将tl335x-evm.dtb软链到tl335x-evm-nandflash.dtb文件。tl335x-evm-nandflash.dtb支持LCD显示,如需使用HDMI显示,则将tl335x-evm.dtb软链到tl335x-evm-nandflash-hdmi.dtb文件即可。2 {( p0 A  V: u" N: G( W* p
    Host#sudo rm tl335x-evm.dtb, [' r& Q& ^& u6 a  N
    Host#sudo ln -s tl335x-evm-nandflash.dtb tl335x-evm.dtb
    ! f9 t+ _3 V$ h. p+ P6 K  S; AHost#ls -l% H( {- Z# q: w! R/ ~
    6 d3 g( ~" h7 }- g3 Z+ W% i! c7 ^$ z
    图 5
    " |$ E) L; o* F; V/ {4 q/ v" [. |
    使用替换了U-Boot和基础设备树文件的Linux系统启动卡启动评估板,进入文件系统执行如下命令可查看到NAND FLASH分区信息,即说明文件替换成功。+ q5 y6 A9 C% Q$ }6 z
    Host#cat /proc/mtd8 P0 |! L9 }  X
    9 x  G# ~6 {- j9 U) |5 A" p
    图 6
    " c' G* N% L2 V, ?- G; U3 n7 k0 ]' K' k
    3.固化Linux系统本章节介绍Linux系统固化过程,包括固化U-Boot到SPI FLASH和固化文件系统到NAND FLASH。固化成功后,评估板即可从SPI FLASH启动U-Boot,然后从NAND FLASH加载内核、设备树和文件系统。3 e! R: }+ u, y# p; L
    • SPI FLASH、NAND FLASH分区说明9 _; ~, S6 s& X0 q$ O3 }3 ^6 D
    进入评估板系统后执行如下命令,查看SPI FLASH和NAND FLASH分区信息。
    & \5 I0 B4 u+ f- R6 p+ T6 ]$ Q; sTarget#cat /proc/mtd
    8 n2 p  j3 s# d& Y7 ?1 ]
    + L& G: @' Y6 ], V' t4 o) r: W
    图 7
    9 l9 u+ F  U0 \% C0 ?
    SPI FLASH
    , d: o9 Q' I" r+ g: |
    MTD0& ^: f* ?' a/ H, {6 ~
    spi.spl:存放U-Boot第一阶段启动文件MLO5 n3 P- |! j4 ~8 T/ h& ^
    MTD1
    / d) \# C1 D* b1 J: C
    spi.u-boot:存放U-Boot第二阶段启动文件u-boot.img
    2 a8 U  Y* W0 U+ U0 P) n/ a
    MTD2
    & F+ f' h% L6 r
    spi.env:存放环境变量
    ) D; z  n) Y" G& m# H9 A) _
    MTD32 }- T# l1 t- a) J/ H
    spi.devicetree:存放设备树文件(暂未使用)
    & h% Q9 L4 v4 l3 A! i$ |
    MTD4
      h6 f2 U& ~$ A* V+ h
    spi.kernel:存放内核镜像(暂未使用)
    7 e# x2 `6 @7 {" @/ W7 s
    NAND FLASH
    . r, S5 N) \. x, e3 I
    MTD5$ e, l5 m- _8 F+ R- }
    nand.spl:存放U-Boot第一阶段启动文件MLO(暂未使用)
    & h% ?% w4 E0 O
    MTD6/ X/ J$ A% c7 c3 W; F. s' e. @6 |
    nand.u-boot:存放U-Boot第二阶段启动文件u-boot.img(暂未使用)# r  R3 B! D$ Y# ?+ D
    MTD7, j( k/ l3 B" S
    nand.env:存放环境变量(暂未使用)
    5 h( z# ^, n8 M- x  Q
    MTD8
    % [; Y# ^/ E" A1 n
    nand.devicetree:存放设备树文件
    2 P% U  L7 a1 \7 `
    MTD9
    % [& w% k8 ]4 R1 k+ a: ]4 c
    nand.kernel:存放内核镜像
    , Q) [1 i' p2 {4 O
    MTD102 M( t+ z- i$ G, @9 i
    nand.logo:存放LOGO文件) {: h& h" D- Z1 ~' C9 W3 k  X/ o
    MTD11
    4 J7 M: p+ `1 C* u3 c
    nand.mini-fs:备用分区,一般存放小型文件系统(暂未使用)
    + \* `3 Z' }7 p/ E# x1 {* t
    MTD121 |1 K2 ]# m: f4 b* X) k$ w- Q
    nand.rootfs:存放文件系统2 G5 s+ P7 t5 D5 e

    1 o- c6 v1 X4 B! Y: W
    • 固化Linux系统
      . r. N, F  ~7 i+ o: a* w
    Linux系统启动卡制作时,已将系统固化的脚本文件mknandboot.sh复制到了Linux系统启动卡文件系统的“/opt/tools/make-system”目录下。! ^6 K) J) s% R3 H! t+ x- v

    * W0 T$ u- z6 q
    图 8

    & q% M! c, Y7 W1 m7 [4 S" R4 O执行如下命令进行一键固化。
    4 ^4 d+ g, m2 n+ R. BTarget#/opt/tools/make-system/mknandboot.sh  L. H$ ^' B( o) y+ ~& Z6 t
      R  a" R# P! ?" ~2 Y; ~
    图 9

    : o, J9 B5 B0 u; [) G$ U脚本会进行如下操作:2 G* u& W- z9 @% C! g) {! _
    • 擦除SPI FLASH、NAND FLASH。
    • 将Linux系统启动卡BOOT分区中的U-Boot固化到SPI FLASH对应分区。
    • 将Linux系统启动卡BOOT分区中的LOGO固化到NAND FLASH对应分区。
    • 将Linux系统启动卡rootfs-backup分区中的文件系统boot目录下的内核镜像和基础设备树文件固化到NAND FLASH对应分区。
    • 将Linux系统启动卡rootfs-backup分区中的文件系统固化到NAND FLASH对应分区。
      - D' T% x( ~1 a. u; H) @5 t
    用时约5~10min,Linux系统固化成功,同时串口调试终端打印提示信息。. a' X" F9 A' X' C1 f. I* k/ O! F4 p8 d
    备注:脚本文件会将设备树文件和内核镜像固化到SPI FLASH中,实际启动并不会从SPI FLASH中加载设备树和内核镜像。
    / e" z6 e  h2 M8 i7 \9 A; b
    , ^: g; d( l) a+ J' Q, \& H" y3 N4.从SPI+NAND FLASH启动系统评估板断电,将Linux系统启动卡从评估板Micro SD卡槽中取出,根据评估底板丝印将拨码开关拨为10010(1~5),此档位为SPI FLASH启动模式。评估板上电,串口调试终端将会打印如下类似启动信息。' \: b8 X8 s7 [# A
    ) R& G! x: a( [  `
    图 10

    / ]; j& B0 v2 e" h+ }

    : H$ z7 f+ p4 r! T1 I2 f
    图 11
    6 h) Z0 ]& L/ U. |) L
    5.NAND FLASH读写测试本章节对NAND FLASH的MTD11分区进行读写速度测试。MTD11是NAND FLASH的备用分区,一般存放小型文件系统,大小为32MByte。读写测试会将该分区内容擦除,请做好数据备份。6 R0 s) P9 |6 I2 x8 [+ n) b2 s
    执行如下命令查询NAND FLASH分区,确认MTD11分区大小(读写请勿超出分区大小),将该分区内容擦除。
    + L% b' E5 d! P. b7 P1 lTarget#cat /proc/mtd& U7 C% w/ l6 z( n# F# {
    Target# flash_erase /dev/mtd11 0 0
    # Y2 l3 R; A2 ~
    % U. S+ `- `  U9 d8 i
    图 12

    $ `0 t' x+ t: y
    • NAND FLASH写速度测试& `) O+ s0 U' i" a- }. r. f" q
    进入评估板文件系统,执行如下命令对NAND FLASH进行写速度测试。
    / L7 S) ?2 c% e9 ?5 nTarget#time dd if=/dev/zero of=/dev/mtd11 bs=1024k count=30+ v0 Y, |8 T6 t

    3 h' u" ^+ b( R% [$ K
    图 13

    0 J1 `# T6 M& \+ c此处一共写30MByte测试数据到NAND FLASH的MTD11分区下,可看到本次测试的NAND FLASH写速度约为:30MB/8.24s=3.64MB/s。
    1 m( }5 U9 A! Q  q2 \- U
    • NAND FLASH读速度测试
      / ^( v3 @& p, `6 x1 F4 O' w- a; S4 {
    重启评估板,进入评估板文件系统,执行如下命令对NAND FLASH进行读速度测试。
    / b  W2 l& a$ h6 X. MTarget#time dd if=/dev/mtd11 of=/dev/null bs=1024k count=30
    % \' J; U& J8 Z" }: y/ B0 L1 I% ]
    5 y* I  l- c8 \/ x1 ]
    图 14
    此处从NAND FLASH的MTD11分区读取30MByte数据,可看到本次测试的NAND FLASH读速度约为:30MB/4.47s=6.71MB/s。' x2 D( \8 d2 x$ h) w% `

    1 g. T, i# |( J1 R8 ]
  • TA的每日心情
    慵懒
    2020-8-28 15:16
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    2#
    发表于 2020-9-8 13:41 | 只看该作者
    NAND FLASH版本与eMMC版本核心板在使用方面的不同
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-11-25 01:15 , Processed in 0.156250 second(s), 23 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表