|
本帖最后由 zanjie1999 于 2020-8-25 21:09 编辑 发现居然有人tftp都不会用,写一个这样的教程,不需要u盘和emmc中的系统就可以刷spi,非常简单 1. ttl连接,连接绿色部分就可以了
" L! J6 P8 D2 i% w2 `. X6 K' U
8 i' O9 y$ S2 ~' X9 }左边的uart就是,将他连接到ttl小板,连接方式是:
/ O8 N* O) H1 E( ^0 C/ f将小板的跳线切换到3.3的位置,如果你的小板没有这种设计,忽略这一行
* k" V' e# f" k2 K2 D) {. r& z5 Jtx接到小板rx
2 O |, B1 t8 q3 w2 ~& Xrx接到小板tx
) g* a. C6 X- t w7 pgnd接到小板gnd' m: T# g' V8 w- m5 Z7 u" e
" n- }- u5 I& x: d2 P2 w接好后,把小板插电脑上& E; ]$ @0 Y: \/ U/ s7 C4 L/ H
* |- b b, I" X
9 n4 a+ y8 @* x% \+ c" v+ p+ B2. 随便找个终端程序,比如下面这个, macOS和Linux可以使用minicom或者screen,按照你的习惯来选择即可
, k4 r1 X9 L! A$ I* b% [
. w( p6 F1 S' G. @: ?& W打开它7 v+ O' ?5 l7 m& a
6 f5 L9 ^$ y# E7 l8 |新建一个串口会话,此时将载波率设置成115200,如果之前新建过那这步就免了
6 D% p& |7 v* T! ^
$ E% x0 ~5 j) J7 {$ g, Q& I$ U3 v. u/ J0 Y0 N/ q, x/ K- e
3. 打开那个串口会话,选择你的ttl小板,通常是com数字最大的那一个: U& h4 N0 D/ g4 V9 P
h; T6 l6 ]' X3 Q; `然后会打开一个空白的窗口. @9 D7 r* Y0 O# @/ b' G
5 E& [6 Z6 V1 ]; w2 O. {9 y
4. 这时候给猫盘上电(插电)这时应该会看到窗口有输出内容,如果没有,可以试着把猫盘处的tx和rx对调一下
' [! M* _$ y1 r4 I: t: r7 N/ Z8 {4 b! n/ z2 t
看到输出后不停的按回车,直到你看到
8 o! k( ~6 |! S# d, o; c进入了uboot命令模式! |5 T' l% J8 `7 ^$ z+ ^& o
$ i! @) V0 {# x6 d+ K5. 你已经完成一小半了,把你要刷的bin文件和tftp程序放在一起,比如下面这样
5 g: Z0 G2 D$ m' W, w3 x2 Y
) v9 Y+ d1 A& K4 n) T" c打开tftp服务器,macOS和Linux用户你们可以自己配置一个tftpd作为tftp服务器5 g" a' N" q: q. C5 } ]3 H
8 n. F, w& N, [6.设置监听ip,并记下ip地址,这一步很重要+ \9 |: c) z! y8 f: `5 T
% G1 j# q1 e ]- }( R2 e/ j: U通常Realtek,Intel,Broadcom,Qualcomm,Mediatek,Killer开头的
: y% A0 t% L8 M) u9 m
! i9 V& z' a2 j" K/ V8 Z7 S
8 O+ n) o% ~1 c7. 将猫盘插上网线,和电脑连接到同一个路由下# M9 a4 I; k1 {' Y
猫盘的ip地址 可以是 刚刚记下的ip地址,把最一个 . 后面的数字改为2-254之间的任意数字,不和记录的ip重复就可以了
5 Z) G& r: F% b- setenv ipaddr 猫盘的ip地址
! Q0 O: D4 D8 F# `: d W - setenv serverip 刚刚记下的ip地址
" q0 f% t$ W6 \% q1 G) ]
复制代码 地址就设置完了8 c( K( w# M1 F; o! W
8 l5 _) u4 H; T2 Y
1 N9 [* K3 W4 X6 o5 p% K8. 下载固件到猫盘& @5 }$ B$ |3 C0 u2 ^
- tftpboot 0x1000000 你要刷的bin文件的文件名
复制代码 像下图这样提示done那就成功了,如果没成功可以尝试重插网线再重新操作本步骤# E& a. }( B9 B! T* I8 l3 j6 U
5 @9 h! [# m; s0 H0 y5 O# v- L4 f# r( d! g/ U! G9 {
9.刷spi,请确定上面那步已经成功5 G, Y% Y( h3 [: `7 q* C
- sf probe
- D1 ]( o/ [% r, @3 F9 R - sf erase 0x0 0x800000
$ t8 Z9 B) V1 a" D - sf write 0x1000000 0x0 0x800000
复制代码 执行完之后,spi就刷好了,可以拔电重启了
6 x$ T* ?9 Q z7 ~
. I' `$ t3 H+ A @; Z1 h+ h- j/ K$ u4 x' w x
10. 改mac& s+ T9 A; j3 B+ O
使用 4 的方法进入命令模式,把下面的mac替换成你猫盘盖子上印的mac8 V3 T6 H" B" u
- env default -a ?3 A: ?0 ^8 n8 P
- setenv ethaddr "4c:65:a8:00:00:00": C( t" T% f" u( X0 V4 o; v
- saveenv
复制代码 再断电重启即可' B6 {2 g& ?0 |/ M: C, F; p
# u& H, A) O# K" R A0 ]. I4 J1 N
-------------------------- wtp 部分 --------------------------8 }' I3 M3 {( x+ l
, {& ^; n/ Y4 H [3 `0 g
如果显示3 v, P9 p- z. ~+ A# R
那你就需要下面的内容了,此操作需要Linux系统,那怕是U盘启动的liveCD或者虚拟机都可以8 k+ l& O; N$ U \
% V# v# h# w) _5 Y, F
1. 如果你是虚拟机,请把你的ttl小板分进去,不同的虚拟机操作不一样,一般在 设备 -> usb 菜单中
% D, l X* ^% ~! T# E
* Q2 Q- \ r3 G8 U4 ]6 X+ ^2. 执行
$ D9 A" D+ L$ V# e$ }应该能看到输出内容中有usb子样,这时小板已经连接成功了
9 @* _; B! R5 j% t. V5 V7 K0 u9 u% S# U: K; N9 D. P
3. 在 wtp 文件夹下打开终端
. a: |2 R7 R( o- h' |/ y
& }6 O+ B( n: ] p, F4. 执行
3 v6 A( x1 `/ b L! w- sudo ./WtpDownload_linux -P UART -C 0 -R 115200 -B ./TIM_ATF.bin -I ./wtmi_h.bin -I ./boot-image_h.bin -E
复制代码 可能会要求你输入密码,密码是你系统用户的登陆密码
# n2 R# X! ]" Z+ D
: o5 X+ K; c0 a+ b+ }9 p完成后回到本文的开始,刷入uboot9 X3 d8 J& V( [* m, Q# u5 T% o, T1 C
' m0 Q# {% t8 g9 y3 N) d6 l5 G+ t好了写完了,10点吃晚饭会不会有点晚 C1 J0 r( Y b, a' ] T
7 t& d$ ?5 C$ H- R" u/ i2 ^2 i( ~7 O' y! `# a
|
评分
-
查看全部评分
|