找回密码
 注册
关于网站域名变更的通知
查看: 282|回复: 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版本核心板在使用方面的不同之处,相同之处将不重复描述。
      X* ]8 {6 ~6 }7 m& s: }$ H1.U-Boot编译进行U-Boot编译选项配置时,请执行如下命令。* V2 l9 \2 A& u) G7 ?: a: E
    Host#make ARCH=ARM CROSS_COMPILE=arm-linux-gnueabihf- am335x_evm_nandboot_config
    ; m( `2 O$ C, {9 v' B. A

    9 W9 o* Z' B6 T1 C# d6 Z- D2 F
    图 1
    ( r* h, x$ v: K0 L
    我司提供经过验证的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。, J3 ]7 o% U( l' L8 J% o8 a& W: y
    8 I7 d9 r5 a8 E0 ]8 F9 Z; M1 M
    图 2

    " c6 m, y" n3 @% A. cHost#sudo cp MLO-nand MLO
    $ x7 x) d' U2 k% v+ l* l5 s1 R* vHost#sudo cp u-boot.img-nand u-boot.img7 Z& ?& R* J' ?* M. |

    9 n4 ?) N6 b0 n' }# }" a/ t4 }, l
    图 3

    0 w% o- f# Z! F* c2.基础设备树文件编译基础设备树源文件为内核源码“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目录下。
    # @  f3 }6 G# M5 o: H! @0 B
    $ f) X' h& d: u9 s0 L( {* h( J
    图 4
    4 t0 _2 T) H/ [- ?
    请执行如下命令将tl335x-evm.dtb软链到tl335x-evm-nandflash.dtb文件。tl335x-evm-nandflash.dtb支持LCD显示,如需使用HDMI显示,则将tl335x-evm.dtb软链到tl335x-evm-nandflash-hdmi.dtb文件即可。
    % O6 D2 X& R3 t" M2 u! `Host#sudo rm tl335x-evm.dtb" c# s: _" P% |0 h
    Host#sudo ln -s tl335x-evm-nandflash.dtb tl335x-evm.dtb
    7 A, I' z4 [, k" x- j; |Host#ls -l
    ! @! G6 R% A2 S) [
    & F. Z6 v/ g4 Y; T$ s' [8 }
    图 5
    , B$ Z. |3 e% V( v3 y) y" g
    使用替换了U-Boot和基础设备树文件的Linux系统启动卡启动评估板,进入文件系统执行如下命令可查看到NAND FLASH分区信息,即说明文件替换成功。$ c+ q, |+ J/ z
    Host#cat /proc/mtd5 V9 @4 ~3 D, |4 q

    3 g+ ]- |& \1 P2 g
    图 6
    7 a4 a, B% a" K3 l! B
    3.固化Linux系统本章节介绍Linux系统固化过程,包括固化U-Boot到SPI FLASH和固化文件系统到NAND FLASH。固化成功后,评估板即可从SPI FLASH启动U-Boot,然后从NAND FLASH加载内核、设备树和文件系统。
    5 g4 {2 p' s9 S/ |/ e' D7 W
    • SPI FLASH、NAND FLASH分区说明2 y5 Q( M$ r& j6 G7 S0 D3 L
    进入评估板系统后执行如下命令,查看SPI FLASH和NAND FLASH分区信息。
    $ h2 ?0 d5 r  F  }6 i0 N8 x0 PTarget#cat /proc/mtd
    : r8 L0 [! M: m8 ]; I  D: {

    ( `) o; P% s. |  z  g8 g* ~
    图 7
    2 e5 N- K1 y( i) y2 M  `# ~
    SPI FLASH6 W3 L. z5 J" e; J8 j
    MTD0
      u0 I( U7 ?2 ~! ]; W7 w5 u) a
    spi.spl:存放U-Boot第一阶段启动文件MLO* L0 g% v0 v( D$ k/ B  ]
    MTD1' E: T5 `4 o: q+ j5 Y6 C
    spi.u-boot:存放U-Boot第二阶段启动文件u-boot.img$ k6 i8 Y1 `+ t% C
    MTD2
    * ]! _1 T/ J% j4 i. V# g: l7 e. U
    spi.env:存放环境变量: u3 U5 r! X1 I; M& I  x% u
    MTD3) I- V; t7 @8 K* A' c
    spi.devicetree:存放设备树文件(暂未使用)
    $ g9 @- V' _, Z# K
    MTD4
    * j8 p2 r6 s$ `0 Z( o! x0 b
    spi.kernel:存放内核镜像(暂未使用)
    ! G& P1 [2 `$ f2 Z
    NAND FLASH
    - t' ?# Q0 \7 b4 @" {
    MTD5
    * t9 Z" S& {7 ?2 I. o5 V
    nand.spl:存放U-Boot第一阶段启动文件MLO(暂未使用)
    $ J  {  B* T& y/ l3 @9 n2 T1 b/ T
    MTD6
    " d* e+ L! U: G
    nand.u-boot:存放U-Boot第二阶段启动文件u-boot.img(暂未使用)
    ( ?5 o7 v" X- K" v  J4 b. V
    MTD7
    . `; t7 z2 ^/ S0 B" [: z( [/ U
    nand.env:存放环境变量(暂未使用)
    5 S( l; s5 c) T5 j9 T, K8 D
    MTD87 k1 L, H- b* a. s% j
    nand.devicetree:存放设备树文件
    7 o, F( n" m9 p' x: m( t
    MTD9- Z% Q9 m! e5 Q, k$ L
    nand.kernel:存放内核镜像
    % }: K/ F8 Z8 b: J( L# B6 g
    MTD10, F2 }4 o% L( K) X' r
    nand.logo:存放LOGO文件
    ! t. I! S* f. W; |+ \. A
    MTD11
    * Y5 \% @/ V6 T1 n1 q% i4 M
    nand.mini-fs:备用分区,一般存放小型文件系统(暂未使用)
    , w: M* U; U8 P
    MTD12! D- h# E- L2 k
    nand.rootfs:存放文件系统+ H% r" D1 y  B- B4 m

    + G! x: h4 N! U3 h- m
    • 固化Linux系统2 [& m1 @" }% i1 k4 x6 H
    Linux系统启动卡制作时,已将系统固化的脚本文件mknandboot.sh复制到了Linux系统启动卡文件系统的“/opt/tools/make-system”目录下。
    2 Q9 |3 Y: B6 N0 a% Z
    9 z) P2 R) y4 h7 b
    图 8

    # Z" Q' S/ T; ^执行如下命令进行一键固化。# V8 b* b; {$ T; h! ]! d' H
    Target#/opt/tools/make-system/mknandboot.sh# q9 D- P1 t5 ~& @8 e) ?. M

    9 x4 m! G  ?4 t) p# h. c
    图 9
    # ]" g# W. R4 V+ `5 G- V& N* X( O
    脚本会进行如下操作:
    & W4 R( t) f5 ]9 u* X
    • 擦除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对应分区。
      5 `* D; _/ a( g3 X: E: r. S# Q
    用时约5~10min,Linux系统固化成功,同时串口调试终端打印提示信息。
    ! h- Q5 G3 ~+ A- J8 D4 V备注:脚本文件会将设备树文件和内核镜像固化到SPI FLASH中,实际启动并不会从SPI FLASH中加载设备树和内核镜像。
    2 [2 f- B$ e- ]2 X8 I4 G! N, q  s* w) I3 s% k
    4.从SPI+NAND FLASH启动系统评估板断电,将Linux系统启动卡从评估板Micro SD卡槽中取出,根据评估底板丝印将拨码开关拨为10010(1~5),此档位为SPI FLASH启动模式。评估板上电,串口调试终端将会打印如下类似启动信息。
    3 L2 D5 \5 L# x& R

    ' W1 k. n/ ^$ u$ j5 n1 M8 F
    图 10
    / x& ?8 J1 t' Y+ ~5 y% a

    : R; J; s/ _0 K: [# L
    图 11
    ' [! z  N  {$ X
    5.NAND FLASH读写测试本章节对NAND FLASH的MTD11分区进行读写速度测试。MTD11是NAND FLASH的备用分区,一般存放小型文件系统,大小为32MByte。读写测试会将该分区内容擦除,请做好数据备份。
    : ~, `1 E3 J/ k" H+ Q0 A执行如下命令查询NAND FLASH分区,确认MTD11分区大小(读写请勿超出分区大小),将该分区内容擦除。
    - [% }- \3 q$ a% q$ A& |Target#cat /proc/mtd
    9 ^6 z7 M) `2 H% ^- {# x' r( kTarget# flash_erase /dev/mtd11 0 0$ j( r& O6 Z& D  g' ~8 O

    & E) P' Z* O* a% C3 [1 L2 v
    图 12
    5 X8 j% G* I! ]
    • NAND FLASH写速度测试
      " T% R# ]+ V: \, {3 ?
    进入评估板文件系统,执行如下命令对NAND FLASH进行写速度测试。! e9 _2 s# o$ o
    Target#time dd if=/dev/zero of=/dev/mtd11 bs=1024k count=30
    / G6 S, i/ y$ T, s& C

    ! }. R9 n) U9 O% f% W# Y
    图 13
    ! M' j5 i  p  ?% c% q! o
    此处一共写30MByte测试数据到NAND FLASH的MTD11分区下,可看到本次测试的NAND FLASH写速度约为:30MB/8.24s=3.64MB/s。
    . U7 n3 }1 d2 ?6 D
    • NAND FLASH读速度测试5 p6 [4 e. X2 A. A" [
    重启评估板,进入评估板文件系统,执行如下命令对NAND FLASH进行读速度测试。& @# _/ p, z" {6 Y: T
    Target#time dd if=/dev/mtd11 of=/dev/null bs=1024k count=30! G9 I$ j& d$ d2 e
    4 j7 s  e2 `4 O4 S" G& {3 G6 P2 t( C
    图 14
    此处从NAND FLASH的MTD11分区读取30MByte数据,可看到本次测试的NAND FLASH读速度约为:30MB/4.47s=6.71MB/s。" M: ?, ?, R, Y
    5 h0 z/ D1 a* Y
  • 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-24 22:12 , Processed in 0.171875 second(s), 23 queries , Gzip On.

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

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

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