|
本帖最后由 zanjie1999 于 2020-8-25 21:09 编辑 发现居然有人tftp都不会用,写一个这样的教程,不需要u盘和emmc中的系统就可以刷spi,非常简单 1. ttl连接,连接绿色部分就可以了" `0 U: N- h4 A
- C% i5 `4 _" f0 ~0 u
左边的uart就是,将他连接到ttl小板,连接方式是:
4 t8 q( c7 n3 s4 V+ ?将小板的跳线切换到3.3的位置,如果你的小板没有这种设计,忽略这一行0 V: z8 C/ c+ V n* e/ t) |2 N
tx接到小板rx
$ Q2 m+ [) C' q6 ?3 z# E+ @+ z" Arx接到小板tx
, h4 V+ H" ]+ G$ ^/ Y# b1 k: cgnd接到小板gnd
5 d# |5 l. a# `* L4 u2 \& ^9 t# o& r, m, [
接好后,把小板插电脑上
k( K5 ]2 Y; z6 q' W, q
- D# D6 s5 U, }5 C: E, W7 X
9 Q5 p& e1 ?' Q- a2. 随便找个终端程序,比如下面这个, macOS和Linux可以使用minicom或者screen,按照你的习惯来选择即可- f) B; f& X8 w. r
8 ]- V- a! z7 S! _3 x
打开它
7 x6 \$ Q3 ^& _% @7 b1 j( p5 a
. E: G1 D0 K8 X. d" J新建一个串口会话,此时将载波率设置成115200,如果之前新建过那这步就免了
# M- S' }/ v1 K! y' d) C2 E2 }0 K& Y, S; W
* `( F5 @* h4 b; X- b3. 打开那个串口会话,选择你的ttl小板,通常是com数字最大的那一个; m+ F/ t l, ?: v; P
! d/ e8 m/ e( X5 k% w
然后会打开一个空白的窗口/ n% d2 R9 J; h5 `* V
% m5 c4 U3 v0 [
4. 这时候给猫盘上电(插电)这时应该会看到窗口有输出内容,如果没有,可以试着把猫盘处的tx和rx对调一下) T# N/ @1 Q: H! b
# f: d; B$ h: r3 z
看到输出后不停的按回车,直到你看到
0 n* l. ?* y q; T( q/ p4 f4 Z进入了uboot命令模式9 T% h+ s0 l$ X, x0 \ E7 d K- z
- K9 q4 M* i7 x- M9 Z) A; F/ c5. 你已经完成一小半了,把你要刷的bin文件和tftp程序放在一起,比如下面这样/ Q- L) _& }. P9 {7 q, r
$ e$ @! ^. a" T# b5 X8 z. y
打开tftp服务器,macOS和Linux用户你们可以自己配置一个tftpd作为tftp服务器0 X8 a) S% I9 L Q6 c/ B' c* A5 R0 x
* M% \# B9 a* [% D( L9 m \# g6 c6.设置监听ip,并记下ip地址,这一步很重要
# T/ E: l1 G4 X; \, f
& |1 D j! _9 n( Z7 f通常Realtek,Intel,Broadcom,Qualcomm,Mediatek,Killer开头的
) v( u$ t* d7 G2 W0 b# V0 I. C8 d3 z. F% h
$ ^; ]: `" k) R( A3 ^5 N' ]+ n7. 将猫盘插上网线,和电脑连接到同一个路由下' i. V. {0 j0 ?5 j- h
猫盘的ip地址 可以是 刚刚记下的ip地址,把最一个 . 后面的数字改为2-254之间的任意数字,不和记录的ip重复就可以了
* K9 y' R$ A* |# a" A1 ?0 _7 J- setenv ipaddr 猫盘的ip地址0 g% j: R# C) a |
- setenv serverip 刚刚记下的ip地址2 H1 S& X/ y$ T7 u1 Y' X7 |2 `# Z
复制代码 地址就设置完了
4 n T" ^5 o$ n/ @3 K1 M8 a$ D' W; z5 k* {/ i
8 {- I7 |- d7 a8. 下载固件到猫盘
6 Y5 t+ z! F" {4 h- tftpboot 0x1000000 你要刷的bin文件的文件名
复制代码 像下图这样提示done那就成功了,如果没成功可以尝试重插网线再重新操作本步骤( @+ Z7 X: n' ^; D( M( g! C
4 k* t& X) C) T: s# l; d, }1 W
, ?/ B& {4 c3 a! R. w* _ ]; U8 I% m7 @9.刷spi,请确定上面那步已经成功" B3 T* B4 Z4 E4 p" ~+ ^
- sf probe
+ o" X# Z; Z5 x* j% B - sf erase 0x0 0x800000; U* O" f! n/ w. _. \" S: k& m/ x0 y
- sf write 0x1000000 0x0 0x800000
复制代码 执行完之后,spi就刷好了,可以拔电重启了
5 w. A8 S( e% ?6 l# h
1 c' r8 ?0 v' s# |6 M
) \; l; b: y6 C* c10. 改mac+ t- H8 H3 j% M2 c T. E- G& `
使用 4 的方法进入命令模式,把下面的mac替换成你猫盘盖子上印的mac
6 ]( u8 ]/ F9 o' \% E; @- env default -a
% c+ O6 l; b0 a6 L. ]' B - setenv ethaddr "4c:65:a8:00:00:00"
2 g: P. \+ {( L - saveenv
复制代码 再断电重启即可8 Q E/ ]. I0 t
' T- t# u- q! W4 X2 W. ^
-------------------------- wtp 部分 --------------------------( m2 _/ ?8 Q" u6 `* P
4 v7 [3 Z. ^; o# D3 w2 `
如果显示
) w7 g7 t6 L- j0 n6 H那你就需要下面的内容了,此操作需要Linux系统,那怕是U盘启动的liveCD或者虚拟机都可以: M+ _0 u6 w! s, t L3 j
2 K( F1 a+ E" J3 Y1 X- r1. 如果你是虚拟机,请把你的ttl小板分进去,不同的虚拟机操作不一样,一般在 设备 -> usb 菜单中+ ]" U g; b* V1 Q/ \, c% ]3 a
, _# B& i: Y' U0 @2. 执行; {, E/ ` a4 ]$ o' B# O4 I: U
应该能看到输出内容中有usb子样,这时小板已经连接成功了
$ B4 m+ d1 g- h8 Z! k& A6 }
+ L5 w3 s: R$ S: W) `1 S1 O- {3. 在 wtp 文件夹下打开终端
% u; e" S% ?# o4 g, ?7 J6 V; n, }3 b. S. i3 I
4. 执行* K5 M( {; R7 \7 Y* \( W, M
- sudo ./WtpDownload_linux -P UART -C 0 -R 115200 -B ./TIM_ATF.bin -I ./wtmi_h.bin -I ./boot-image_h.bin -E
复制代码 可能会要求你输入密码,密码是你系统用户的登陆密码
6 l8 c# E9 H7 j* P a7 U6 \" ?! e a: S1 Q9 u
完成后回到本文的开始,刷入uboot
" W, p- Z. X( _$ |, Z, e3 e4 A5 J0 B# J: y# V- S
好了写完了,10点吃晚饭会不会有点晚
$ [$ M: T& h2 i) F4 f" c$ e$ u' c9 |' m
5 Z! H6 m+ n5 O8 r( N
|
评分
-
查看全部评分
|