|
|
本帖最后由 zanjie1999 于 2020-8-25 21:09 编辑 发现居然有人tftp都不会用,写一个这样的教程,不需要u盘和emmc中的系统就可以刷spi,非常简单 1. ttl连接,连接绿色部分就可以了
# z$ x) z$ @0 m# a" O8 v
. A& {; z: [+ O) D
左边的uart就是,将他连接到ttl小板,连接方式是:+ o2 N5 `. g: {: m% d# E: ^$ Y
将小板的跳线切换到3.3的位置,如果你的小板没有这种设计,忽略这一行2 u q( S0 A% x) z. O1 d p% k
tx接到小板rx% H! m4 o0 Z: c1 c
rx接到小板tx
; _9 T, E: V8 P: tgnd接到小板gnd
8 f: q( i. Q& g' Z! N; z2 j1 y
. D1 O! y* w- e( L5 a. ?# B( d% E接好后,把小板插电脑上; ~1 t8 J7 @0 n0 s# M# {
% x4 R- H4 M2 r) u- l* s* M0 P+ C3 k) I' p3 d0 E8 B5 o
2. 随便找个终端程序,比如下面这个, macOS和Linux可以使用minicom或者screen,按照你的习惯来选择即可
+ L# R6 D. J; Z ]6 ~9 @
5 Q8 _6 N# D. q+ ]
打开它
7 u7 g6 m9 m& ]: ^8 N, T
' F. J, z8 c2 W2 N+ `新建一个串口会话,此时将载波率设置成115200,如果之前新建过那这步就免了, H8 T. [4 J9 U3 U$ x# ], o* D
/ U4 {) m" W* }' f7 A. i3 i2 g# q
( M: m; d" O$ o! B) v9 x
3. 打开那个串口会话,选择你的ttl小板,通常是com数字最大的那一个
7 p! G) L0 Q4 C1 o! U
/ v/ l$ p; R9 R6 H$ O }
然后会打开一个空白的窗口5 k/ G( S7 f* P) o
! e# M3 `% \7 H" G8 p' O2 q4. 这时候给猫盘上电(插电)这时应该会看到窗口有输出内容,如果没有,可以试着把猫盘处的tx和rx对调一下9 u1 H5 v# K: P: b
! h' b. y, O1 i4 ?% b0 d5 r
看到输出后不停的按回车,直到你看到# c. O2 h$ C/ d3 P. O/ w& b2 o
进入了uboot命令模式( @. C( s' b$ `4 d
# O$ R% r( e/ l9 E" |
5. 你已经完成一小半了,把你要刷的bin文件和tftp程序放在一起,比如下面这样3 F" x! x+ K' s$ y! L5 F3 _
' H" ^* T& K" q' q$ _# G8 J; ]0 z
打开tftp服务器,macOS和Linux用户你们可以自己配置一个tftpd作为tftp服务器
/ P* u+ m4 n5 R8 [/ C$ l; E: H$ n) X+ D
6.设置监听ip,并记下ip地址,这一步很重要3 i+ p6 s$ g* m2 A5 }/ X
/ k M, U0 s6 n1 Z
通常Realtek,Intel,Broadcom,Qualcomm,Mediatek,Killer开头的
3 N: r+ K/ ?: o9 V, ^1 D$ O. \' S6 S h. T2 i7 f
/ ?$ g7 u' H" Y7. 将猫盘插上网线,和电脑连接到同一个路由下
7 W( }3 N7 p) w0 p4 \: |猫盘的ip地址 可以是 刚刚记下的ip地址,把最一个 . 后面的数字改为2-254之间的任意数字,不和记录的ip重复就可以了0 H5 L, h# Y4 y! ]/ Y
- setenv ipaddr 猫盘的ip地址' |3 ~- E9 X. n* m# i6 c, @6 h
- setenv serverip 刚刚记下的ip地址: y. O4 A- [4 [8 i! U& t
复制代码 地址就设置完了. U" u- j5 o( N/ K& a
& R& g; |) a0 |: j( b ?, b( d2 L6 Z; _, G6 ]
8. 下载固件到猫盘7 q" ?9 O3 F3 r F5 K
- tftpboot 0x1000000 你要刷的bin文件的文件名
复制代码 像下图这样提示done那就成功了,如果没成功可以尝试重插网线再重新操作本步骤8 U9 I& c' \/ g& @+ }
% E! I" e4 R- P
$ [5 \, Z$ z2 v% ~
9.刷spi,请确定上面那步已经成功
5 ?& @. i9 n' D4 _# v/ h+ Z- sf probe
. A* }$ k: G3 }/ D Z. Y - sf erase 0x0 0x800000( e* s0 v) }' S) `% L9 i
- sf write 0x1000000 0x0 0x800000
复制代码 执行完之后,spi就刷好了,可以拔电重启了
0 }" V! _' y1 U
, A% z2 a9 k$ ~2 U0 r. g+ P2 b* I2 ]
1 P2 z* B v& H8 `& Y" d' p$ {+ n10. 改mac4 c; F# ]; s+ M7 R/ K$ R
使用 4 的方法进入命令模式,把下面的mac替换成你猫盘盖子上印的mac: }6 \( ]3 k M5 a
- env default -a4 e7 o+ m. w' S7 Q4 B8 A
- setenv ethaddr "4c:65:a8:00:00:00"
; Z' @* I( [6 [1 n# g4 v) F - saveenv
复制代码 再断电重启即可* E/ P! u$ u: v% Q; [: `
; f1 N' K8 F: A B" q-------------------------- wtp 部分 --------------------------
; v3 L, N; g. S
6 b: R7 r$ k3 U3 }) z# @& E2 d: k9 `# B如果显示+ {3 w4 ~& S# [4 C' N
那你就需要下面的内容了,此操作需要Linux系统,那怕是U盘启动的liveCD或者虚拟机都可以( ^, I, j5 J$ ?- y0 L
1 ~, \( W, i/ \: G1. 如果你是虚拟机,请把你的ttl小板分进去,不同的虚拟机操作不一样,一般在 设备 -> usb 菜单中, I! E: ?7 T' B( ^$ Q4 D
3 q7 u$ [0 c" `2. 执行
: H* s: f9 C5 r8 ?: y0 R6 N应该能看到输出内容中有usb子样,这时小板已经连接成功了
* F1 ~6 @ ?3 P; @
: R" J0 A7 H! `5 Q3. 在 wtp 文件夹下打开终端0 k3 r0 U; l: h" H; \2 `# N7 [. L
. e4 r0 c. N2 J# h
4. 执行
7 Q* N4 o8 t4 m+ v+ a7 ^2 L, A- sudo ./WtpDownload_linux -P UART -C 0 -R 115200 -B ./TIM_ATF.bin -I ./wtmi_h.bin -I ./boot-image_h.bin -E
复制代码 可能会要求你输入密码,密码是你系统用户的登陆密码
5 \! Q3 s, A' B; i |& t9 b/ m8 W. W4 z4 O9 c8 y) H
完成后回到本文的开始,刷入uboot
% I) L/ `0 k$ R3 ?' A+ q; ]6 v- `0 A2 ^9 `
好了写完了,10点吃晚饭会不会有点晚! z" f$ s$ G1 q. Q# I: J: d3 _8 }
' \1 ?' H v1 U2 r" U% m" ^* w. y( L
|
评分
-
查看全部评分
|