|
|
本帖最后由 zanjie1999 于 2020-8-25 21:09 编辑 发现居然有人tftp都不会用,写一个这样的教程,不需要u盘和emmc中的系统就可以刷spi,非常简单 1. ttl连接,连接绿色部分就可以了
. _0 D0 ^ E0 i
% G5 p$ _, H/ _9 } P& v
左边的uart就是,将他连接到ttl小板,连接方式是:
7 @9 J0 S! v& H* ~8 q9 h. R( X! |将小板的跳线切换到3.3的位置,如果你的小板没有这种设计,忽略这一行
9 D' E2 ?% U+ R- Xtx接到小板rx
: z! S4 V) _, S$ |: c& yrx接到小板tx7 x* K# s) d5 P3 S- P( c: @
gnd接到小板gnd
" o; e* r y, k7 d& u
& J& ?3 Q2 n. S u接好后,把小板插电脑上( E r _6 G+ {
# }0 f& R0 O. J U2 c" y3 @9 j+ [) K
) J( m/ F& T! P1 ] \2. 随便找个终端程序,比如下面这个, macOS和Linux可以使用minicom或者screen,按照你的习惯来选择即可- m2 l" K8 X' ]) C& K* j8 `
- O6 [# h! Y8 f" D, X打开它
9 A+ y. @5 ^, `5 g
3 q' W' j! ?2 C# l
新建一个串口会话,此时将载波率设置成115200,如果之前新建过那这步就免了
7 ^ k/ \# V3 ]$ A7 w+ P
7 \: h4 n; J( t% L- u
3 H3 ~' @1 g w# \3. 打开那个串口会话,选择你的ttl小板,通常是com数字最大的那一个
7 m8 \* \7 [% H, F1 s% \ k
* m7 N1 \& B& N. d0 H$ P- P* l然后会打开一个空白的窗口# r' P0 [! O- V$ W; }! m' p( v7 p
7 h9 }6 e3 ]8 ]! a1 l1 D
4. 这时候给猫盘上电(插电)这时应该会看到窗口有输出内容,如果没有,可以试着把猫盘处的tx和rx对调一下
9 B. Z8 q: i* e( v+ J/ y, d# L8 t
) N3 K p2 n# S0 i8 X# `9 _看到输出后不停的按回车,直到你看到
/ V3 Z7 h' s* F2 E) \2 i: k; T进入了uboot命令模式
$ D8 D3 f2 F3 V8 J( }4 }8 d+ P" l2 T, [/ z$ Q* l( g
5. 你已经完成一小半了,把你要刷的bin文件和tftp程序放在一起,比如下面这样
. s8 J' t" t9 a$ R
' l. ^0 U! o2 w7 t! t
打开tftp服务器,macOS和Linux用户你们可以自己配置一个tftpd作为tftp服务器
1 ?( ]: |# O% n/ y) Y& W
% f2 m; e/ v5 t1 x6.设置监听ip,并记下ip地址,这一步很重要
K! q2 e. {0 R
3 z9 H* V( a) s
通常Realtek,Intel,Broadcom,Qualcomm,Mediatek,Killer开头的, o$ A: K8 y+ L; p
! t$ a1 `: | Z4 A+ v; Q
8 Q+ ~3 w; n. F2 \# C5 L
7. 将猫盘插上网线,和电脑连接到同一个路由下
8 h' P& ?5 ~( o3 c4 [$ R1 j猫盘的ip地址 可以是 刚刚记下的ip地址,把最一个 . 后面的数字改为2-254之间的任意数字,不和记录的ip重复就可以了
& Y6 z( ]( } P" i% H/ n9 y- setenv ipaddr 猫盘的ip地址" e0 E3 r8 j8 l9 \
- setenv serverip 刚刚记下的ip地址6 \, q9 b& ?: V; K3 V
复制代码 地址就设置完了
# ]) S, C! k2 F1 X
5 r) i( W' t( t U. o
6 @) B; }) M$ ^7 u* r! i% D8 t8. 下载固件到猫盘& |: x: x5 r$ b0 m
- tftpboot 0x1000000 你要刷的bin文件的文件名
复制代码 像下图这样提示done那就成功了,如果没成功可以尝试重插网线再重新操作本步骤
: `. ]2 t4 w; e9 B+ M
: U( \/ q& T( X3 [+ ]0 Q1 n# c+ S& a7 @9 y
9.刷spi,请确定上面那步已经成功6 u; M2 M1 R J2 q3 [; b
- sf probe/ n+ _- H* e! _6 D
- sf erase 0x0 0x800000/ }7 m5 j& R; g4 t
- sf write 0x1000000 0x0 0x800000
复制代码 执行完之后,spi就刷好了,可以拔电重启了
3 \: R+ u5 E* h/ V3 m- W6 ?+ b$ n/ f; L! x: m
$ [) W: n1 ~& k. ]
10. 改mac
2 h- _& l1 d- V, o, Z' ?0 {使用 4 的方法进入命令模式,把下面的mac替换成你猫盘盖子上印的mac
- P1 J. M8 M1 W& ?- env default -a% r0 P% X) L7 W+ x7 ?* g* Z9 q
- setenv ethaddr "4c:65:a8:00:00:00"
6 X, C! \' _ ~* a( K) l - saveenv
复制代码 再断电重启即可: y* Z- h5 g4 V& F: X; n
m8 C9 [0 j7 v/ K, i3 A
-------------------------- wtp 部分 --------------------------
, u! E: {3 B- f5 l; a; x. } C# y' A
如果显示- c4 L4 _: ~) s$ H, x
那你就需要下面的内容了,此操作需要Linux系统,那怕是U盘启动的liveCD或者虚拟机都可以
! A6 D2 K: F6 k, a& o5 u. k8 r5 K2 F+ R
1. 如果你是虚拟机,请把你的ttl小板分进去,不同的虚拟机操作不一样,一般在 设备 -> usb 菜单中* D, t M+ k! ] g9 k% b
8 f, A$ F9 \( q
2. 执行' \; }: M1 m2 V4 r3 r0 ^4 @! X
应该能看到输出内容中有usb子样,这时小板已经连接成功了; [. }3 U7 L: U3 q
% u" g. L4 N* q, A* @1 T0 q [3. 在 wtp 文件夹下打开终端4 C! w/ d4 z) ?7 j! u
9 v9 F* L6 `. X6 }9 m9 E3 {/ K+ i4. 执行$ I* w/ T% E' H9 {) \( |$ I
- sudo ./WtpDownload_linux -P UART -C 0 -R 115200 -B ./TIM_ATF.bin -I ./wtmi_h.bin -I ./boot-image_h.bin -E
复制代码 可能会要求你输入密码,密码是你系统用户的登陆密码
$ Y; @2 u2 }! M B4 i# b0 @- I) l
0 X7 Z. Y, I) U% w" Q0 D4 ?5 }1 q P完成后回到本文的开始,刷入uboot
1 }% m! f: d; b7 D1 ~0 v2 W$ t4 S0 ^# f9 E& f5 X s8 q
好了写完了,10点吃晚饭会不会有点晚5 H5 f% d* |6 q' p6 L, }7 x+ U
4 w; k5 H: T: N* I3 O
; w6 E* k) @% n8 d! v0 `: t' v$ a( y
|
评分
-
查看全部评分
|