找回密码
 注册
关于网站域名变更的通知
查看: 285|回复: 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版本核心板在使用方面的不同之处,相同之处将不重复描述。6 Q+ [: ?$ a7 A
    1.U-Boot编译进行U-Boot编译选项配置时,请执行如下命令。
    , U6 R  K+ k& v; Q5 l' r: g) S' yHost#make ARCH=ARM CROSS_COMPILE=arm-linux-gnueabihf- am335x_evm_nandboot_config  `- m# S; J: y: f6 r# R
    ! I) @* L0 x# |# p
    图 1

    0 @( Q+ E# w. o" k5 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。. V. F* m2 i$ S" i

    ) Y* W6 D; t) V; n) f5 N! I2 R: s( f
    图 2

    1 B. z3 k( S1 U( y  v1 |/ e2 rHost#sudo cp MLO-nand MLO
    ) M3 g& x; t- m5 N  v. PHost#sudo cp u-boot.img-nand u-boot.img
    2 f( B0 a  E6 U* e

    6 {+ a! i* v2 x1 u; K
    图 3
    + p$ l: t  ~% b4 H
    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目录下。" W# O4 v) R( c( E: F

    * E/ u$ p: @5 L7 u1 D% v
    图 4

    + c* f3 \. ?% t1 m6 Y请执行如下命令将tl335x-evm.dtb软链到tl335x-evm-nandflash.dtb文件。tl335x-evm-nandflash.dtb支持LCD显示,如需使用HDMI显示,则将tl335x-evm.dtb软链到tl335x-evm-nandflash-hdmi.dtb文件即可。; G0 W  X+ c' O1 t: h$ ?6 T  Z
    Host#sudo rm tl335x-evm.dtb
    ! e5 p9 z. O: @Host#sudo ln -s tl335x-evm-nandflash.dtb tl335x-evm.dtb4 P9 l' A+ s- T$ |
    Host#ls -l- E" y4 C$ ~+ W; e  \
    " d& t" ^; @# D  o+ e' l1 f/ M3 J
    图 5

    1 V; q; p+ l: s8 l使用替换了U-Boot和基础设备树文件的Linux系统启动卡启动评估板,进入文件系统执行如下命令可查看到NAND FLASH分区信息,即说明文件替换成功。
    2 U) g3 t4 s9 j9 O; t: ]' Z+ ?Host#cat /proc/mtd
    1 `7 j/ A) b, m3 b! Y
    ; G) y$ ?, K( G) q6 a% z5 @2 B
    图 6
    1 ?% @9 H) q3 f7 C& ^" z
    3.固化Linux系统本章节介绍Linux系统固化过程,包括固化U-Boot到SPI FLASH和固化文件系统到NAND FLASH。固化成功后,评估板即可从SPI FLASH启动U-Boot,然后从NAND FLASH加载内核、设备树和文件系统。& @& q" i0 Y6 H
    • SPI FLASH、NAND FLASH分区说明/ d+ U) O7 y7 i/ K! y" U) c) W" K
    进入评估板系统后执行如下命令,查看SPI FLASH和NAND FLASH分区信息。: Z" L. _2 B9 b! s! ^, u4 n
    Target#cat /proc/mtd. |- d( v0 Z( T- x. m
    + I! S* H% U1 l* y
    图 7

    % U2 R, u& o/ j% V  F; |+ O
    SPI FLASH
    * g; Q2 Q2 A" }# I0 |
    MTD0
    - a& @/ g" ^9 r! l
    spi.spl:存放U-Boot第一阶段启动文件MLO
    2 N) i. {0 }( W" ^# a
    MTD1: A: R$ I: G8 n2 i* j# l
    spi.u-boot:存放U-Boot第二阶段启动文件u-boot.img5 j. n# B8 q: g, A  \% M
    MTD2
    3 L! x* E% I, S& L5 p% ]: \
    spi.env:存放环境变量" z4 k& d7 L) v' m
    MTD3& b; n0 o+ b. j: M. m6 ?9 z8 |- g
    spi.devicetree:存放设备树文件(暂未使用)
    . M& [0 u. i7 `. D) o9 E, p
    MTD4
    % {0 A' |5 F6 ]6 {% `# W+ h
    spi.kernel:存放内核镜像(暂未使用)
    & e- W4 f6 C4 a0 q
    NAND FLASH
    : c  i$ i! ?$ C
    MTD5+ T  \& I7 S' [1 d% G
    nand.spl:存放U-Boot第一阶段启动文件MLO(暂未使用)
    . X/ y2 ]1 e& K& R6 ?3 D5 C
    MTD6
    & F, @8 T1 v' M3 Q- n
    nand.u-boot:存放U-Boot第二阶段启动文件u-boot.img(暂未使用)
    7 p  b8 s" x: m) F
    MTD7
    & T3 v+ @0 p- a; D* j3 m8 F( Q+ p
    nand.env:存放环境变量(暂未使用)
    . u/ i9 Y, I- L% V2 Z  v+ Z: U8 i
    MTD8
    ) Z1 l' `; p4 o" u1 X# R  ^2 b
    nand.devicetree:存放设备树文件
    ! P5 T+ J3 \' V
    MTD9
    & Y9 ^5 ~& X1 ^, b4 f% Z
    nand.kernel:存放内核镜像( a: c* Y( ^. @% q
    MTD10; j) n2 J$ |$ @% s& Q
    nand.logo:存放LOGO文件
    ; N) d/ T" \: Q, J4 A
    MTD11
    + r2 E0 }! l* z2 Y( M3 r' a' c
    nand.mini-fs:备用分区,一般存放小型文件系统(暂未使用)* Q. Z" s5 k- }% I( R$ V  f! }
    MTD12: ~$ }8 A: S+ S
    nand.rootfs:存放文件系统+ D# P6 w! p1 ^  R: H+ W/ j$ F

    3 K& z  I% i3 k
    • 固化Linux系统
      6 Z- \8 J# t" I6 [$ a
    Linux系统启动卡制作时,已将系统固化的脚本文件mknandboot.sh复制到了Linux系统启动卡文件系统的“/opt/tools/make-system”目录下。7 a- z6 D! ~& D

    6 k' J  ?1 E5 @
    图 8

    % Z! B* S9 b: D& b+ r% I" z执行如下命令进行一键固化。- A, [' K/ s4 b, m9 A: }4 p
    Target#/opt/tools/make-system/mknandboot.sh+ w: _+ R% Z8 _7 d: ~# u

    / ^5 C# E7 H- t0 x9 ~+ ?
    图 9

    5 Y, s# V" q8 H+ o8 E% x: j脚本会进行如下操作:
    5 _. O' h. A% }& W! ]
    • 擦除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对应分区。7 O8 W, d7 L$ X, P* R
    用时约5~10min,Linux系统固化成功,同时串口调试终端打印提示信息。1 {! j, V$ M" @+ X: I
    备注:脚本文件会将设备树文件和内核镜像固化到SPI FLASH中,实际启动并不会从SPI FLASH中加载设备树和内核镜像。
    7 M! X# W# a% F/ C7 t
    / L( K( N& i, r& n( ]6 {( n4.从SPI+NAND FLASH启动系统评估板断电,将Linux系统启动卡从评估板Micro SD卡槽中取出,根据评估底板丝印将拨码开关拨为10010(1~5),此档位为SPI FLASH启动模式。评估板上电,串口调试终端将会打印如下类似启动信息。
    # F% R! I9 D' J7 t( E; P
    6 {' G7 Z9 s' p3 e) {* S, u' U' @
    图 10
    7 {8 ~0 ~! m& y! m
    / O# N& l5 d8 I& O6 ~. n
    图 11

    8 `0 {8 ?; H( B  U3 R/ r2 B5 I5.NAND FLASH读写测试本章节对NAND FLASH的MTD11分区进行读写速度测试。MTD11是NAND FLASH的备用分区,一般存放小型文件系统,大小为32MByte。读写测试会将该分区内容擦除,请做好数据备份。
    & V9 }& Z( F2 c9 d0 g- G' r执行如下命令查询NAND FLASH分区,确认MTD11分区大小(读写请勿超出分区大小),将该分区内容擦除。9 d( H# L/ B7 l! R
    Target#cat /proc/mtd2 y) }' q" G1 W& E/ C7 \% u
    Target# flash_erase /dev/mtd11 0 0
    ) }1 V( h$ g5 S, W4 I) |$ p
    ! V+ h' m$ F: d5 Z6 K) |
    图 12
    ) o, t! H% i. d2 e5 K
    • NAND FLASH写速度测试
      % L9 Q+ G9 x: y; |2 b9 I
    进入评估板文件系统,执行如下命令对NAND FLASH进行写速度测试。
    0 q; P3 F5 Q# C. H( c$ N) F% _; G; wTarget#time dd if=/dev/zero of=/dev/mtd11 bs=1024k count=30
    ' l  E8 O3 Z3 d4 P% `
    ! s+ w) {2 Y" G" _
    图 13
    2 E4 t* z: _( E  {8 |
    此处一共写30MByte测试数据到NAND FLASH的MTD11分区下,可看到本次测试的NAND FLASH写速度约为:30MB/8.24s=3.64MB/s。
    ' P9 _6 h0 T- t
    • NAND FLASH读速度测试! Z0 t2 M* F0 e
    重启评估板,进入评估板文件系统,执行如下命令对NAND FLASH进行读速度测试。. k, R% Z  ^. j1 ^3 h
    Target#time dd if=/dev/mtd11 of=/dev/null bs=1024k count=30, x) R% l* p1 O9 Z

    , \- g% ~4 x* y! u) [. O
    图 14
    此处从NAND FLASH的MTD11分区读取30MByte数据,可看到本次测试的NAND FLASH读速度约为:30MB/4.47s=6.71MB/s。
    : z1 g6 H+ @* f6 n7 o2 F  x  A3 |5 L1 G
  • 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:17 , Processed in 0.171875 second(s), 23 queries , Gzip On.

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

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

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