|
本帖最后由 zanjie1999 于 2020-8-25 21:09 编辑 发现居然有人tftp都不会用,写一个这样的教程,不需要u盘和emmc中的系统就可以刷spi,非常简单 1. ttl连接,连接绿色部分就可以了. k) x6 s; A8 U, p& j3 v
& w9 b) G! q/ [
左边的uart就是,将他连接到ttl小板,连接方式是:
5 l; l/ x9 _# ?% B* D- K将小板的跳线切换到3.3的位置,如果你的小板没有这种设计,忽略这一行
4 O4 S! a- p/ ?! ]tx接到小板rx. r1 r& U5 V8 Q
rx接到小板tx
1 _% T. T6 r* [+ ygnd接到小板gnd& ?7 y9 k% ]1 Z2 |/ \* P
- y8 `* N" U8 s& g0 k3 s8 p5 i1 u9 x接好后,把小板插电脑上
7 ~* y+ o( D4 r) o# Q! o* q! `9 C* ^# J" C
+ f/ T9 J6 \1 j E& R
2. 随便找个终端程序,比如下面这个, macOS和Linux可以使用minicom或者screen,按照你的习惯来选择即可& k4 b- y; j. ~6 J9 n- x
( ]9 H" E3 `2 Z7 {1 _: m, c9 R打开它$ y' F) E7 s" e8 o p
! l7 e! c3 Z$ s3 @' }6 ^/ o5 l新建一个串口会话,此时将载波率设置成115200,如果之前新建过那这步就免了/ O5 q9 g7 D, h0 M8 d
0 v; r( z5 ?; {( X. p
( J. L( M7 i7 H
3. 打开那个串口会话,选择你的ttl小板,通常是com数字最大的那一个
1 ?3 r. t$ Y" o9 W8 ~
8 J2 G% R' }3 A/ f# [( c然后会打开一个空白的窗口
: @9 S9 U; R# [" G9 a0 \0 M. T8 N. y& Z! C9 [3 t) a* p6 g) U
4. 这时候给猫盘上电(插电)这时应该会看到窗口有输出内容,如果没有,可以试着把猫盘处的tx和rx对调一下6 h, M+ }5 a" m8 ^
0 n7 }, N. ?$ ?! T看到输出后不停的按回车,直到你看到
4 x; f0 y" K: j! @4 [3 U, z1 J( K进入了uboot命令模式
/ G9 A; _! o# g) P3 g
2 P6 f9 c2 Q/ _/ I" Z5. 你已经完成一小半了,把你要刷的bin文件和tftp程序放在一起,比如下面这样
) U2 ~% Y; W! P4 U) v6 [$ I
" |! _" t l7 _+ f
打开tftp服务器,macOS和Linux用户你们可以自己配置一个tftpd作为tftp服务器
, `/ e" ?9 U+ d9 B( }" d/ G( k: ]7 V* J* h
6.设置监听ip,并记下ip地址,这一步很重要
; O7 v7 H# P. [3 {3 d/ n. J* S
5 a, }, O/ W5 O& X通常Realtek,Intel,Broadcom,Qualcomm,Mediatek,Killer开头的8 I4 X2 ?7 b/ R' ?1 N' s
6 j$ G2 e, T6 d) T6 J6 h# ^/ X
7 d" J/ v, p6 N/ S7. 将猫盘插上网线,和电脑连接到同一个路由下
X' T% J7 {2 M- F; @; g猫盘的ip地址 可以是 刚刚记下的ip地址,把最一个 . 后面的数字改为2-254之间的任意数字,不和记录的ip重复就可以了
/ Y! D' Q& f) _- setenv ipaddr 猫盘的ip地址% u- h5 Q8 } F. m+ \) N# e
- setenv serverip 刚刚记下的ip地址
( o& ^" j9 E# }' \+ a
复制代码 地址就设置完了
; X+ ]8 h6 b0 w" | b* Z2 n! a2 f+ P$ v
5 _" k8 m" ~; A0 c' E- r* [7 {. ]8. 下载固件到猫盘
# M3 q% o& h, D9 Q4 d( R6 [& P- tftpboot 0x1000000 你要刷的bin文件的文件名
复制代码 像下图这样提示done那就成功了,如果没成功可以尝试重插网线再重新操作本步骤
) _* R& b4 A1 @# y* _5 x3 Z
+ r9 e5 P# I8 @$ [1 W; Q0 T
; a1 P& g8 N/ @/ r
9.刷spi,请确定上面那步已经成功
/ U( i" n. p- u- sf probe
1 N4 m5 _2 M1 d' a - sf erase 0x0 0x8000001 X0 N2 U% k8 L( ~
- sf write 0x1000000 0x0 0x800000
复制代码 执行完之后,spi就刷好了,可以拔电重启了
& r! @9 k5 J6 M* T# G) x
3 L* ~ {4 z/ i" G* _
, D2 [0 g P3 P7 P0 {9 Y2 W! @ l10. 改mac R: r& ]/ I4 n* _ Y
使用 4 的方法进入命令模式,把下面的mac替换成你猫盘盖子上印的mac8 j0 E# C% Y2 \5 A
- env default -a p! t1 l3 S: E8 e1 Y2 f9 m8 W
- setenv ethaddr "4c:65:a8:00:00:00"; N9 a! g, m# b1 G' z
- saveenv
复制代码 再断电重启即可
0 K9 \8 u: B1 A0 Y4 ?3 f
, R9 E) V! @. O! y1 \-------------------------- wtp 部分 --------------------------
& Y& e( Q; @6 H, l$ @" @# C0 I8 `5 O e! C+ y3 b: f( @
如果显示
0 e/ y% X$ b" K( c9 `3 s% C那你就需要下面的内容了,此操作需要Linux系统,那怕是U盘启动的liveCD或者虚拟机都可以% m2 L7 \: H2 F7 W/ w6 y
: \. y4 g4 ^" i, L" @: L ]: L1. 如果你是虚拟机,请把你的ttl小板分进去,不同的虚拟机操作不一样,一般在 设备 -> usb 菜单中
: A7 i* E4 m; |1 Y% n
3 O, F i. C! `" ^9 f% o. d2. 执行
7 o4 S( x3 M- J7 f2 h# s应该能看到输出内容中有usb子样,这时小板已经连接成功了. m- M8 ?8 L% b m9 Y
5 L9 V e1 a* ?0 A {4 K8 \6 |
3. 在 wtp 文件夹下打开终端" t4 w5 O, y* C& ]7 @
0 w/ j% {. W& T4 {" I- U9 n0 q4. 执行. k8 \3 h1 V8 Q) d' |
- sudo ./WtpDownload_linux -P UART -C 0 -R 115200 -B ./TIM_ATF.bin -I ./wtmi_h.bin -I ./boot-image_h.bin -E
复制代码 可能会要求你输入密码,密码是你系统用户的登陆密码) S" i0 o# ]2 \
7 `( Y" T8 S6 K! u完成后回到本文的开始,刷入uboot
5 L. j( V( D# J0 u2 P; s& j2 g8 g
好了写完了,10点吃晚饭会不会有点晚9 B; T2 ^ O. A* W" j' g
: |, f5 D- I1 W' Y: f6 h+ ~
, K0 }; ` L0 _, r; m
|
评分
-
查看全部评分
|