|
本帖最后由 zanjie1999 于 2020-8-25 21:09 编辑 发现居然有人tftp都不会用,写一个这样的教程,不需要u盘和emmc中的系统就可以刷spi,非常简单 1. ttl连接,连接绿色部分就可以了% `$ s3 D, U8 F$ a
% C$ Z' f' x5 G- _
左边的uart就是,将他连接到ttl小板,连接方式是:# s# x) k& [5 G
将小板的跳线切换到3.3的位置,如果你的小板没有这种设计,忽略这一行
) ^$ @3 _- I0 ytx接到小板rx+ k V! ~4 c# |$ c3 k2 [. y
rx接到小板tx/ r4 B+ n. B) U9 o
gnd接到小板gnd+ I) v! L: N7 I. L0 B( W
3 D2 n6 t/ r' |接好后,把小板插电脑上
% Z! ]3 r; t- b) f' f
% T0 p' v8 @4 g- x2 d e2 ]; x9 n& z; E6 B" a( E8 E/ }9 i) d. p7 d5 s
2. 随便找个终端程序,比如下面这个, macOS和Linux可以使用minicom或者screen,按照你的习惯来选择即可4 I* l/ i2 x G8 P
! `( L9 e7 {9 J) G4 N6 Q
打开它
1 U1 S. ~6 \2 r% P& b) P
h% H5 M- M( H5 v" X: v新建一个串口会话,此时将载波率设置成115200,如果之前新建过那这步就免了
9 g4 _8 d9 u; Y A2 _
/ D! {3 k& p" _
4 g; W3 |$ m3 r5 F3. 打开那个串口会话,选择你的ttl小板,通常是com数字最大的那一个7 L3 E, `! y4 D4 t/ a4 ?
/ N4 n6 r7 Z v) t
然后会打开一个空白的窗口: H' x- }( c7 }9 h/ K5 h; |" ^5 q: c/ h
9 L) U* [$ \! }; A# R: o4. 这时候给猫盘上电(插电)这时应该会看到窗口有输出内容,如果没有,可以试着把猫盘处的tx和rx对调一下
5 }8 z4 N' I7 N0 R8 A. R7 r$ D+ X! e; r% q9 c6 s' t
看到输出后不停的按回车,直到你看到. C& S- D% _% B/ R+ q
进入了uboot命令模式
. ]8 k0 x8 x1 z9 b
5 }' V& ?1 o' v) ~ f+ _; i5. 你已经完成一小半了,把你要刷的bin文件和tftp程序放在一起,比如下面这样4 ?5 x) H7 r' Z8 h- l2 w
& ]: L: {* P& F8 X打开tftp服务器,macOS和Linux用户你们可以自己配置一个tftpd作为tftp服务器
) E1 G; a3 M/ \3 K& Z. ]% y# E1 ?0 R0 e7 R& W& v* ^* T, ^' A
6.设置监听ip,并记下ip地址,这一步很重要& E, A1 H0 Y8 t* [3 K. ^+ P& t4 X
9 F% N' W$ I2 N; l5 I8 o1 \. H6 z
通常Realtek,Intel,Broadcom,Qualcomm,Mediatek,Killer开头的; ?8 K+ |; p+ {3 C' q
0 G3 F6 c& X) k G( k: k
/ g0 I% W$ g" e: J8 p7. 将猫盘插上网线,和电脑连接到同一个路由下7 E& c) V, P2 S$ c' e; I
猫盘的ip地址 可以是 刚刚记下的ip地址,把最一个 . 后面的数字改为2-254之间的任意数字,不和记录的ip重复就可以了6 S) z6 s! @% t G
- setenv ipaddr 猫盘的ip地址
5 X3 D2 g' g: v( n) C! y( e6 o: { - setenv serverip 刚刚记下的ip地址
6 O _7 I9 g3 Q5 O
复制代码 地址就设置完了' P- O4 m) d q; l8 [: g
9 s& B* A( ?! }
8 |8 H2 Y; F. O+ Y" }0 S3 m8. 下载固件到猫盘
( L0 b1 ~# r3 \2 J- tftpboot 0x1000000 你要刷的bin文件的文件名
复制代码 像下图这样提示done那就成功了,如果没成功可以尝试重插网线再重新操作本步骤% N6 l( \2 T) i6 n1 g/ S" M
5 N( \4 [' @4 c; O$ x* y
4 h {& K0 q8 m* R l O1 T
9.刷spi,请确定上面那步已经成功& u `& }) f* R% D1 q, C
- sf probe- D; j- m4 i! u% s$ _' }
- sf erase 0x0 0x8000007 |* ]+ x8 t @: {5 f4 R
- sf write 0x1000000 0x0 0x800000
复制代码 执行完之后,spi就刷好了,可以拔电重启了
* F' m; T: v7 w" h! @# w
; I6 F; {; Y L, S7 z& n R m W8 ]- o# R! p' N
10. 改mac6 }) A, Z% ? X" a
使用 4 的方法进入命令模式,把下面的mac替换成你猫盘盖子上印的mac4 [5 V2 j2 E: Y, P9 W9 ~
- env default -a
7 u$ N. o" e; s4 G' I - setenv ethaddr "4c:65:a8:00:00:00"
9 W% G2 V, V# h+ S+ [* x5 Y - saveenv
复制代码 再断电重启即可0 A; B; ]8 c8 R
+ g1 d# q; a8 u9 G5 Y-------------------------- wtp 部分 --------------------------
c7 K& G0 v1 g& z) p4 I9 d7 L. ~- H, j( K! [- i
如果显示
8 E5 Q0 e- k2 y3 W2 u那你就需要下面的内容了,此操作需要Linux系统,那怕是U盘启动的liveCD或者虚拟机都可以. e4 u$ j( P3 @: c
. I0 o! w o( f1 o$ ^+ R1. 如果你是虚拟机,请把你的ttl小板分进去,不同的虚拟机操作不一样,一般在 设备 -> usb 菜单中' R o1 c/ @8 C$ i
) F, C' I M1 S/ W; B2. 执行
: Q4 g8 P' F6 O* s应该能看到输出内容中有usb子样,这时小板已经连接成功了
- L2 F: E. e, ?5 g! {
n; q8 ^8 t+ i2 y3. 在 wtp 文件夹下打开终端: n4 j2 m: R- g
4 h0 u1 s6 {5 }! F ~6 e4. 执行
% D: R4 |% a2 ?1 |/ c- sudo ./WtpDownload_linux -P UART -C 0 -R 115200 -B ./TIM_ATF.bin -I ./wtmi_h.bin -I ./boot-image_h.bin -E
复制代码 可能会要求你输入密码,密码是你系统用户的登陆密码' q- Z+ y. J, N
6 P2 Y' X; ~5 X
完成后回到本文的开始,刷入uboot
( ^6 i G) W; n/ J8 V
( J ]- Q0 C# H) b4 F# b- i好了写完了,10点吃晚饭会不会有点晚( _5 i' M* n& W7 B- U% X- O3 V0 s
8 ]1 `2 ]/ z! ^2 f
! O- w& m. b" O' E; _ |
评分
-
查看全部评分
|