|
本帖最后由 zanjie1999 于 2020-8-25 21:09 编辑 发现居然有人tftp都不会用,写一个这样的教程,不需要u盘和emmc中的系统就可以刷spi,非常简单 1. ttl连接,连接绿色部分就可以了: ]+ T4 r: A9 Z5 H+ c. W
9 h2 I* r: g6 l# [! z' a8 h! c
左边的uart就是,将他连接到ttl小板,连接方式是:
5 M, e4 _/ e$ j将小板的跳线切换到3.3的位置,如果你的小板没有这种设计,忽略这一行1 ?' H8 w/ E6 z: b# I& x; m$ ^
tx接到小板rx# u- J( c& ^" I
rx接到小板tx3 `) u2 Z$ S6 O y- `
gnd接到小板gnd, U7 `5 H5 A- {. w2 N& I V
' z& E. f' m/ m! P% H I* q接好后,把小板插电脑上* `6 S2 I* W8 t& B9 S+ M
, m0 r3 i+ f, a+ U# s- D! [5 @1 U
) v; ?, B% V# _: {2. 随便找个终端程序,比如下面这个, macOS和Linux可以使用minicom或者screen,按照你的习惯来选择即可
5 Q; c) J6 _2 s. k' L# J
( A8 G ^8 T) B! K
打开它
% H& d! E6 C' Y. f8 l* f( o
% E7 C1 U) e: U# W* w7 g" l& V
新建一个串口会话,此时将载波率设置成115200,如果之前新建过那这步就免了
- a; ~1 O8 a, A" k/ C5 L {- B, b& | r0 M# @; }( F1 F: W5 a3 ]! n
/ a6 w' }. l* z6 K7 k3. 打开那个串口会话,选择你的ttl小板,通常是com数字最大的那一个
( Z3 Z1 `) U% j: v; z3 M5 A
7 Z, @: r+ P$ h7 s然后会打开一个空白的窗口
7 y9 T' K5 t1 M: v
4 A5 ^9 Q% u7 k9 B1 G. h8 J$ V/ g, m4. 这时候给猫盘上电(插电)这时应该会看到窗口有输出内容,如果没有,可以试着把猫盘处的tx和rx对调一下
9 k7 Y# i; W' z9 ^7 G1 x6 ^% B
8 _# e }& D& s: S" `$ a s- I$ c3 k看到输出后不停的按回车,直到你看到8 [6 E5 \7 F1 _. |! Y$ D1 ^
进入了uboot命令模式
, a' W0 X6 b' L: h0 t2 L# S* F2 E% j) D* y
5. 你已经完成一小半了,把你要刷的bin文件和tftp程序放在一起,比如下面这样
) Q8 J9 Z' Q9 `. K8 c* U! p& k
* r9 S/ K# y3 E) a; j
打开tftp服务器,macOS和Linux用户你们可以自己配置一个tftpd作为tftp服务器% Q- w, e" T4 C6 f
4 I) m8 ?4 A5 P! D4 ?; F, I' [0 o6.设置监听ip,并记下ip地址,这一步很重要
; Y1 d8 U- w; \! ^0 F6 m
4 k& ?! d! V: k T
通常Realtek,Intel,Broadcom,Qualcomm,Mediatek,Killer开头的4 T) A! B5 Z2 d9 e" F9 Y' b
: U3 \( A* l4 r @1 U4 K7 ~5 d7 P
0 F2 f5 t; |* x& h; n2 V7. 将猫盘插上网线,和电脑连接到同一个路由下
$ x- H: B" d! E5 R- j猫盘的ip地址 可以是 刚刚记下的ip地址,把最一个 . 后面的数字改为2-254之间的任意数字,不和记录的ip重复就可以了
3 V- X6 A0 \, J* `9 z- H \- setenv ipaddr 猫盘的ip地址$ |4 x, x* g" O6 p0 O4 t
- setenv serverip 刚刚记下的ip地址! Q$ E+ m* T1 k
复制代码 地址就设置完了
- [- s# A. M( p
. k9 _- q$ d7 p% e0 k l3 x6 n; e! J
8. 下载固件到猫盘. N, `; @) }' s( k9 m
- tftpboot 0x1000000 你要刷的bin文件的文件名
复制代码 像下图这样提示done那就成功了,如果没成功可以尝试重插网线再重新操作本步骤' b& {$ W/ p: T6 B% J3 A9 O
# v( I. r7 e# _5 c, n
% a x' o9 Q) o9.刷spi,请确定上面那步已经成功
1 p9 J- R4 `! D) g" i' d( m" \( o, f- sf probe
8 Z1 b& w& e2 m9 Y - sf erase 0x0 0x800000& N, ~( B1 Y9 d1 u. F: A& W
- sf write 0x1000000 0x0 0x800000
复制代码 执行完之后,spi就刷好了,可以拔电重启了
, O7 Z7 Y' d1 v& c# g- o/ c
8 V {7 @4 E/ Y$ G8 C2 \& ]; U5 I- f
; F, b" W J# H' t% q10. 改mac5 ?- i/ p: K8 U& C! X
使用 4 的方法进入命令模式,把下面的mac替换成你猫盘盖子上印的mac
/ D3 e; G4 O7 G# H% {' f/ F- env default -a& t! e, e, [$ `: B' \; ^
- setenv ethaddr "4c:65:a8:00:00:00"
4 Z! a% {+ H J2 T1 i% y - saveenv
复制代码 再断电重启即可* V2 v( E& J; ?# p, W
) G5 a g+ k2 h3 p8 D) Y. v8 l-------------------------- wtp 部分 --------------------------% [+ M. d+ n }3 r
9 Y9 H7 `1 t0 l+ w8 z如果显示, e3 H# D8 l. z8 p8 a+ T9 {5 R
那你就需要下面的内容了,此操作需要Linux系统,那怕是U盘启动的liveCD或者虚拟机都可以
* J; v/ E, O( x) |0 N; |$ X% p% E% \8 z0 A8 m8 Q1 `& Q5 h3 q
1. 如果你是虚拟机,请把你的ttl小板分进去,不同的虚拟机操作不一样,一般在 设备 -> usb 菜单中$ \( g U! R$ Z
* H7 ~% b# ^' V$ g5 g: M% K1 h2. 执行
, C* m& c: ~. B/ A应该能看到输出内容中有usb子样,这时小板已经连接成功了
T0 s# _+ Q- l+ H& U! _5 L2 _9 [" v f4 }7 @- M
3. 在 wtp 文件夹下打开终端+ x( Z# @' h+ b& E( B6 ]- \
( ?" K- c8 v5 B: L. p
4. 执行* k# O8 I+ b( m8 s8 [$ i
- sudo ./WtpDownload_linux -P UART -C 0 -R 115200 -B ./TIM_ATF.bin -I ./wtmi_h.bin -I ./boot-image_h.bin -E
复制代码 可能会要求你输入密码,密码是你系统用户的登陆密码* |! P A" c' Q+ ^4 u
+ ^- O$ ]* E5 D完成后回到本文的开始,刷入uboot3 ]( N& }' p ?, T+ R) {; Q; K$ K a% Q
) r5 E) I+ V: ?' h. _好了写完了,10点吃晚饭会不会有点晚
5 m( e5 O, t3 V2 |/ ]' E" }: ~3 L: {2 p; B. O3 P. ~
# c; S+ |4 l; ?; n- A
|
评分
-
查看全部评分
|