谷动谷力

 找回密码
 立即注册
查看: 4440|回复: 1
收起左侧

Windows下通过 Uboot TFTP 方式下载和启动rt-smart 内核

[复制链接]
发表于 2022-5-2 22:12:54 | 显示全部楼层 |阅读模式
Windows下通过 Uboot  TFTP 方式下载和启动rt-smart 内核4 K$ [: ~3 L0 w- w8 {" m9 n/ Z
0 Y' p! n$ M& O) X/ s
i.MX6ULL 系列处理器启动方式多样,启动时会首先执行芯片内部 Boot ROM 中的程序。Boot ROM 会根据 BOOT_MODE 寄存器、eFUSEs、配置管脚等状态来决定启动模式以及启动设备。故在启动前,用户可根据自己需要配置 ART-Pi Smart 开发板的启动方式。
* f: `7 E2 p( T* L( P* i: G0 k目前,ART-Pi Smart 开发板有以下两种启动方式:
# m8 z/ e6 _: x7 S0 {; _+ x
  • eMMC 模式(默认启动模式):ART-Pi Smart 上电时,默认从 eMMC 启动,自动运行 U-Boot
  • USB 模式:选择从 USB  启动,通过 USB 接口(上方的 USB-TypeC OTG 接口),串行下载固件" O# w: \7 |% X4 t* o/ R+ F
    操作方法:开发板上电之后,先按下 "BOOT 启动按键" 不松开,然后,再按下 “RST 复位键”,即可切换到 USB 固件下载模式。+ Y  ]9 c, k/ `( z% f3 k% P
我选择通过 Uboot  TFTP 方式下载和启动rt-smart 内核. a1 t  R! K- [% {! q
- q/ a1 L, U$ Q1 ^/ |2 `
  • 首先下载并安装 Tftpd64 工具 (查看附件有安装包)
  • 在测试电脑上,提前设置好 TFTP 服务器,并配置目录定位到 rtthread.bin 文件所在的目录# q; |1 J& t& z0 v; w( P  c  ]' H
    _Tftp_Server_工具参数设置.png
  • 将 ART-Pi Smart 开发板通过有线网口和测试电脑处于同一个局域网(例,将开发板和测试电脑通过网线连接到同一台路由器或交换机)
    4 k) E" }# J# x) A: L⚠️将网线插到 ART-Pi Smart 开发板的网口,请检查网口上两个 LED 灯(绿色和黄色)是否亮起。
  • 将 USB-TypeC(下面的)连接到电脑给开发板上电,上电时将默认从 eMMC 启动,自动运行 U-Boot
  • 在测试电脑上,打开串口调试终端:115200 波特率、8 位数据位、1 位停止位、无奇偶校验、无流控,启动终端
  • 一般插上串口线,还没那么启动终端,uboot就启动完了,重启一下 输入reboot命令 或按下 ART-Pi Smart 开发板上的 “ RST 复位键” ,让开发板复位并进入到 “uboot 启动” 倒计时
    $ j1 Z6 z8 J4 G% _( |/ {' V) v- W- a1 W
    1. msh />reboot # R" p# v$ |$ |5 ~- M
    2. [96355] E/NO_TAG: resetting ...
      & O6 q* k: X+ \1 V1 G# `( o
    复制代码

    # J5 q8 O& \4 x0 f# L+ q4 }1 {7 V
  • 在进入 “uboot 启动” 倒计时结束之前,按下键盘任意键,进入到手动模式' z" I& X' a. X2 \
    1. U-Boot 2017.03-g002b758ac9-dirty (Nov 24 2021 - 20:08:02 +0800)
      ( r; d2 e! o5 i8 p; N

    2. 7 d& c2 `' Z! m6 o
    3. CPU:   Freescale i.MX6ULL rev1.1 696 MHz (running at 396 MHz)
      3 h9 }! e/ W- d9 S
    4. CPU:   Industrial temperature grade (-40C to 105C) at 39C+ L2 W) |% w7 Z/ `- e6 X( F! n
    5. Reset cause: WDOG
      " ~0 x: Y$ a$ I# b% F' @6 X
    6. Model: Freescale i.MX6 ULL 14x14 EVK Board
      2 l! ]. T5 A( w& R4 B
    7. Board: MX6ULL 14x14 EVK& ^) w' o  ]9 }  w4 a6 ^
    8. DRAM:  512 MiB
      $ X  h1 J! C+ p( A$ n
    9. MMC:   FSL_SDHC: 0, FSL_SDHC: 1
      0 w' i! Z5 e7 A; C
    10. *** Warning - bad CRC, using default environment6 x' k9 O$ [% _& Q. H, L( n$ ]
    11. : _+ f6 `9 p; v/ i" _9 j
    12. Display: TFT7016 (1024x600)4 M; c3 ]) j/ L2 c4 D* ~
    13. Video: 1024x600x24
      ) L6 N* U7 @$ E2 x
    14. In:    serial
      7 u8 [7 z: j+ o' ]: `# Z; q
    15. Out:   serial) V: u/ H8 `5 a  Q% c" N
    16. Err:   serial
      & l! ^' H; y' K# p8 w1 {
    17. switch to partitions #0, OK( A% C9 A" {; h$ z- K7 i
    18. mmc1(part 0) is current device
      $ B2 P+ o: n3 k" e5 s
    19. Net:   eth1: ethernet@020b4000, eth0: ethernet@02188000 [PRIME]  s6 L8 b3 X' `4 j& Z8 }) |
    20. Normal Boot4 x) D/ M9 }5 g5 W
    21. Hit any key to stop autoboot:  0 (#在进入 “uboot 启动” 倒计时结束之前,按下键盘任意键,进入到手动模式)) W3 \( U& \$ a9 y% B
    22. =>
    复制代码
    这样已经进入u-boot命令模式8 g/ {  a" h+ m
    如果没有进入到手动模式,则开发板会自动进入到 i.MX6ULL 核心板自带的嵌入式 rt-smart 系统。
  • 测试是否连通电脑
    & L% K1 L$ r* o& T4 J
    1. => ping 192.168.0.267 m7 K  t* e/ n& |* N3 m
    2. ethernet@02188000 Waiting for PHY auto negotiation to complete.... done
      7 {6 M! \8 J0 a, r+ ]# \0 o
    3. *** ERROR: `ipaddr' not set
      ; m6 [; n' T! s' `
    4. ping failed; host 192.168.0.26 is not alive
    复制代码
    uboot没有DHCP client 不能自动获取IP,用ipaddr命令,按提示手动IP
  • 设置开发板ip及TFTP服务器IP
    ! y# ]8 h6 q$ q5 ~& [6 \9 L
    1. => setenv ipaddr 192.168.0.100( f! K2 H8 d- }  ~) H+ m
    2. => setenv serverip 192.168.0.26; k1 c, Z& d* C8 P) t$ G. I
    3. => saveenv. o, ^5 W: f) D
    复制代码
    , Q5 ~2 y% k: d- K% X6 e+ y
  • 再次测试是否连通电脑  F5 ]7 U  y# `6 f
    1. => ping 192.168.0.26
      / K: V# _( K6 n
    2. Using ethernet@02188000 device
      5 i1 t4 H( o# h: v
    3. host 192.168.0.26 is alive
    复制代码
    这回与电脑网络通了
  • 测试下载 rtthread.bin- a3 R5 X: ^6 F& i% k
    1. => tftp rtthread.bin
      1 h% c0 ^5 T' l7 _
    2. Using ethernet@02188000 device" Y4 c7 V$ B" d3 t1 m
    3. TFTP from server 192.168.0.26; our IP address is 192.168.0.100& A) S3 a1 T" u2 ]' ~
    4. Filename 'rtthread.bin'.
      . A1 e& x0 ]6 u0 @/ q: V: J
    5. Load address: 0x80800000
      7 L2 Q" x! q/ \# N: M
    6. Loading: #################################################################
      & M$ o4 R+ \. E  z
    7.          #################################################################0 Y( l( h- O2 u3 C8 ?+ c
    8.          #################################################################
      & k# ^7 b  d: v; m7 ^
    9.          ###################
      $ x: h5 G$ q5 k9 ^: y
    10.          1.2 MiB/s0 o8 Z# `- B+ f$ A" W5 h: `
    11. done7 _7 U$ U; h+ P: `
    12. Bytes transferred = 1095360 (10b6c0 hex)
    复制代码
    下载成功,我的网络设置是正确的
  • 输入命令,将 rt-smart 内核固件文件 rtthread.bin,通过网络加载至内存中运行
    4 X& z# L' V( S/ v" ]  j1 M' Y命令格式:dhcp  TFTP 服务器 IP(即,测试电脑 IP 地址):固件文件(xx.bin文件);dcache flush;go 固件入口地址
    / l) r5 `* x% K3 B; _4 X5 J% S2 o# @
    1. => dhcp 0x80001000 192.168.0.26:rtthread.bin;dcache flush;go 0x80001000- U- Q  p0 P% Z; E1 `( |
    2. BOOTP broadcast 1
      $ M4 c' w7 m+ U% D
    3. BOOTP broadcast 2) @- ~  l& n. t! n) t4 k
    4. DHCP client bound to address 192.168.0.69 (520 ms); G6 i7 b: C( D: o  B1 A* `! P
    5. Using ethernet@02188000 device4 @& K; R( p$ g( Z5 a, F2 Q2 R
    6. TFTP from server 192.168.0.26; our IP address is 192.168.0.69
      5 o, c2 f7 M& j$ f
    7. Filename 'rtthread.bin'.* H/ `2 G" N* Q5 {& @* L
    8. Load address: 0x80001000
      + u2 R+ ^, t% D% B0 M
    9. Loading: #################################################################& Q5 ~$ O$ c, ~7 p
    10.          #################################################################$ @; D7 W9 C5 D1 d- E% X
    11.          #################################################################
      1 {0 c7 t0 g2 ^2 u2 x* {
    12.          ###################
      ) a5 T' Y+ y3 d  q
    13.          1.4 MiB/s' t6 }6 F* U) \6 D) @9 @
    14. done
      $ k8 n- ^  @0 `" V; e2 v
    15. Bytes transferred = 1095360 (10b6c0 hex)% {% D$ ^) T! ^. ]
    16. ## Starting application at 0x80001000 ...! y; C* X8 K; q$ F( [9 }& `& o! h
    17. 0 t& K7 _* R+ R+ O& b; |  c
    18. \ | /
      9 I% W3 c. [6 x& ]
    19. - RT -     Thread Smart Operating System
      " l( {7 t# S0 c5 u
    20. / | \     5.0.0 build May  1 2022; @; O+ {1 Y! i1 a
    21. 2006 - 2020 Copyright by rt-thread team, ^+ J. y. x; Z8 j, W& f+ ]+ [/ L% ]
    22. lwIP-2.1.2 initialized!
      + E9 |" _+ B& U8 Q
    23. [15] E/drv.enet: emac device init success
      4 ?# a- Q! T! Z' I. L0 u1 O
    24. [20] I/I2C: I2C bus [i2c3] registered
      + F6 k8 a1 m4 t1 Y
    25. [24] I/I2C: I2C bus [i2c4] registered% v; s3 z9 L! G5 r# F
    26. [73] I/SDIO: SD card capacity 7565312 KB.
      ' ~- Q, o. M, Q+ H0 T, s
    27. found part[0], begin: 4194304, size: 7.216GB
      ; [/ h9 M1 p! y% z; b7 |1 A
    28. [88] E/drv.enet: PHY Link down, please check the cable connection and link partner setting.
      * h5 j' v# n- Z
    29. [138] I/SDIO: emmc card capacity 3817472 KB.* }3 L( F9 {3 u* ^" A( V9 N
    30. found part[0], begin: 2098176, size: 500.0MB
      7 z8 T8 \# e/ {6 ?. t8 ~7 o. f, j
    31. found part[1], begin: 526386176, size: 1.0GB
      0 I- a& q8 K# m1 t1 \
    32. found part[2], begin: 1600128000, size: 10.0MB; K2 \/ ~  |+ [
    33. found part[3], begin: 1610613760, size: [161] I/touch: rt_touch init success- S7 ]2 D( y! r6 L7 K
    34. [165] I/gt911: touch device gt911 init success# p. j/ `1 q7 G
    35. [171] I/sal.skt: Socket Abstraction Layer initialize success.6 i2 K+ u1 B, o1 G" g' J
    36. 200.0MB! E8 L' y+ D, W8 ~# P' {/ z, K. Y
    37. emmc file system initialization done!" e1 N0 q& e' f( I
    38. sd0 file system initialization done!* Z: f7 t* z, q* j, n$ \
    39. open em failed!
      * q3 d  y0 Y2 X; j, [& W! T! X5 \
    40. hello rt-smart7 T' O. ~/ z+ }1 t9 K$ U
    41. msh />[3390] W/app.filesystem: sd card mount to '/mnt' failed!  _; R  G6 L3 M8 ~
    42. [5130] D/drv.enet: enet1 link up
    复制代码

    6 i+ ?, q+ T( O( s/ K: J: Myes 成功了3 E/ b- P9 D0 d! ?, ]- V

$ M) t" V) ]& z9 |

Tftpd64-4.60-setup.zip

576.65 KB, 下载次数: 1

tftp

回复

使用道具 举报

发表于 2022-12-25 21:58:57 | 显示全部楼层
学习了 赞一下
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|深圳市光明谷科技有限公司|光明谷商城|Sunshine Silicon Corpporation ( 粤ICP备14060730号|Sitemap

GMT+8, 2024-3-29 13:12 , Processed in 0.187963 second(s), 38 queries .

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

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