|
本帖最后由 zanjie1999 于 2020-8-25 21:09 编辑 发现居然有人tftp都不会用,写一个这样的教程,不需要u盘和emmc中的系统就可以刷spi,非常简单 1. ttl连接,连接绿色部分就可以了$ K% |8 X2 W4 q3 B1 v
/ @4 r+ N- T& y& f& E2 n5 M J" h
左边的uart就是,将他连接到ttl小板,连接方式是:
$ m' O4 Y$ {6 ?# M( h! m将小板的跳线切换到3.3的位置,如果你的小板没有这种设计,忽略这一行- x5 X6 F( T, N5 b/ _, y% T
tx接到小板rx+ c0 j( @; v: e1 z! s9 Q
rx接到小板tx4 g% \6 d8 m& o
gnd接到小板gnd
~! p" C$ a4 [% r" F+ c( g9 ~5 o
6 Q7 E& r+ C: g; N H2 S3 k接好后,把小板插电脑上; m1 q* I& B& v* z; \* o! }; S
4 @' R3 |' B( f5 x- ?
: r5 I* J2 e: j! R2. 随便找个终端程序,比如下面这个, macOS和Linux可以使用minicom或者screen,按照你的习惯来选择即可
8 s0 P& A/ G6 T, @4 s* E) M
" H3 o# y, ?, i7 K1 Y
打开它) \- G7 Z/ [4 O# O% o1 f$ e
% @' E7 |% D( d* D新建一个串口会话,此时将载波率设置成115200,如果之前新建过那这步就免了) J! `! v) w* v+ ]! R
$ l. i4 D2 T! H
7 r, F) ~' Y' }$ b3. 打开那个串口会话,选择你的ttl小板,通常是com数字最大的那一个; Q2 z& Z: [1 `6 y! p' ?
. y7 b: p; i$ q# ~ p. l( ?
然后会打开一个空白的窗口 ^" v, Q. R. r. t6 } ]# a
) ^1 z6 b& `9 ]& z7 ^( e
4. 这时候给猫盘上电(插电)这时应该会看到窗口有输出内容,如果没有,可以试着把猫盘处的tx和rx对调一下
! d+ P2 P, X" S% B! u) p: Y: }+ C4 u# r* Y
看到输出后不停的按回车,直到你看到
/ v8 v- D* r! Z, u6 j进入了uboot命令模式6 l% _- {, M* `# [" f o' V
3 J8 d c6 o1 g* j0 \
5. 你已经完成一小半了,把你要刷的bin文件和tftp程序放在一起,比如下面这样
3 c3 a( ?0 i, i& q
1 h7 [/ {8 \# W
打开tftp服务器,macOS和Linux用户你们可以自己配置一个tftpd作为tftp服务器
# G; Y% D5 ?& h' I' o( y
9 i. f) T, y- z- n% X+ P6.设置监听ip,并记下ip地址,这一步很重要
9 y' S. h8 F/ G- ^4 w4 D* ^
8 d. @5 D* u6 M" t通常Realtek,Intel,Broadcom,Qualcomm,Mediatek,Killer开头的
+ b) `9 K9 d7 h. f6 t1 u5 r& U4 C. w$ s3 C; P
: n4 L8 C& K' K/ G
7. 将猫盘插上网线,和电脑连接到同一个路由下5 ?% C1 X* L$ c0 p8 U. g) W
猫盘的ip地址 可以是 刚刚记下的ip地址,把最一个 . 后面的数字改为2-254之间的任意数字,不和记录的ip重复就可以了
3 A6 o! V( M# N/ U: T. m1 q- setenv ipaddr 猫盘的ip地址! d9 Z) H' L& m* O0 H2 z
- setenv serverip 刚刚记下的ip地址# }: Y; c- f7 I) S: d" Z* k: Z; J7 B! f
复制代码 地址就设置完了
5 p6 ?2 ^. L* l8 q3 D3 j# \6 e( ~4 O4 ?
0 g- l) e* Q2 x7 x8. 下载固件到猫盘
8 A5 [$ G5 W. @, W) z. ]- tftpboot 0x1000000 你要刷的bin文件的文件名
复制代码 像下图这样提示done那就成功了,如果没成功可以尝试重插网线再重新操作本步骤
* y l- i) E9 B$ g
* w( ?5 R2 o$ g- j- z3 H
' t$ i. c( u8 |
9.刷spi,请确定上面那步已经成功
3 o3 x: O2 C5 X1 f* I L/ O" @9 L- O' M; H- sf probe( X, j5 v# n8 P y8 ^, V; X
- sf erase 0x0 0x800000
3 v2 W2 _. }1 m- n1 B - sf write 0x1000000 0x0 0x800000
复制代码 执行完之后,spi就刷好了,可以拔电重启了
+ O: B, J: r- y8 a* N" L) B( |. J5 N/ \+ ?( U- ?* n- W
/ }& v. j) f! d
10. 改mac) V2 J5 H/ k$ c6 l) x. p
使用 4 的方法进入命令模式,把下面的mac替换成你猫盘盖子上印的mac
% W: c% Q* H r6 e1 r+ ]- env default -a
4 ^: `/ ^2 i! }9 S6 _! @# j - setenv ethaddr "4c:65:a8:00:00:00"1 T! W+ E- J& @; I2 v# F M; l8 i
- saveenv
复制代码 再断电重启即可
7 T8 L- E/ l( ^6 u2 r; ?
9 i; [- [! Y) b& b$ }8 O7 K-------------------------- wtp 部分 --------------------------1 C5 U2 p' P+ j) J A& z
0 _9 J- e0 k& A2 ]如果显示" |% ^) ?/ x" X
那你就需要下面的内容了,此操作需要Linux系统,那怕是U盘启动的liveCD或者虚拟机都可以
1 G) f L4 o" \. A7 k* U7 X* x0 l- \# C
1. 如果你是虚拟机,请把你的ttl小板分进去,不同的虚拟机操作不一样,一般在 设备 -> usb 菜单中
4 A% }% ]1 q$ w1 E, f
7 |; H, L. b+ p. [! |5 F2. 执行
8 F: W% i U0 P8 E" n( X7 q应该能看到输出内容中有usb子样,这时小板已经连接成功了
% }3 f9 E' O# m3 p$ l/ V; P H, D" O! F8 x, ]* x) f4 d8 |# f
3. 在 wtp 文件夹下打开终端5 u/ u& `( o Q9 z- \- x
1 g, }( N% M7 H% W4. 执行
! b1 Y/ X6 Y3 v; C" E) F" Z+ V N4 _- sudo ./WtpDownload_linux -P UART -C 0 -R 115200 -B ./TIM_ATF.bin -I ./wtmi_h.bin -I ./boot-image_h.bin -E
复制代码 可能会要求你输入密码,密码是你系统用户的登陆密码/ A" I: g2 E* A. Q( M& A
6 O( |+ u6 _ a! l {0 H3 F
完成后回到本文的开始,刷入uboot- W [- `& O6 D0 v
4 n, h/ h5 }# ?" r }- W1 ?
好了写完了,10点吃晚饭会不会有点晚
7 ^1 z$ J( i' t& x% N" |. O ?& H& i# |* a! m9 J
& M( @* c: r& I
|
评分
-
查看全部评分
|