|
本帖最后由 zanjie1999 于 2020-8-25 21:09 编辑 发现居然有人tftp都不会用,写一个这样的教程,不需要u盘和emmc中的系统就可以刷spi,非常简单 1. ttl连接,连接绿色部分就可以了+ Q$ S% u! q3 p' F" R# _
3 B# z7 y7 [) o. |. L/ ~2 a7 v
左边的uart就是,将他连接到ttl小板,连接方式是:$ c; E$ {0 c" n, F) j& Y% _0 h
将小板的跳线切换到3.3的位置,如果你的小板没有这种设计,忽略这一行
6 d" s* w2 h: C) v! Itx接到小板rx
Y/ m" o- c$ m5 w6 brx接到小板tx
S% {# w4 \7 D$ ^2 ?8 E T* ^gnd接到小板gnd8 K9 w: x5 c) P2 X/ o
2 B, {& l( ^5 Y7 Q: `0 s: P, g接好后,把小板插电脑上+ P& Y% K. ~6 p, ~
4 X; Q( X6 J. [ u: ^/ J2 z" l; Z" L, D( `. I8 N# ]( q8 K
2. 随便找个终端程序,比如下面这个, macOS和Linux可以使用minicom或者screen,按照你的习惯来选择即可6 p3 ~# g x/ A- _* p* b# B
D" [) J: G# a) M5 u; G
打开它' F/ b7 G6 h. @+ B6 P
' t9 i8 v% b5 n) |
新建一个串口会话,此时将载波率设置成115200,如果之前新建过那这步就免了
5 I5 u! v Z* }6 ]2 c5 ?6 D; y) T3 l- j! l) K* z0 Y4 Z9 y; E0 _4 t$ w
" J2 r; y/ F$ b* U3. 打开那个串口会话,选择你的ttl小板,通常是com数字最大的那一个
9 {$ N+ ]3 O: m0 U0 n$ \
4 ]: j9 O( m* F/ A4 }' F然后会打开一个空白的窗口) J# j! @7 b8 @2 E- d+ x
8 \& p5 v) a: p$ W) ^8 \
4. 这时候给猫盘上电(插电)这时应该会看到窗口有输出内容,如果没有,可以试着把猫盘处的tx和rx对调一下
4 i; I/ e( N( ^. A2 @, U6 N6 z/ x6 Y0 s
6 j# z5 I) ?! e9 M3 e5 f4 x看到输出后不停的按回车,直到你看到
/ ]9 B! t) h2 v+ g6 |$ h进入了uboot命令模式
/ F2 o2 Q/ C$ K0 e" C& E3 z
& ^$ e* g2 Z2 h7 L5. 你已经完成一小半了,把你要刷的bin文件和tftp程序放在一起,比如下面这样) B# E) W' C0 W! Z( {
- i; S1 a ?! D' e打开tftp服务器,macOS和Linux用户你们可以自己配置一个tftpd作为tftp服务器3 P' W- B7 o% ]# z! k* L5 N
9 M/ q% e! ]6 F; @5 V- O
6.设置监听ip,并记下ip地址,这一步很重要
2 I8 X5 s1 w- k5 _+ W- \% N* h1 \
( g" [% v1 z* w* C+ r3 E, Q3 [6 r通常Realtek,Intel,Broadcom,Qualcomm,Mediatek,Killer开头的$ J% d3 ] Z$ |9 v( d
! G: q* ~- U- @
& t6 V7 w( U! U, Q- L7. 将猫盘插上网线,和电脑连接到同一个路由下3 `* K( ^' I# m' k2 q2 L" M
猫盘的ip地址 可以是 刚刚记下的ip地址,把最一个 . 后面的数字改为2-254之间的任意数字,不和记录的ip重复就可以了7 ?0 e8 I6 x6 z$ \; Z8 o( p
- setenv ipaddr 猫盘的ip地址
0 x% m3 d7 f( T! J( }/ Q T2 N - setenv serverip 刚刚记下的ip地址& ~' o: y1 n/ r M
复制代码 地址就设置完了: F) Q5 s' {) w/ E0 l2 M' q9 S$ N
8 D1 @ }0 L3 P7 @* q0 I8 [# R$ s! `( Q
8. 下载固件到猫盘0 g F; A5 K ^+ c) Q
- tftpboot 0x1000000 你要刷的bin文件的文件名
复制代码 像下图这样提示done那就成功了,如果没成功可以尝试重插网线再重新操作本步骤0 ~7 r4 y9 [+ {3 U% F, ~2 n
- @6 z' o" c2 `3 j1 |6 W5 p
" o2 c( ]$ p' z8 h. b q
9.刷spi,请确定上面那步已经成功
9 p) H' S/ k {; p- sf probe& K, ]' w# v1 q- f
- sf erase 0x0 0x800000
8 P" q# ~4 B: }& D d* v - sf write 0x1000000 0x0 0x800000
复制代码 执行完之后,spi就刷好了,可以拔电重启了
! C7 E" B* S5 G+ W6 U
- T0 v$ _$ ^- O" v% r, x
# F6 f6 o/ G' o" g7 E* o3 Q10. 改mac
* U, A7 S7 g; }6 S使用 4 的方法进入命令模式,把下面的mac替换成你猫盘盖子上印的mac
5 ~+ G. g3 \$ U+ _4 }+ _7 Q. p- env default -a; U9 E- L2 [1 ~$ S
- setenv ethaddr "4c:65:a8:00:00:00"
% P; |* S5 {7 C& @6 N& S - saveenv
复制代码 再断电重启即可/ U7 b$ b) G1 U' ^
: I: Z$ g" I% S Q H1 S, ~-------------------------- wtp 部分 --------------------------# ?& s8 _5 A0 G# w2 k4 c
0 ]. z1 r& {" g( T如果显示* d w$ S& j$ }
那你就需要下面的内容了,此操作需要Linux系统,那怕是U盘启动的liveCD或者虚拟机都可以
8 a' A/ f' i$ _ Z' q- B0 D( j+ B: w6 x0 H& [! x+ p, ]
1. 如果你是虚拟机,请把你的ttl小板分进去,不同的虚拟机操作不一样,一般在 设备 -> usb 菜单中
( Q# o8 D; t0 P% E4 o G' M3 M1 I2 n* X! w7 I! t
2. 执行% ?! n; Y8 }8 n, |7 H# B4 Q( ^9 O
应该能看到输出内容中有usb子样,这时小板已经连接成功了' T- L- [* Z8 {: Y% h! E
. H: `2 V" d; S7 ]& B3. 在 wtp 文件夹下打开终端
. @6 p4 w' v7 n4 ]/ c; y- a
2 _# ^% b& @5 ~3 q# @* N4. 执行- f6 Q& e' q1 n: q9 d. {6 D
- sudo ./WtpDownload_linux -P UART -C 0 -R 115200 -B ./TIM_ATF.bin -I ./wtmi_h.bin -I ./boot-image_h.bin -E
复制代码 可能会要求你输入密码,密码是你系统用户的登陆密码
" a( b8 c0 j, n: h( z) V# a1 r. Y& S# C% l% F2 F' g+ i
完成后回到本文的开始,刷入uboot
. [! D+ ~- M9 A9 k
$ M- ]$ Q8 H/ Y3 G' p2 Q好了写完了,10点吃晚饭会不会有点晚0 J4 D2 ?3 z, O8 E- y( h, c
+ |+ L4 i2 `; D! \/ N( a4 \5 b% h3 g2 k4 c
; P7 C! E& q9 Y' f |
评分
-
查看全部评分
|