|
|
本帖最后由 zanjie1999 于 2020-8-25 21:09 编辑 发现居然有人tftp都不会用,写一个这样的教程,不需要u盘和emmc中的系统就可以刷spi,非常简单 1. ttl连接,连接绿色部分就可以了
8 B( b5 m( g; q
9 O6 K7 O. N, ^7 X9 H左边的uart就是,将他连接到ttl小板,连接方式是:
: S7 Q& D" ~( Z% b' ^& {( H6 f将小板的跳线切换到3.3的位置,如果你的小板没有这种设计,忽略这一行
; s D, P- Z! `6 Ktx接到小板rx- {4 ]2 U/ |5 D9 K
rx接到小板tx+ h. X5 R/ G, p
gnd接到小板gnd
- p# ^, L/ E$ b( J) J( A$ M
$ |% B% l3 Q8 u! H, N9 Z/ i' }' k接好后,把小板插电脑上' J g% H. x! }6 c
" k% X9 N3 y4 S5 }5 T) H
2 ]! I6 P1 S3 u8 v
2. 随便找个终端程序,比如下面这个, macOS和Linux可以使用minicom或者screen,按照你的习惯来选择即可) L/ ^% z# s% n, r+ D# z0 `2 Y
' [3 C8 O5 [) C# }) Z1 _打开它. C. @( l( T0 \6 _- N+ }
" k* v5 h5 D) X# ]新建一个串口会话,此时将载波率设置成115200,如果之前新建过那这步就免了4 c" B7 c; e1 W" r
( f# @" K1 u# R
% j3 y( N( I9 w6 ~3. 打开那个串口会话,选择你的ttl小板,通常是com数字最大的那一个
- f/ R, s0 g8 f3 ]# g
1 E; K1 ]* S w$ _
然后会打开一个空白的窗口
! K# m! e. s2 Q( p2 @- [7 T% Y; G3 k! U5 h( Y# A8 n
4. 这时候给猫盘上电(插电)这时应该会看到窗口有输出内容,如果没有,可以试着把猫盘处的tx和rx对调一下( o. ~* x% ~. h& G6 l5 C
3 E9 v/ p$ g q& c
看到输出后不停的按回车,直到你看到9 c0 k8 q$ `- Y, F
进入了uboot命令模式
( \8 E7 p w0 u% y+ F3 z" X: o0 {# p0 w% |. ?; l
5. 你已经完成一小半了,把你要刷的bin文件和tftp程序放在一起,比如下面这样
) ^8 n! u! Z0 {4 Q
' q/ a- J4 ?& a7 e# D( J* g
打开tftp服务器,macOS和Linux用户你们可以自己配置一个tftpd作为tftp服务器+ N! l# c% y2 c) W( {' ?
+ \* s* F8 t! c6 q9 w1 H
6.设置监听ip,并记下ip地址,这一步很重要
# u9 [) J3 g* _7 m- m
1 G( F, v3 [6 z1 C' N通常Realtek,Intel,Broadcom,Qualcomm,Mediatek,Killer开头的
8 M* B( T- R& z( q, l) x S! O
R5 E2 p+ v* ?' |
! O% o$ V* p2 O4 {) N0 G/ C* C& r' u' ^7. 将猫盘插上网线,和电脑连接到同一个路由下$ i* S2 Y5 y. }; X) z6 K( @
猫盘的ip地址 可以是 刚刚记下的ip地址,把最一个 . 后面的数字改为2-254之间的任意数字,不和记录的ip重复就可以了
# ^- g- `, g# h! u* v% N N9 a; d- setenv ipaddr 猫盘的ip地址
5 B2 e( g. i7 F' }$ x - setenv serverip 刚刚记下的ip地址! t' x* r9 g7 ~# E3 |# s
复制代码 地址就设置完了
( D8 S, m% F6 d3 y! k8 m i- _# p7 l; m/ P3 z0 k
# B. A8 I& d2 E8. 下载固件到猫盘
% X5 p+ f+ w$ \9 d" \- tftpboot 0x1000000 你要刷的bin文件的文件名
复制代码 像下图这样提示done那就成功了,如果没成功可以尝试重插网线再重新操作本步骤
7 N' b2 S* E* u' ^
$ M' }. n2 T, t$ E/ |
3 @- Q+ t* f( {2 F9.刷spi,请确定上面那步已经成功& [* M4 v8 p2 N. [
- sf probe7 c/ ?7 B) `4 c4 A( ^; h' S
- sf erase 0x0 0x800000* I7 R. }: |$ o& V
- sf write 0x1000000 0x0 0x800000
复制代码 执行完之后,spi就刷好了,可以拔电重启了
5 Q4 K' U3 F! `& r/ D- Y) c. _( J5 L" O! G# T4 c6 y# O
D6 T, ]8 f6 R+ g; A10. 改mac7 h* @8 D1 e* p5 a1 H Q) l
使用 4 的方法进入命令模式,把下面的mac替换成你猫盘盖子上印的mac% S! ]& T6 D7 N- x" g' e# I% R
- env default -a
" V/ {: R. l3 F) p - setenv ethaddr "4c:65:a8:00:00:00", V# Y2 k. O* ^6 d
- saveenv
复制代码 再断电重启即可! G1 ~6 Y' t9 y+ `8 _9 Y
: u! {/ c3 X9 j# F
-------------------------- wtp 部分 --------------------------
. d' Q4 K6 N0 Q! g. w
; } D) I% E- U如果显示5 U8 C3 u+ x* Z. ^# b
那你就需要下面的内容了,此操作需要Linux系统,那怕是U盘启动的liveCD或者虚拟机都可以
0 r# h. b" ]% ?: h) J# U
! T2 h0 p0 u$ }& \0 J4 O! K r1. 如果你是虚拟机,请把你的ttl小板分进去,不同的虚拟机操作不一样,一般在 设备 -> usb 菜单中
. V/ @* @7 g' u5 I8 C, n, _& b; s
/ y* m0 J E4 B$ k2. 执行
- H* S; o* d) K e) \" X/ U/ q C应该能看到输出内容中有usb子样,这时小板已经连接成功了
2 C: P4 O! C9 Z" K5 D! ~% M( e" c
1 |& t! a# h$ v) l3. 在 wtp 文件夹下打开终端) {1 v, F. \/ G) ^6 Z
" ^$ @" t1 l' l# f! f" i& W4. 执行
; m8 x d( F7 S S5 D* s- sudo ./WtpDownload_linux -P UART -C 0 -R 115200 -B ./TIM_ATF.bin -I ./wtmi_h.bin -I ./boot-image_h.bin -E
复制代码 可能会要求你输入密码,密码是你系统用户的登陆密码
" q# M& B- }: x h# H, p
* I0 e4 Y: ^, w完成后回到本文的开始,刷入uboot! ? l2 P) d* H _( j
5 M6 x$ s7 `% Q* N t# O: E好了写完了,10点吃晚饭会不会有点晚
, q3 N N" a$ O4 f+ W3 [8 H+ v* }- V0 B: a8 _' U
* _& A& Y, q2 m9 q) z! l" f( q% f- P |
评分
-
查看全部评分
|