找回密码
 注册
关于网站域名变更的通知
查看: 284|回复: 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版本核心板在使用方面的不同之处,相同之处将不重复描述。
    + y8 t- y. N. w1.U-Boot编译进行U-Boot编译选项配置时,请执行如下命令。
    4 O+ a8 n- q: s: ?/ ~/ g- s1 wHost#make ARCH=ARM CROSS_COMPILE=arm-linux-gnueabihf- am335x_evm_nandboot_config
    . H# j. Y  X1 W; U( @
    ) M9 T$ Y" k8 ^, P9 \
    图 1
    ' o# J' I9 G7 _1 f4 B. P) J
    我司提供经过验证的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。
    ' H: [; W. e% d9 r8 ]6 P' o
    4 W& B& n$ n9 U* i0 i
    图 2
    / i  l( Q' ]- B8 U( S6 ^
    Host#sudo cp MLO-nand MLO0 w7 t" Q  @( c3 L. M
    Host#sudo cp u-boot.img-nand u-boot.img
    ' P& R8 f7 m- u( E# V

    ; p9 I+ R6 j; I, |" x- o+ ?
    图 3
    ) p# h( ?" a8 W6 \( R4 g% E
    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目录下。' E' {* m( d9 {2 e5 |
    2 f( y/ b# t( d( ^& F
    图 4
    ; E# g+ Z, l: P
    请执行如下命令将tl335x-evm.dtb软链到tl335x-evm-nandflash.dtb文件。tl335x-evm-nandflash.dtb支持LCD显示,如需使用HDMI显示,则将tl335x-evm.dtb软链到tl335x-evm-nandflash-hdmi.dtb文件即可。/ [( u+ D2 y  N& l
    Host#sudo rm tl335x-evm.dtb
    $ ]4 h  J( P' J6 E- r& Z; A1 JHost#sudo ln -s tl335x-evm-nandflash.dtb tl335x-evm.dtb+ y" ~" O3 S3 z# O
    Host#ls -l: Q6 f3 [$ b4 ^2 d$ M& K

    . z; \; T9 k6 T. l0 d- r
    图 5
    3 w1 U  I! v# f* z
    使用替换了U-Boot和基础设备树文件的Linux系统启动卡启动评估板,进入文件系统执行如下命令可查看到NAND FLASH分区信息,即说明文件替换成功。
    , Z/ C6 B) C+ `( n; HHost#cat /proc/mtd; V5 I3 x+ D. K7 X- H4 v
    5 E) h$ s9 p& d( Z- Z) Q
    图 6

    % R* C! D3 ^% K; P. Z# t3.固化Linux系统本章节介绍Linux系统固化过程,包括固化U-Boot到SPI FLASH和固化文件系统到NAND FLASH。固化成功后,评估板即可从SPI FLASH启动U-Boot,然后从NAND FLASH加载内核、设备树和文件系统。, ^# w1 @) J" j4 p+ c2 J5 Q
    • SPI FLASH、NAND FLASH分区说明
      5 b9 s' a' M$ p0 A. }
    进入评估板系统后执行如下命令,查看SPI FLASH和NAND FLASH分区信息。
    % l% m& ]8 h; l, q2 {9 N8 ^Target#cat /proc/mtd
    , Q7 Q6 L7 c+ X; z2 Q; i" }8 i
    6 G0 H+ m2 D+ [) d3 ^; Z
    图 7
    / y: t2 J  w, {% d- F
    SPI FLASH4 W- x+ `) t5 M
    MTD07 T9 C- t0 O0 H* S
    spi.spl:存放U-Boot第一阶段启动文件MLO
    / I* Q$ }$ g# X9 g5 M
    MTD1, u8 B/ R) {0 U: \. l: J$ c  g8 ^
    spi.u-boot:存放U-Boot第二阶段启动文件u-boot.img
    1 O' H0 b) V" {$ Y+ g. T
    MTD2
    6 S; S. ]  R/ e# n( t5 J
    spi.env:存放环境变量0 Z3 V* [4 N( q9 M7 Z
    MTD3
    ; e+ a6 I. E  u
    spi.devicetree:存放设备树文件(暂未使用)5 o1 @  M- v  _# z  n
    MTD44 t$ J  T5 o/ V2 c  N7 g
    spi.kernel:存放内核镜像(暂未使用)
    ) [' o3 n; u) F* J. ?0 ?$ R
    NAND FLASH
    2 Z' c3 }. s6 @; F# L9 [
    MTD5
    ! N" `/ X( i% D8 g: {1 `
    nand.spl:存放U-Boot第一阶段启动文件MLO(暂未使用)
    : ?! o2 ^# t/ M2 [( j/ A2 }
    MTD61 D; [6 B# e" G
    nand.u-boot:存放U-Boot第二阶段启动文件u-boot.img(暂未使用)
    4 S8 p0 ~$ Z) J' s
    MTD7
    9 B5 K  Q0 x' q! E3 h& ^
    nand.env:存放环境变量(暂未使用)5 @  l# ~9 P5 y0 T. D8 S
    MTD88 {, i, R; m6 O- F) `9 P; I
    nand.devicetree:存放设备树文件
    ' P) t( D9 [3 b5 _% n
    MTD98 D+ n3 Q3 p1 T4 ^' D- o+ `" h0 Z
    nand.kernel:存放内核镜像
    ' r0 P$ X7 j3 v* `1 Z  M% ]% Y
    MTD10
    5 R& G0 F/ ?5 w1 Z" `2 q  t
    nand.logo:存放LOGO文件
    * I5 f# q$ r3 r& Q( t
    MTD11
    5 [: f+ y9 }. j8 `$ l
    nand.mini-fs:备用分区,一般存放小型文件系统(暂未使用)! p5 a' u6 v; B
    MTD12
    & Y. ]* c+ l' M" ?/ _- v! `( ]5 ?1 @
    nand.rootfs:存放文件系统: t% D1 \- G3 T$ Z( d/ r) S( |
    $ L6 p) |" d$ y" Q) x0 P
    • 固化Linux系统7 R* P* x' B# e. `8 ~4 ?
    Linux系统启动卡制作时,已将系统固化的脚本文件mknandboot.sh复制到了Linux系统启动卡文件系统的“/opt/tools/make-system”目录下。* i4 ~4 _7 L) i  D

    8 {& p: x- o" g5 i0 f# l
    图 8
    7 q# q) Y4 z# [" v* T
    执行如下命令进行一键固化。
    8 L, S. m1 z; ZTarget#/opt/tools/make-system/mknandboot.sh* l8 x8 V, s0 N% R% F/ R3 W

    ) y: ?* H8 Z: T+ Y) j
    图 9
    2 M! a& w( U- ^$ U/ n
    脚本会进行如下操作:
    % P- ]. H' S% I% {$ c3 ?
    • 擦除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 Y! M) T2 m
    用时约5~10min,Linux系统固化成功,同时串口调试终端打印提示信息。
    3 O$ g# T2 G) u+ \! t. `备注:脚本文件会将设备树文件和内核镜像固化到SPI FLASH中,实际启动并不会从SPI FLASH中加载设备树和内核镜像。) {/ G7 z, g! C3 _1 V8 C- f
    8 j3 T" a0 }# C, d/ [, j
    4.从SPI+NAND FLASH启动系统评估板断电,将Linux系统启动卡从评估板Micro SD卡槽中取出,根据评估底板丝印将拨码开关拨为10010(1~5),此档位为SPI FLASH启动模式。评估板上电,串口调试终端将会打印如下类似启动信息。) ^2 y+ o( V) J

    # V+ E" t# E, K* g+ S! y  L: C
    图 10
    8 u$ T; q9 V% \7 o

    % U8 h% k- |" e/ _. S: V' b
    图 11

    ; B+ R: B. r7 }0 \9 @1 {5 X5.NAND FLASH读写测试本章节对NAND FLASH的MTD11分区进行读写速度测试。MTD11是NAND FLASH的备用分区,一般存放小型文件系统,大小为32MByte。读写测试会将该分区内容擦除,请做好数据备份。* d. \+ {6 G& G. u1 p$ L& v
    执行如下命令查询NAND FLASH分区,确认MTD11分区大小(读写请勿超出分区大小),将该分区内容擦除。
    4 x0 O% t: d' g9 @. }. n5 hTarget#cat /proc/mtd
    2 B) X; e8 p6 g5 T+ |1 WTarget# flash_erase /dev/mtd11 0 0# ]8 D5 G# J+ l2 c% z2 @

    " F6 e. v4 K# D4 D  ~9 C& V
    图 12
    4 K( Z1 R, l0 ]+ Z  I
    • NAND FLASH写速度测试
      # P3 ]* `; m. E* ]; D9 L9 ^
    进入评估板文件系统,执行如下命令对NAND FLASH进行写速度测试。: j3 k( B1 E2 a' [+ {
    Target#time dd if=/dev/zero of=/dev/mtd11 bs=1024k count=30
    ) b- h. q, _8 G1 a
    ! c! N; R4 k% ~
    图 13

    % S$ d# f9 ~- x. J' d7 R- [# _  [此处一共写30MByte测试数据到NAND FLASH的MTD11分区下,可看到本次测试的NAND FLASH写速度约为:30MB/8.24s=3.64MB/s。
    5 ?. |$ |+ v9 X; B0 f2 E0 o/ Z& M
    • NAND FLASH读速度测试
      6 `; q5 E2 W3 r, c+ ?
    重启评估板,进入评估板文件系统,执行如下命令对NAND FLASH进行读速度测试。
    ' [9 J& a, }4 T$ x6 ]+ HTarget#time dd if=/dev/mtd11 of=/dev/null bs=1024k count=30$ ~0 [& L4 f+ s& _
    : x. M7 g, G8 v) |! U7 }2 u, E
    图 14
    此处从NAND FLASH的MTD11分区读取30MByte数据,可看到本次测试的NAND FLASH读速度约为:30MB/4.47s=6.71MB/s。7 X3 N7 A" y8 [8 A, C- a: l

    ) S; c' u% o. P9 n7 z# |
  • 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 23:14 , Processed in 0.171875 second(s), 24 queries , Gzip On.

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

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

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