|
本帖最后由 zanjie1999 于 2020-8-25 21:09 编辑 发现居然有人tftp都不会用,写一个这样的教程,不需要u盘和emmc中的系统就可以刷spi,非常简单 1. ttl连接,连接绿色部分就可以了
) R4 n) v( ?: ]$ |
3 }- C3 q) w" T" f1 U( W
左边的uart就是,将他连接到ttl小板,连接方式是:5 S- s2 W. H6 P9 ~( G9 a& V
将小板的跳线切换到3.3的位置,如果你的小板没有这种设计,忽略这一行
5 B, X' r, K' y, M/ P0 Stx接到小板rx* o0 p7 x6 K5 x( P
rx接到小板tx* L; m% ^+ g Y7 n5 t: X+ T
gnd接到小板gnd6 u! V0 Q/ d/ Y3 C
j% F: \+ V! c; ^6 A+ g接好后,把小板插电脑上
% ^ w7 }* e3 d+ Y
2 K- M: f6 R' l4 c. y2 q$ o' q1 ~& X; p/ `1 O. Q) b# Q
2. 随便找个终端程序,比如下面这个, macOS和Linux可以使用minicom或者screen,按照你的习惯来选择即可
: y# z; k5 W" Q$ ~0 F
3 D: V8 U- p) J& u' d打开它2 f3 F/ S# e' j+ Q" L) c
. j7 Z& ~& p- X( M. F& ]& ~新建一个串口会话,此时将载波率设置成115200,如果之前新建过那这步就免了
/ X# i% e/ ~5 w( v$ K
" y! u; D$ H) t, X# Y9 H8 e( W; k% _2 k
3. 打开那个串口会话,选择你的ttl小板,通常是com数字最大的那一个
- }% e4 ^" }* I0 R( z6 a/ B/ X
7 f& p( [ P: t& W1 q
然后会打开一个空白的窗口
: [) k& A& y! J- ]9 {5 y
; h3 I( A' j" H6 }* v: A/ k4. 这时候给猫盘上电(插电)这时应该会看到窗口有输出内容,如果没有,可以试着把猫盘处的tx和rx对调一下
& X% P: Q) @) @5 }5 |7 k% w6 i. C. x" ^
看到输出后不停的按回车,直到你看到
; c _# t- c s2 r3 g# F+ v进入了uboot命令模式, g0 u' _/ `1 X# V& u) r3 ` r
6 E( t4 S. e" j
5. 你已经完成一小半了,把你要刷的bin文件和tftp程序放在一起,比如下面这样/ [. c1 L o4 W
0 H& K+ E% Y9 c) a
打开tftp服务器,macOS和Linux用户你们可以自己配置一个tftpd作为tftp服务器
4 K: j. W( d; ]" t
$ |$ d; P' T* p6 f. i( c- u6.设置监听ip,并记下ip地址,这一步很重要& f2 m: P7 U+ X. o" L7 \
% X5 B+ Z5 S2 j7 E. b, X通常Realtek,Intel,Broadcom,Qualcomm,Mediatek,Killer开头的
7 k) T! V N6 d N6 O7 h- o8 |7 H/ k* i! I% ]# |7 O
& b5 U. `" K4 ]0 }3 V! `7 J7. 将猫盘插上网线,和电脑连接到同一个路由下
6 x$ U& C$ A' V9 i) j' ]6 ~6 Z猫盘的ip地址 可以是 刚刚记下的ip地址,把最一个 . 后面的数字改为2-254之间的任意数字,不和记录的ip重复就可以了. [+ C$ c) V: t- m5 j
- setenv ipaddr 猫盘的ip地址/ \3 F" C, x: ~4 c7 @" Q$ [2 u
- setenv serverip 刚刚记下的ip地址' U& T& E& N; ^ k0 S; k* o
复制代码 地址就设置完了
; Q i+ [8 `/ D/ S: I. X. {! Q, Q7 `( s7 X, p. E1 Y
, B. x% w% [0 } g. h. {
8. 下载固件到猫盘
7 L/ m6 D1 ?, x& v7 G- tftpboot 0x1000000 你要刷的bin文件的文件名
复制代码 像下图这样提示done那就成功了,如果没成功可以尝试重插网线再重新操作本步骤
: F+ ?1 K' C+ f1 t
! H' F$ [5 B! j) X. ]% h" g
: M+ L# [4 I1 F9.刷spi,请确定上面那步已经成功9 O# v5 m8 {4 d0 }4 i* k) V
- sf probe7 l# d3 m l* I: c
- sf erase 0x0 0x800000/ n9 Z& q( U9 C9 a6 z! U2 x$ C
- sf write 0x1000000 0x0 0x800000
复制代码 执行完之后,spi就刷好了,可以拔电重启了
+ P1 w! O! h/ `1 ^9 M
: H/ {- a4 p# ?% ]
+ Z+ U9 E+ i4 V. Y10. 改mac9 W/ G+ v$ _+ D0 S" l: C p9 [
使用 4 的方法进入命令模式,把下面的mac替换成你猫盘盖子上印的mac
. T0 e3 H- x. U( i$ u1 O. x& m- env default -a$ w2 Z( R# ?, z ]* a1 M5 D% p+ f
- setenv ethaddr "4c:65:a8:00:00:00"
. {8 o1 G% O0 n3 C7 y - saveenv
复制代码 再断电重启即可
) _; S$ c2 e, H& ~% `; N, b& t7 f# q8 R# N [6 V
-------------------------- wtp 部分 --------------------------
7 o% f0 }$ z+ g
; j8 k3 J: z8 ^1 G; f如果显示4 U. T, @+ b' i4 _
那你就需要下面的内容了,此操作需要Linux系统,那怕是U盘启动的liveCD或者虚拟机都可以2 i$ X- h. {. o* o
) ^6 s8 r. ^. O! M% x. s) c, X1. 如果你是虚拟机,请把你的ttl小板分进去,不同的虚拟机操作不一样,一般在 设备 -> usb 菜单中
5 o1 D! }9 q, T9 v* z
e$ l3 V5 ~. T2 q0 G' I" t2. 执行
* u# p+ I; J ?应该能看到输出内容中有usb子样,这时小板已经连接成功了# ?" {: s9 G3 x
5 u" `' x3 v$ I1 F& u6 o" n8 X3 j* X) d3. 在 wtp 文件夹下打开终端 F2 b1 m' p( N0 e
4 c" D T7 z+ q ?. ^
4. 执行
" U# ], }( s$ |( g- sudo ./WtpDownload_linux -P UART -C 0 -R 115200 -B ./TIM_ATF.bin -I ./wtmi_h.bin -I ./boot-image_h.bin -E
复制代码 可能会要求你输入密码,密码是你系统用户的登陆密码7 ~1 h! N! k3 ?6 [
/ r( x) l$ n" }6 H
完成后回到本文的开始,刷入uboot
: ^; q. H0 I7 J( X \4 A$ U: |4 i6 |
好了写完了,10点吃晚饭会不会有点晚
4 o* o9 V, ]$ n- V1 Q# t
1 K6 D! M0 ?; P6 b) S/ R$ N# F( e( ?* s1 K
|
评分
-
查看全部评分
|