找回密码
 注册
关于网站域名变更的通知
查看: 286|回复: 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版本核心板在使用方面的不同之处,相同之处将不重复描述。! L+ b6 N) H$ u  t
    1.U-Boot编译进行U-Boot编译选项配置时,请执行如下命令。( j6 x2 B. w8 k5 Q( R) O, u7 J) |
    Host#make ARCH=ARM CROSS_COMPILE=arm-linux-gnueabihf- am335x_evm_nandboot_config* a: I4 e' G& G3 s4 ?9 n( f1 A  I
    5 l$ c1 [  e$ W
    图 1

    3 i# F, n: s7 r- e: _! N1 h我司提供经过验证的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。! z8 w8 t9 W. @2 _& B# Y% s4 v3 x4 Q
    & |3 a2 I+ x8 }# F
    图 2

    ) ~5 z% ~' J  I* I/ aHost#sudo cp MLO-nand MLO: \. J0 J7 _9 X  H
    Host#sudo cp u-boot.img-nand u-boot.img
    ! P) f/ F5 i8 e* T& Z  m3 D

    " ~" u( s3 W3 P0 N$ n
    图 3
    8 R3 E, R- w2 Z* z
    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目录下。! F9 [- K1 ^2 H3 x

    9 J1 t! y; [7 Y$ O+ y! Z  V
    图 4
    ( h- o# M) F( W9 ?: u" ~! Z- s
    请执行如下命令将tl335x-evm.dtb软链到tl335x-evm-nandflash.dtb文件。tl335x-evm-nandflash.dtb支持LCD显示,如需使用HDMI显示,则将tl335x-evm.dtb软链到tl335x-evm-nandflash-hdmi.dtb文件即可。
    * H6 N0 N* r2 h2 ]6 l, GHost#sudo rm tl335x-evm.dtb% d6 }6 \7 |( P1 g7 ?$ D3 |
    Host#sudo ln -s tl335x-evm-nandflash.dtb tl335x-evm.dtb
    . W9 G. g5 w) i% j& l+ ZHost#ls -l. j3 `4 H: ^% f; \% v0 N+ o9 r
    . M; O' b7 w  l7 [$ d3 @3 G" _8 A
    图 5

    8 C6 v5 X% z7 d* B+ w使用替换了U-Boot和基础设备树文件的Linux系统启动卡启动评估板,进入文件系统执行如下命令可查看到NAND FLASH分区信息,即说明文件替换成功。7 [. }- V5 Z$ z* w
    Host#cat /proc/mtd
    + U# y! i7 _) f4 Z5 @* F

    4 O# V' Y2 G9 h8 ~
    图 6

    8 \* m  @- Z/ o% A0 d& H* m  `$ N1 `3.固化Linux系统本章节介绍Linux系统固化过程,包括固化U-Boot到SPI FLASH和固化文件系统到NAND FLASH。固化成功后,评估板即可从SPI FLASH启动U-Boot,然后从NAND FLASH加载内核、设备树和文件系统。
    9 e) i/ h% y3 y, F* C) }
    • SPI FLASH、NAND FLASH分区说明$ d; {$ K) c# X% {6 l5 m8 y3 r
    进入评估板系统后执行如下命令,查看SPI FLASH和NAND FLASH分区信息。
    - v( W4 H% k- ?, z- m# VTarget#cat /proc/mtd
    7 q: G$ S/ l! K' k8 P/ `

    2 x7 x4 l  j7 A9 ^1 L) f
    图 7
    : x2 g6 o* L; ^$ S. n) F
    SPI FLASH
    8 L# o9 d  G  S/ i' z" d4 r
    MTD0
    + S/ V3 q" ~+ S2 Q# g8 {
    spi.spl:存放U-Boot第一阶段启动文件MLO' t0 A6 F& T5 J
    MTD1
    5 ~& ]5 r) z- ?7 j* n+ P
    spi.u-boot:存放U-Boot第二阶段启动文件u-boot.img! S4 |& \6 u# x7 W2 i6 r
    MTD2
    # q1 U8 D* q- [, {( r
    spi.env:存放环境变量
    . t8 W# ~; i6 u3 G/ T  F. R
    MTD31 Q2 d+ n' u- S* G# T
    spi.devicetree:存放设备树文件(暂未使用)6 p) [8 e# [% M
    MTD4
    ) S" @# q+ u, z! {
    spi.kernel:存放内核镜像(暂未使用)
    9 I+ x# r2 X1 x+ e' Z' N
    NAND FLASH, T) o! n3 b% @* @
    MTD5
    # a: D) ^# V9 X* m. p2 V% R5 s5 k
    nand.spl:存放U-Boot第一阶段启动文件MLO(暂未使用)4 r# x7 k* J9 v# g8 w
    MTD6
    + Q' d; W( _, n# h$ m( h1 |
    nand.u-boot:存放U-Boot第二阶段启动文件u-boot.img(暂未使用)2 F/ m% j# T* s/ M, V
    MTD7
    8 @# ~; ?# u- K3 x
    nand.env:存放环境变量(暂未使用)
    $ Y6 s$ z  z4 S. q7 D
    MTD8
    9 h1 E- C+ p2 k5 F/ t- R( k  d
    nand.devicetree:存放设备树文件
    7 g7 U0 [8 T' b  w- G( H
    MTD9$ c) S& r) C' [5 y7 ]: z  d$ I1 o. S
    nand.kernel:存放内核镜像
    9 f3 ]& x) \6 O5 w9 S: \5 A/ A/ H7 m) m
    MTD10: J, E3 t! p+ m0 ~
    nand.logo:存放LOGO文件
    # q! g* D  |* s
    MTD11
    ( S8 E0 w$ R' s; ~$ b  c
    nand.mini-fs:备用分区,一般存放小型文件系统(暂未使用)
    8 x+ Y0 Q( _& L$ @, j
    MTD12
    . h# ]% s* ?8 B' o8 [
    nand.rootfs:存放文件系统
      z0 [# @5 k" r; D4 c
    2 ?0 x6 `3 O9 m$ ?0 J5 U: G
    • 固化Linux系统# v# m5 V, L) U
    Linux系统启动卡制作时,已将系统固化的脚本文件mknandboot.sh复制到了Linux系统启动卡文件系统的“/opt/tools/make-system”目录下。1 W7 _1 e  \% l2 E1 ~4 f

    ; o' t. k9 |' w' b4 |+ ]. u+ w4 S
    图 8
    % i' K& a6 \/ E9 V5 o5 Z4 c: \
    执行如下命令进行一键固化。
    % U( L3 {6 J) I2 E" ?5 T' f' n0 h+ K2 mTarget#/opt/tools/make-system/mknandboot.sh& p( ^5 F- B! v
    & ~$ e# g; H/ J$ F* @6 w  x4 P
    图 9

    ' s) |; k# |* h3 d( L脚本会进行如下操作:
    1 V3 t8 ]6 B( W* R5 m9 y
    • 擦除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对应分区。
      6 o. G% K8 {9 J4 J( p- j1 m
    用时约5~10min,Linux系统固化成功,同时串口调试终端打印提示信息。
    ) n0 i' a% G% R备注:脚本文件会将设备树文件和内核镜像固化到SPI FLASH中,实际启动并不会从SPI FLASH中加载设备树和内核镜像。) }9 I" Q5 G) {( H  {, V- _# h, t8 S
    0 {  q' P7 d: m+ f2 l" G' K! j
    4.从SPI+NAND FLASH启动系统评估板断电,将Linux系统启动卡从评估板Micro SD卡槽中取出,根据评估底板丝印将拨码开关拨为10010(1~5),此档位为SPI FLASH启动模式。评估板上电,串口调试终端将会打印如下类似启动信息。9 ]1 q+ Y& _( D% y$ g, h9 n
    , p# ?4 C2 B6 X2 `' [' i2 |* _
    图 10

    # G2 b  R7 G8 W
    " Q7 E6 \. V1 i( r& l0 S$ o
    图 11
    3 {3 @+ m+ I3 s' m. z* Q# ~) u
    5.NAND FLASH读写测试本章节对NAND FLASH的MTD11分区进行读写速度测试。MTD11是NAND FLASH的备用分区,一般存放小型文件系统,大小为32MByte。读写测试会将该分区内容擦除,请做好数据备份。$ y. S, T  w  |1 R$ U2 e' t( ?4 [
    执行如下命令查询NAND FLASH分区,确认MTD11分区大小(读写请勿超出分区大小),将该分区内容擦除。. L" M! H9 r6 \
    Target#cat /proc/mtd
    9 _# N) o; }* Q9 k/ |Target# flash_erase /dev/mtd11 0 0
    4 S0 s; s: {$ l- _

    6 X5 E3 d0 ^+ n" l% l  N
    图 12
    7 o2 E9 Z3 ^' z9 [+ p
    • NAND FLASH写速度测试
      2 }& K8 `( W0 O, D% Q
    进入评估板文件系统,执行如下命令对NAND FLASH进行写速度测试。
    ; c# q9 }1 G9 I1 RTarget#time dd if=/dev/zero of=/dev/mtd11 bs=1024k count=30- p- N* o6 A# {0 \7 o9 v& ?
    $ d; A0 Y1 _- T) Z! z5 z3 M
    图 13
    2 H( j$ D1 S5 d! _, p6 f/ y
    此处一共写30MByte测试数据到NAND FLASH的MTD11分区下,可看到本次测试的NAND FLASH写速度约为:30MB/8.24s=3.64MB/s。# @( N( |6 w+ d- f4 b' N( L9 t
    • NAND FLASH读速度测试, D# y. v( L! n
    重启评估板,进入评估板文件系统,执行如下命令对NAND FLASH进行读速度测试。* C4 ~" \2 {1 [1 f* z. |9 R
    Target#time dd if=/dev/mtd11 of=/dev/null bs=1024k count=30& ^: p. C& @7 z% S8 x0 g

    ) [) e0 q5 u, H1 i3 T9 ?
    图 14
    此处从NAND FLASH的MTD11分区读取30MByte数据,可看到本次测试的NAND FLASH读速度约为:30MB/4.47s=6.71MB/s。' d' k8 M6 l" K# `; p" P

    8 ~  G! Q- y: i& q# {$ H5 }) F
  • 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 00:39 , Processed in 0.140625 second(s), 24 queries , Gzip On.

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

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

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