|
本帖最后由 zanjie1999 于 2020-8-25 21:09 编辑 发现居然有人tftp都不会用,写一个这样的教程,不需要u盘和emmc中的系统就可以刷spi,非常简单 1. ttl连接,连接绿色部分就可以了
- V+ z/ Q/ |7 w z- _
$ ^6 y8 [& V/ L/ d$ S8 f: b左边的uart就是,将他连接到ttl小板,连接方式是:' y9 w$ y" e5 O! n
将小板的跳线切换到3.3的位置,如果你的小板没有这种设计,忽略这一行4 w$ u! N3 o! d: V/ A# g
tx接到小板rx
& q) n" D' d, }! {- H2 G- \1 crx接到小板tx5 A; R) ~/ x0 ?; C3 M' A
gnd接到小板gnd7 c7 q' w( `8 M! a( j' B2 x
6 d( g/ g, u: Q- ^
接好后,把小板插电脑上& c/ W. [/ Q4 S6 U7 Y" Y0 }, b
& Z/ z. E2 f' n! w9 J: C1 c
; ?; L9 u# `( {! _# G5 g2. 随便找个终端程序,比如下面这个, macOS和Linux可以使用minicom或者screen,按照你的习惯来选择即可
5 i. z+ J' w* C2 j: O+ K& j
0 c7 V% z2 p0 W% B
打开它$ x; i4 }. {+ R/ x+ X* W2 S
. A$ w" `# N$ c' K" J6 P
新建一个串口会话,此时将载波率设置成115200,如果之前新建过那这步就免了! _/ A* v/ l L. t
* h8 n. j; N4 |3 F9 |& n1 [$ b2 A9 B+ Y
3. 打开那个串口会话,选择你的ttl小板,通常是com数字最大的那一个
& o6 b2 R- Q/ f) ]
; ?' A3 o3 |& Z& W然后会打开一个空白的窗口
7 z1 `% h! X4 F% a; u
0 l5 `9 k! \$ u4 k3 j2 L4. 这时候给猫盘上电(插电)这时应该会看到窗口有输出内容,如果没有,可以试着把猫盘处的tx和rx对调一下
) y& j7 J" z/ C6 ]- P) a9 z! ]. ^
" i' W; Y$ U9 i) x# i$ U$ S' e看到输出后不停的按回车,直到你看到
! |0 R* o5 }( \! R- t; ?进入了uboot命令模式
8 P; L8 a9 q$ d$ L
2 |5 P# K2 _& h' ^+ ~5. 你已经完成一小半了,把你要刷的bin文件和tftp程序放在一起,比如下面这样" i! p; z1 |0 |4 r% J$ O
' c$ B$ `" X2 S* q
打开tftp服务器,macOS和Linux用户你们可以自己配置一个tftpd作为tftp服务器
! J/ B7 V3 }4 `4 I3 D+ S2 p; h* `; |
) I8 o- {* @2 w' e/ K6 D- W, f2 T; k/ n6.设置监听ip,并记下ip地址,这一步很重要% B: p/ e9 j- X0 e3 {
9 v6 g7 u( _4 e% f/ g ^1 D通常Realtek,Intel,Broadcom,Qualcomm,Mediatek,Killer开头的
/ h. a+ j( N- Y1 w
3 H; J9 A5 v, h0 Q( D/ Y7 L* Y ^
& L5 A9 F+ n8 F: `7. 将猫盘插上网线,和电脑连接到同一个路由下
- j' v7 g2 V% N% p' L2 p/ s$ h猫盘的ip地址 可以是 刚刚记下的ip地址,把最一个 . 后面的数字改为2-254之间的任意数字,不和记录的ip重复就可以了3 ]- O; w+ N' j( t& T+ d2 V/ w
- setenv ipaddr 猫盘的ip地址
2 Q! W2 b* b% F - setenv serverip 刚刚记下的ip地址
" ^; ^/ U* p0 c6 b* z) S
复制代码 地址就设置完了
. j7 }" O q8 t; l5 K, t
2 R+ L- D6 x" W
R& K# I) r( E. e8. 下载固件到猫盘, ~* _; t5 @- {: c8 p" n) g. g
- tftpboot 0x1000000 你要刷的bin文件的文件名
复制代码 像下图这样提示done那就成功了,如果没成功可以尝试重插网线再重新操作本步骤) e+ X4 l* T9 s- R* `' E: \/ I$ N* d
0 ~: R4 ~' I6 J: T! m: F/ B
* R" i- a( v/ E- q6 n
9.刷spi,请确定上面那步已经成功6 f% J6 B1 Z+ _; K( k$ v2 C
- sf probe
* o. M* W' y7 i$ L: F K7 m - sf erase 0x0 0x800000- j* {' }, n5 z1 o/ D$ A
- sf write 0x1000000 0x0 0x800000
复制代码 执行完之后,spi就刷好了,可以拔电重启了
& N# G- M* `8 Q8 s$ Z( G" I" P$ c2 H q, Z* ?: U
' d7 R3 R- a# a* o2 I( s0 a9 _10. 改mac, r- h8 V# G5 H; a8 @5 o
使用 4 的方法进入命令模式,把下面的mac替换成你猫盘盖子上印的mac
8 p- I$ S; S9 `3 q- env default -a4 R8 f" ]* ~. v6 a4 B. z4 _
- setenv ethaddr "4c:65:a8:00:00:00"( R1 o: g- D( E" J w: Q0 ?
- saveenv
复制代码 再断电重启即可9 B( R# P% d) y* s& k+ W
& z7 f' o2 d+ \5 q) k% s) b
-------------------------- wtp 部分 --------------------------
! b* S8 E. p: q
' n6 V0 C! y: \ b) U: f如果显示1 }5 T) `4 V& r4 j, N
那你就需要下面的内容了,此操作需要Linux系统,那怕是U盘启动的liveCD或者虚拟机都可以
, G( o- l! g" s. O$ m6 m: t+ U9 L2 q2 V; _, y
1. 如果你是虚拟机,请把你的ttl小板分进去,不同的虚拟机操作不一样,一般在 设备 -> usb 菜单中
4 R. l, q0 q/ z: a
4 [6 ]% J5 J, O6 T- v2. 执行% a) n- i7 O" v# j2 `4 I; V
应该能看到输出内容中有usb子样,这时小板已经连接成功了0 U) O+ U9 c5 \ l
, d" c/ ~& C# q$ [ ~8 A
3. 在 wtp 文件夹下打开终端# ]& N' l. D8 q5 l' }( r. \6 n
6 }- }5 U- ^5 ^* w- f4 }' `4 ^
4. 执行. P; {7 K, y* h$ y0 ^9 t3 u% o; _
- sudo ./WtpDownload_linux -P UART -C 0 -R 115200 -B ./TIM_ATF.bin -I ./wtmi_h.bin -I ./boot-image_h.bin -E
复制代码 可能会要求你输入密码,密码是你系统用户的登陆密码
# d7 q" e1 A& h+ G; a. |( ]
1 H" Z+ j, Z4 J完成后回到本文的开始,刷入uboot4 [6 ~+ a) k9 B+ O; h$ r
7 q* }; I) C5 ^- l" y8 G好了写完了,10点吃晚饭会不会有点晚- V: V) Y+ K1 U1 w1 @8 `
$ t. g6 t% U$ v$ Q" Q& d1 R) i( s
/ M' {0 v3 B: t$ Y5 i @ |
评分
-
查看全部评分
|