|
本帖最后由 zanjie1999 于 2020-8-25 21:09 编辑 发现居然有人tftp都不会用,写一个这样的教程,不需要u盘和emmc中的系统就可以刷spi,非常简单 1. ttl连接,连接绿色部分就可以了
9 {! r' p6 W9 B# ]6 q' z9 U
. g( n( i9 M1 c% _ L7 u左边的uart就是,将他连接到ttl小板,连接方式是:
2 s5 J* B: w2 p3 {! q将小板的跳线切换到3.3的位置,如果你的小板没有这种设计,忽略这一行
. F* w( \3 V. l, T1 Atx接到小板rx% v0 p: N4 j4 V! w) ~
rx接到小板tx w" P' B, ?% Y% R$ z& b
gnd接到小板gnd9 C; y( a2 U/ E" ~. g$ A+ _
. o8 K1 \; J( R3 N" i; |$ _) ^
接好后,把小板插电脑上/ w' \8 o# ]( G8 L( ]
+ v& I4 F. d# U4 k; U
9 @& u& n1 @0 W( `3 [2. 随便找个终端程序,比如下面这个, macOS和Linux可以使用minicom或者screen,按照你的习惯来选择即可% D4 y! C$ U* ?; U0 _! s
8 S- B% Y; {( k, v/ y打开它
$ r* B; y: M- e9 Y* x
" f- \4 g. P+ e; n
新建一个串口会话,此时将载波率设置成115200,如果之前新建过那这步就免了8 n1 m( w; c9 f/ A* j1 E( F
. p W/ P* g' g" }7 a
+ `/ k% P, {7 d4 X K0 V. @9 g4 K: \
3. 打开那个串口会话,选择你的ttl小板,通常是com数字最大的那一个- W5 A" o# Z# n( @
- F) S/ g& o' B6 N3 |
然后会打开一个空白的窗口# l: [- A) f( I9 g3 B' g
8 t1 c+ B) {( |; T# B
4. 这时候给猫盘上电(插电)这时应该会看到窗口有输出内容,如果没有,可以试着把猫盘处的tx和rx对调一下) r) i8 I5 p( L7 i% ^( ?, H
' P& N, n4 @# k看到输出后不停的按回车,直到你看到
4 _' i3 ?- }% e6 {, `0 s5 q进入了uboot命令模式
0 E6 w: b& ?8 ]2 H! x% X" {4 F- }" _: x0 F3 W9 E/ ?5 j; m
5. 你已经完成一小半了,把你要刷的bin文件和tftp程序放在一起,比如下面这样
% x7 C0 F4 N: s1 l% `' g
9 f6 f7 @8 C' X' s) z1 j1 ^5 f
打开tftp服务器,macOS和Linux用户你们可以自己配置一个tftpd作为tftp服务器
1 m5 ]0 r r( Z0 V/ e4 g) T! |# n2 K: G+ F6 u8 N% J9 j
6.设置监听ip,并记下ip地址,这一步很重要
$ c. s2 A- G3 V. F8 G- J2 P
9 _! Z. Q K, V0 |, g
通常Realtek,Intel,Broadcom,Qualcomm,Mediatek,Killer开头的: n! Q) S$ z2 W i; F- [
0 E. q6 H. k' C0 b5 X$ `) ?9 _* T% n- H) x4 K9 F# R# E) O
7. 将猫盘插上网线,和电脑连接到同一个路由下
; A8 [6 G7 g2 w) J+ J猫盘的ip地址 可以是 刚刚记下的ip地址,把最一个 . 后面的数字改为2-254之间的任意数字,不和记录的ip重复就可以了7 y8 F/ M. F3 W2 h
- setenv ipaddr 猫盘的ip地址
# f/ b; ?* G8 ^ - setenv serverip 刚刚记下的ip地址* u" W7 |1 N1 L8 ~
复制代码 地址就设置完了0 g4 } |7 q6 u v) K
( h4 V3 L% X; [' J! z$ S1 M
* x7 L4 O3 _6 Z, o
8. 下载固件到猫盘
# I' f1 P. l2 b* w: x F- tftpboot 0x1000000 你要刷的bin文件的文件名
复制代码 像下图这样提示done那就成功了,如果没成功可以尝试重插网线再重新操作本步骤9 v+ @+ G) J2 I9 ~. c& M+ G
+ g4 ? `$ j+ i% A# A W+ J2 U7 D" l
9 O7 v5 ~/ G4 U4 h, P `9.刷spi,请确定上面那步已经成功
' P; J' [, L: e$ Z% ~ ]- sf probe/ A, T9 t* @+ j% b7 _2 L3 x
- sf erase 0x0 0x800000- _* B9 L# |2 \3 s3 g
- sf write 0x1000000 0x0 0x800000
复制代码 执行完之后,spi就刷好了,可以拔电重启了
; [/ P% \4 J: s9 p) O: m, a/ y: a& i
' u4 f& ]: g' N3 {$ x/ M5 j
+ H8 s5 s* Q' V3 S+ Z h5 \10. 改mac
7 v, _9 N- _! A8 x使用 4 的方法进入命令模式,把下面的mac替换成你猫盘盖子上印的mac1 T' ?+ P4 c$ A$ ~2 h5 g& [2 B$ X
- env default -a
' r" J! }2 t3 \1 R. a- K - setenv ethaddr "4c:65:a8:00:00:00"
4 j# L( x. E! o" J" m! a, d - saveenv
复制代码 再断电重启即可/ c& B$ f. X: Y0 q( a4 W
+ m" L8 n' x( k T3 w. ]" e0 F-------------------------- wtp 部分 --------------------------3 ^! d7 Z6 _, \
( H/ k. J4 n5 w8 p6 Q6 Q3 R4 _
如果显示2 l7 x) {2 e" N) D' i
那你就需要下面的内容了,此操作需要Linux系统,那怕是U盘启动的liveCD或者虚拟机都可以
" R6 H' \+ P B. v5 B
" {2 k$ r0 w Y1. 如果你是虚拟机,请把你的ttl小板分进去,不同的虚拟机操作不一样,一般在 设备 -> usb 菜单中. g& ]0 S4 V2 W6 y2 }7 V% q
: Q. }, Z! x* i1 c, N
2. 执行) p' K; b/ G. c; z% P0 U/ h& h. `
应该能看到输出内容中有usb子样,这时小板已经连接成功了4 d6 K6 `7 a6 |5 S+ o) U
! F! J9 [3 e; W4 y
3. 在 wtp 文件夹下打开终端8 |) K6 P6 g" l# r; u2 ^6 e. g+ s
# G+ S, u, k$ t5 E4. 执行- ]/ r5 k2 w k4 o/ q9 q! s! G3 U! l
- sudo ./WtpDownload_linux -P UART -C 0 -R 115200 -B ./TIM_ATF.bin -I ./wtmi_h.bin -I ./boot-image_h.bin -E
复制代码 可能会要求你输入密码,密码是你系统用户的登陆密码
* B( ?7 B; P4 `* }2 f( n% w3 h( ?- j% X1 u8 x# b1 z$ o+ B/ V
完成后回到本文的开始,刷入uboot
+ x# r$ K; e3 c J* V: h! I/ W) M( Y( `+ X8 a$ B
好了写完了,10点吃晚饭会不会有点晚# X4 N5 L. C+ W+ ^( o( ]: b
# T; d9 `- \9 {: ?* G) h% d% u8 X2 k& ^6 D! R
|
评分
-
查看全部评分
|