|
本帖最后由 zanjie1999 于 2020-8-25 21:09 编辑 发现居然有人tftp都不会用,写一个这样的教程,不需要u盘和emmc中的系统就可以刷spi,非常简单 1. ttl连接,连接绿色部分就可以了
, r h0 K8 ~" f
W- ~7 v/ e! U- E( d
左边的uart就是,将他连接到ttl小板,连接方式是: i( T& t$ D' c U5 ]
将小板的跳线切换到3.3的位置,如果你的小板没有这种设计,忽略这一行0 c8 A* V, J- S2 y+ z
tx接到小板rx+ h. f3 P. f. H$ M# H
rx接到小板tx
$ `9 u" Y: D2 m" y; I1 b# cgnd接到小板gnd% b7 O0 W2 U# m
6 ]/ u+ W' _: c0 O接好后,把小板插电脑上2 u4 O- m: j r# j5 \' J
* ^7 e' Q% R; T
7 ]0 @; \2 [( c% p
2. 随便找个终端程序,比如下面这个, macOS和Linux可以使用minicom或者screen,按照你的习惯来选择即可1 b% W8 J2 j- ^& J' L- _6 B
6 {9 G' i9 ]* p0 q4 m/ q' w5 \
打开它
: `$ T) A6 C3 z
2 ^4 R5 w! C1 b0 `
新建一个串口会话,此时将载波率设置成115200,如果之前新建过那这步就免了
: l$ S4 ~* l4 `! I3 [. Z3 c7 u1 x+ I& |# d2 B( D$ h% O) Y) k
. B* J/ ]* G# `7 l3. 打开那个串口会话,选择你的ttl小板,通常是com数字最大的那一个( {! v7 r7 i! _$ ~. f. b& k
7 m8 a1 Z& e3 n8 h
然后会打开一个空白的窗口( k1 K: ?1 z& T: U5 ~
. k- M- P0 N* X9 m
4. 这时候给猫盘上电(插电)这时应该会看到窗口有输出内容,如果没有,可以试着把猫盘处的tx和rx对调一下" |& x. b, e, K! b
- U) I5 N% M& g" k6 a1 X0 G看到输出后不停的按回车,直到你看到
$ _2 L' n) D! a" H {进入了uboot命令模式
: d$ n y' {+ W+ a; Y* P
$ O7 z Y# }8 z! r- ^/ ^5. 你已经完成一小半了,把你要刷的bin文件和tftp程序放在一起,比如下面这样
! l1 i+ ?7 L0 r$ r3 z
$ v" W$ n' c" N3 r
打开tftp服务器,macOS和Linux用户你们可以自己配置一个tftpd作为tftp服务器6 u" [7 @4 o6 c. F1 f. i4 [
' M. ~9 y* T+ U) l p
6.设置监听ip,并记下ip地址,这一步很重要5 Y+ q8 g9 _ c$ f3 u& t
, R- x/ P1 d* S5 M+ [
通常Realtek,Intel,Broadcom,Qualcomm,Mediatek,Killer开头的5 @, ?% @% g% w4 {; q
: `/ e/ |- u$ q1 B3 g! O* P" m
# c0 I. C) A1 i/ C" ?2 b) a7. 将猫盘插上网线,和电脑连接到同一个路由下* b) l! x, O/ b
猫盘的ip地址 可以是 刚刚记下的ip地址,把最一个 . 后面的数字改为2-254之间的任意数字,不和记录的ip重复就可以了
: L3 d9 o% v! L7 D- setenv ipaddr 猫盘的ip地址
; B9 p6 r* u2 u3 z - setenv serverip 刚刚记下的ip地址
/ |# y. t6 V% F; Y! c3 l$ R* y
复制代码 地址就设置完了& q+ D- h: r( o( f. }( n5 }
^# Z# y2 S0 m- E; B) x
1 K5 k3 Z/ J; Y+ N8. 下载固件到猫盘
" m) m: N) u- v3 q0 B/ Q" V- tftpboot 0x1000000 你要刷的bin文件的文件名
复制代码 像下图这样提示done那就成功了,如果没成功可以尝试重插网线再重新操作本步骤- ]- Z% Z: c4 A+ i w* u
# S5 M5 o7 u n
* D- q, A+ o6 |2 T. C8 Q( K" S9.刷spi,请确定上面那步已经成功! m7 x5 b% Q2 u
- sf probe- ~7 I' K# C& n2 y7 J/ ~9 v
- sf erase 0x0 0x800000) o# K7 o! O1 g
- sf write 0x1000000 0x0 0x800000
复制代码 执行完之后,spi就刷好了,可以拔电重启了
/ l, m p: L# ]# [! T+ {) {5 d: C& r F7 ^6 k2 x. f6 B; A' T
5 o5 P, S+ F. O' A9 O10. 改mac
! j2 [, G$ K5 h( o3 p使用 4 的方法进入命令模式,把下面的mac替换成你猫盘盖子上印的mac
, d# l4 } L7 X b& ?- env default -a
4 r7 _( Y* Q6 d - setenv ethaddr "4c:65:a8:00:00:00"" v- R8 D; I- J- E, D; `9 O
- saveenv
复制代码 再断电重启即可
' A; w- _8 G# I" I
5 Q; r- G. Y' W4 @! O-------------------------- wtp 部分 --------------------------: H L; m6 ]+ M- F
8 w" w1 C2 A' h' ~, H* V
如果显示( G) F2 |: [0 ^# `
那你就需要下面的内容了,此操作需要Linux系统,那怕是U盘启动的liveCD或者虚拟机都可以" Y5 ^- ?; @& `$ _. e3 p6 m
* w7 ~! P$ N! Q' _9 f
1. 如果你是虚拟机,请把你的ttl小板分进去,不同的虚拟机操作不一样,一般在 设备 -> usb 菜单中1 v% @- h0 y' K* W
+ ~) \: a# O2 t, \ x- P
2. 执行# I/ {' t7 i; p# l7 K
应该能看到输出内容中有usb子样,这时小板已经连接成功了
+ H4 m7 i) i4 d: t
+ K3 m7 `) G4 P/ D3. 在 wtp 文件夹下打开终端) u& c. g4 N- I) }; G
I3 }0 K9 _8 D5 z( x4. 执行
- `1 }) e- a& c2 u" e1 r4 `6 |- sudo ./WtpDownload_linux -P UART -C 0 -R 115200 -B ./TIM_ATF.bin -I ./wtmi_h.bin -I ./boot-image_h.bin -E
复制代码 可能会要求你输入密码,密码是你系统用户的登陆密码
/ a6 p5 B1 r' o6 Y
. [. {1 g# b* U3 C8 J% O$ H完成后回到本文的开始,刷入uboot
3 g' V) m0 a. ]- ?$ \9 O! _" t/ N: r1 Y& X w
好了写完了,10点吃晚饭会不会有点晚
; n9 U) ], D- T- n1 q2 i: ~( x! G# _. M ~- T, f
0 P: h9 k: Z) I. f8 E* g( f |
评分
-
查看全部评分
|