|
|
本帖最后由 zanjie1999 于 2020-8-25 21:09 编辑 发现居然有人tftp都不会用,写一个这样的教程,不需要u盘和emmc中的系统就可以刷spi,非常简单 1. ttl连接,连接绿色部分就可以了2 N6 \* Y% x1 Y' Y6 @
) i. k# X+ R" j9 [ W1 U
左边的uart就是,将他连接到ttl小板,连接方式是:
1 `3 q2 s5 U3 X- u9 p将小板的跳线切换到3.3的位置,如果你的小板没有这种设计,忽略这一行
) t( M q6 Q+ _( m% [' @9 utx接到小板rx
0 A8 T7 A: ]) M, n0 V; [9 erx接到小板tx' G0 n$ l& x4 B4 E
gnd接到小板gnd
# L( L& C9 o9 q# ^( O+ f- h9 V" v' s1 b1 n0 ]2 E
接好后,把小板插电脑上
9 O2 {- T9 k; U/ n; _9 J6 z) j+ D
$ E6 _- p( E( G& R' H! c* X
2. 随便找个终端程序,比如下面这个, macOS和Linux可以使用minicom或者screen,按照你的习惯来选择即可) Q) G2 ~: A# y+ t! l# T4 F
* H, ~- e% c' {+ S
打开它9 n$ z+ O2 _' w8 T
8 `' d8 n" L" P4 E3 w; J e7 x新建一个串口会话,此时将载波率设置成115200,如果之前新建过那这步就免了8 Z4 g" Q! T+ {; m3 X
! j: V7 S* m' B
% x3 i) x; K. Y% K/ b- _ B" h
3. 打开那个串口会话,选择你的ttl小板,通常是com数字最大的那一个/ N7 P" T, ]* z
8 W* N$ \+ c( W! z; j$ u
然后会打开一个空白的窗口
+ r$ L7 A9 v- P. Z( e( X9 p, {# W9 K
4. 这时候给猫盘上电(插电)这时应该会看到窗口有输出内容,如果没有,可以试着把猫盘处的tx和rx对调一下
. I5 U/ U3 a: |( F* }: w! C# h5 H/ \1 y; Z6 B
看到输出后不停的按回车,直到你看到
) ^, m8 m( M; [; k进入了uboot命令模式
8 D8 v+ o' {; t7 I6 j2 w+ p( H/ F' c" k
5. 你已经完成一小半了,把你要刷的bin文件和tftp程序放在一起,比如下面这样
: B" m/ j7 l0 \9 h% N; P1 S2 C
; N4 h) P4 W9 u5 g5 F5 _打开tftp服务器,macOS和Linux用户你们可以自己配置一个tftpd作为tftp服务器
4 F8 O4 \' x# G& X+ v: s
+ `! C2 W2 k& A6.设置监听ip,并记下ip地址,这一步很重要
% B- b, E+ ^) H) }, | y
4 L8 M9 Z+ Q6 r9 _
通常Realtek,Intel,Broadcom,Qualcomm,Mediatek,Killer开头的
3 J7 u. Q3 _4 k K9 u; a- o3 K W* D
" K' l0 z3 S$ n5 x% P4 i. V7. 将猫盘插上网线,和电脑连接到同一个路由下
$ M$ u6 K+ e" h; c i+ a5 X8 @猫盘的ip地址 可以是 刚刚记下的ip地址,把最一个 . 后面的数字改为2-254之间的任意数字,不和记录的ip重复就可以了: g; q4 w& Q/ h9 i
- setenv ipaddr 猫盘的ip地址& `9 N. x; A, i% S& o2 {5 [
- setenv serverip 刚刚记下的ip地址
! {9 h% {! r+ h* J( n
复制代码 地址就设置完了
9 {; R: ]0 N: ]6 L
( [: w) Y$ Q+ P0 G9 X a: C; h* Z: J# w9 \- t& o: {8 C
8. 下载固件到猫盘
. r' ~1 g, e+ m( M* t! M# x- tftpboot 0x1000000 你要刷的bin文件的文件名
复制代码 像下图这样提示done那就成功了,如果没成功可以尝试重插网线再重新操作本步骤% `$ |% w v& s3 |
0 m3 ~0 \+ w6 }8 ~
# \+ G, U* Q* s' q9.刷spi,请确定上面那步已经成功4 G- L3 h! g7 c1 a9 ]. ]6 i
- sf probe
7 k5 Q. q4 r( J) _9 P+ }' [+ j( L - sf erase 0x0 0x800000
' ?/ m- k% Q4 i d: s1 I - sf write 0x1000000 0x0 0x800000
复制代码 执行完之后,spi就刷好了,可以拔电重启了
+ x1 d8 G* d/ I4 h+ ]
% g8 C. N3 c8 @ y) d. ]/ P
# O+ l6 Q! W5 F% |! E
10. 改mac
. p {' Q$ ` R& r3 m, x4 g使用 4 的方法进入命令模式,把下面的mac替换成你猫盘盖子上印的mac
* t9 E" X: ?! X) P* e) k3 d( P5 ?. I- env default -a9 |2 B! K2 j7 y
- setenv ethaddr "4c:65:a8:00:00:00"
# o7 t: t, [$ T; U8 e. Y. G - saveenv
复制代码 再断电重启即可- [4 i+ L( P: W
7 Z/ E# }( s' Q0 Z% i Q( N-------------------------- wtp 部分 --------------------------
8 ^5 t9 e/ E( j& q. r) l. V F+ {! W9 X; |! I3 a: f0 W& k
如果显示
# H0 e0 T7 x* {) h V那你就需要下面的内容了,此操作需要Linux系统,那怕是U盘启动的liveCD或者虚拟机都可以, ^$ L. Y1 w6 T
. ^9 ~1 _, a8 M3 h' R- q/ p. d; q
1. 如果你是虚拟机,请把你的ttl小板分进去,不同的虚拟机操作不一样,一般在 设备 -> usb 菜单中
8 |" E% y4 ^8 U; s! O
- ~7 \: Y( H) c% E+ u2. 执行
" K$ ~1 N3 u# N1 K2 {. j. q2 l7 }: @应该能看到输出内容中有usb子样,这时小板已经连接成功了: W: P+ g! z/ Y
' O+ k' h8 T3 ^( _9 V) m* q- N
3. 在 wtp 文件夹下打开终端
5 H& q, a& _4 L, V4 N* u/ N% r' \8 x7 ]& @7 r
4. 执行
, l% P+ w7 v: l3 ?- sudo ./WtpDownload_linux -P UART -C 0 -R 115200 -B ./TIM_ATF.bin -I ./wtmi_h.bin -I ./boot-image_h.bin -E
复制代码 可能会要求你输入密码,密码是你系统用户的登陆密码
* `* V8 m/ _9 j6 n* _
( ^1 f) t, i3 C+ E) {5 x6 h完成后回到本文的开始,刷入uboot$ i0 b* {7 z# [" J( b g8 p8 z
U0 v9 Q+ v* |, y0 b好了写完了,10点吃晚饭会不会有点晚
$ o7 X. v) j3 L1 }" P( q: q, g$ l: \# `3 {" }2 |/ Y% R
$ _; o/ b( d+ Y4 I5 y( ?# K8 c% M |
评分
-
查看全部评分
|