|
|
本帖最后由 zanjie1999 于 2020-8-25 21:09 编辑 发现居然有人tftp都不会用,写一个这样的教程,不需要u盘和emmc中的系统就可以刷spi,非常简单 1. ttl连接,连接绿色部分就可以了
6 T* i, p, Q' F1 ?
1 ]/ f3 f' k. I/ G- @ ^" M7 G- v6 ?5 u
左边的uart就是,将他连接到ttl小板,连接方式是:
# V6 Y4 F0 v {$ s将小板的跳线切换到3.3的位置,如果你的小板没有这种设计,忽略这一行
7 q5 j- g1 [; ? j$ Utx接到小板rx' L6 V# | ]- a0 F; Y7 ^: S
rx接到小板tx
1 p+ Z! W( f* A O2 j! dgnd接到小板gnd
9 I/ G8 s0 s, ~8 B* x$ S3 C8 r+ s1 K
接好后,把小板插电脑上
, @( ?9 s! x- J. J' w) l1 }/ A, a( j \4 U! u* F, _
, Q% R* \6 [! r
2. 随便找个终端程序,比如下面这个, macOS和Linux可以使用minicom或者screen,按照你的习惯来选择即可
& R7 X: m; s$ t3 i) N
/ `/ m9 V5 ^7 m5 ?- ^: O
打开它. N, @: ^( Q* ? _+ f. Q& l/ \
5 o: O3 v9 X r0 {9 Z! A- e: W新建一个串口会话,此时将载波率设置成115200,如果之前新建过那这步就免了
2 K% K$ N' A8 H% C6 }2 D' k) d7 t9 \9 f: \
0 B: ]3 d$ @' }6 g3. 打开那个串口会话,选择你的ttl小板,通常是com数字最大的那一个
+ B' {* L f' Q+ V/ j( p
' c R4 }; ?7 U9 ~. ?然后会打开一个空白的窗口
: y& s: @4 S/ T4 Y4 i9 s4 r
6 ~1 a$ j2 z3 p. w" \1 `( O. l- n4. 这时候给猫盘上电(插电)这时应该会看到窗口有输出内容,如果没有,可以试着把猫盘处的tx和rx对调一下
% K7 [! g3 g9 t* ]3 i7 G6 g* X
看到输出后不停的按回车,直到你看到
9 Z5 ]( s9 a5 J6 u进入了uboot命令模式. k; P; I/ b2 I4 e
4 Q# W6 {! ~( H, C+ l# t
5. 你已经完成一小半了,把你要刷的bin文件和tftp程序放在一起,比如下面这样" i3 {7 @; C. M& _1 g" W/ x
0 @' J. [2 v4 H; m! e
打开tftp服务器,macOS和Linux用户你们可以自己配置一个tftpd作为tftp服务器
' U$ z$ m, u1 J, X: S) u5 J- M: O/ x% T8 a0 c+ L7 |& \, |0 `& e
6.设置监听ip,并记下ip地址,这一步很重要# K3 b/ g$ l, C: T7 }" l2 `
q4 |* B+ j6 u: c2 A) h通常Realtek,Intel,Broadcom,Qualcomm,Mediatek,Killer开头的
$ }8 \6 g2 }( g# t* P3 x: D
' F$ x6 O0 I3 p% g! n. q4 s; N# P7 _5 J" H1 T0 S7 ^4 I
7. 将猫盘插上网线,和电脑连接到同一个路由下
+ D* f6 Y+ o6 v' S. g! z猫盘的ip地址 可以是 刚刚记下的ip地址,把最一个 . 后面的数字改为2-254之间的任意数字,不和记录的ip重复就可以了4 r# }/ f+ k5 n3 Q& E3 [# u
- setenv ipaddr 猫盘的ip地址! a( T( f4 X/ q6 [: D' A" `5 h2 G$ O
- setenv serverip 刚刚记下的ip地址
1 N8 b# W- e; n5 w, t- H. \
复制代码 地址就设置完了( [- ?) Y. ?2 q# p3 X. \% g6 W
9 u! T- K: T, p8 M' p& T8 @
3 o: A3 {' f2 e3 u- I
8. 下载固件到猫盘
' V! S- C5 m- A3 {, r7 d2 F- tftpboot 0x1000000 你要刷的bin文件的文件名
复制代码 像下图这样提示done那就成功了,如果没成功可以尝试重插网线再重新操作本步骤
6 m1 N3 \/ \, Q: P6 k
/ H1 r. Y% f* _- k" [8 t1 c `( g( q
9.刷spi,请确定上面那步已经成功3 p8 x& t- p6 W" w
- sf probe
9 x2 b# v. y! r7 _# q0 h) k - sf erase 0x0 0x800000
9 _& e+ f7 ~. k - sf write 0x1000000 0x0 0x800000
复制代码 执行完之后,spi就刷好了,可以拔电重启了
' m6 d( H" \' ^# C R+ ]: |
- A* R* r g7 E7 y ?
& U: B* _5 @1 O. @+ ~$ s/ K$ }; k, e10. 改mac
6 C/ ?0 `& ^! X3 Q+ b4 E7 h使用 4 的方法进入命令模式,把下面的mac替换成你猫盘盖子上印的mac; d) J8 a6 n2 j# \
- env default -a
% l7 ^+ ?( @. q$ @+ A - setenv ethaddr "4c:65:a8:00:00:00"
) p) X7 \0 { s# J$ g5 o - saveenv
复制代码 再断电重启即可
, f. a1 j' F5 J. }" j+ @! k D' I4 f
-------------------------- wtp 部分 --------------------------+ R) s3 C/ P" h( L
4 v2 P: Y6 T6 X5 h9 ?, q如果显示
+ p8 t; L$ x9 s. V' f) S7 e那你就需要下面的内容了,此操作需要Linux系统,那怕是U盘启动的liveCD或者虚拟机都可以
& b' r9 `8 m# U8 ^- ?8 p/ s% h* T/ S* J9 I& C/ @
1. 如果你是虚拟机,请把你的ttl小板分进去,不同的虚拟机操作不一样,一般在 设备 -> usb 菜单中4 u9 I l. l/ n1 M! W8 x$ _
8 j. Y6 v8 v# P7 E* v7 U5 _
2. 执行8 c8 Z6 y. a6 g) b
应该能看到输出内容中有usb子样,这时小板已经连接成功了
' ~) h/ |( [" n N Y( x9 w& p- v
8 Z0 Q: A7 |* f3. 在 wtp 文件夹下打开终端" D9 F, T& \0 j& U
. a5 X) b/ ]3 ~$ C4. 执行
" U% }. p! i y4 F2 ^6 n4 A- sudo ./WtpDownload_linux -P UART -C 0 -R 115200 -B ./TIM_ATF.bin -I ./wtmi_h.bin -I ./boot-image_h.bin -E
复制代码 可能会要求你输入密码,密码是你系统用户的登陆密码
; B9 M3 B/ n5 o) C- H7 [& U
- k3 v" y$ Y2 Q完成后回到本文的开始,刷入uboot1 A( Y! C7 U* |% B
6 T I' Y. F+ B9 H2 x
好了写完了,10点吃晚饭会不会有点晚2 ~- I1 [+ w$ c; {7 Q( g
0 r# d! K0 K9 }2 X5 O
1 z3 s4 V5 \5 @& K. r( E1 q |
评分
-
查看全部评分
|