|
本帖最后由 zanjie1999 于 2020-8-25 21:09 编辑 发现居然有人tftp都不会用,写一个这样的教程,不需要u盘和emmc中的系统就可以刷spi,非常简单 1. ttl连接,连接绿色部分就可以了
, n6 @; K8 Y' p" k
' V n: @) r6 {+ y' j0 i: Z' {左边的uart就是,将他连接到ttl小板,连接方式是:& x m1 X& K+ U O! Y1 u
将小板的跳线切换到3.3的位置,如果你的小板没有这种设计,忽略这一行
- e3 r6 F! M) j% d& X' ytx接到小板rx8 \* b0 w* ~) h/ \+ r9 p% k( x
rx接到小板tx# U) y! U; K! {' M( E
gnd接到小板gnd( }( C6 c! `; g/ I! }- \& i5 G9 V* f2 p: x
3 L( I/ _- }" q) i接好后,把小板插电脑上
1 ?! m- X/ q. Y% v0 G- M6 P0 U7 C9 ]* ^* i
" G& }( D% m0 E3 @& c9 \- I- e2. 随便找个终端程序,比如下面这个, macOS和Linux可以使用minicom或者screen,按照你的习惯来选择即可
# j! n2 v4 b) C9 P
* Y$ A8 j; i6 z g打开它
5 O y; ]+ f2 D; L3 ^3 j' j' y
' c+ h- A3 Y$ H
新建一个串口会话,此时将载波率设置成115200,如果之前新建过那这步就免了
& p) v$ e {2 U% w) p! J. |2 _0 }3 F D! ~3 D8 V/ H
) `: A F3 f- e$ O7 U7 _* A3. 打开那个串口会话,选择你的ttl小板,通常是com数字最大的那一个
P. E9 y' `* M1 b! s
$ F. d1 e% U5 u! X, t, K- [2 l
然后会打开一个空白的窗口
8 w8 ^* c8 A2 l7 z) E. l
& F: c. A% M$ D4 x4. 这时候给猫盘上电(插电)这时应该会看到窗口有输出内容,如果没有,可以试着把猫盘处的tx和rx对调一下. P2 u* R! G9 g# q% H. Y$ l
% W4 T6 L# T b4 @$ K/ H看到输出后不停的按回车,直到你看到; G6 n& {" p8 w/ k9 d7 w; j
进入了uboot命令模式
" U! K* M0 f. S7 m" z
! |* M2 r! x3 B0 s$ k& \" l5. 你已经完成一小半了,把你要刷的bin文件和tftp程序放在一起,比如下面这样, \" \4 Q% U# G/ C4 N
$ S# T8 |* I. z' t: p
打开tftp服务器,macOS和Linux用户你们可以自己配置一个tftpd作为tftp服务器
, a3 [8 X3 W: D, L1 H4 i: ] f% t5 @: } C) r
6.设置监听ip,并记下ip地址,这一步很重要
# K1 U3 V6 C! q6 G6 x' u& H
: m: \, T# _9 p U# {" A" ~/ l通常Realtek,Intel,Broadcom,Qualcomm,Mediatek,Killer开头的6 o9 N3 W, c# T! d. a$ ]. Z
5 Z! X- O. p) y
& N; c' Y2 D i; \) g I P1 k& ?8 O7. 将猫盘插上网线,和电脑连接到同一个路由下+ I3 d$ E+ d3 ?/ q
猫盘的ip地址 可以是 刚刚记下的ip地址,把最一个 . 后面的数字改为2-254之间的任意数字,不和记录的ip重复就可以了" {% U" N' C! x) e/ w! J! g m0 e7 i, `
- setenv ipaddr 猫盘的ip地址8 \: w! G% J) V/ _) y/ n) n
- setenv serverip 刚刚记下的ip地址
* A, [* J/ S7 x, {' T/ N2 U l; X
复制代码 地址就设置完了/ i: e9 \' v4 ~
3 T) ]8 I, O3 s* U2 `1 k$ j/ w$ g" F& g, _& f3 E% b
8. 下载固件到猫盘
: a: o" {9 i1 U: c- tftpboot 0x1000000 你要刷的bin文件的文件名
复制代码 像下图这样提示done那就成功了,如果没成功可以尝试重插网线再重新操作本步骤
A$ A+ ?, m* }
# C# y' h4 F/ v. l. a- @+ {8 z9 g% P
O- g9 W0 E P9.刷spi,请确定上面那步已经成功2 y& ?3 b2 ~: Z( s7 R, w6 E: V
- sf probe
' L. @4 E# {+ S) [. C2 c - sf erase 0x0 0x8000007 i5 Z# ]4 S! D2 ^/ k2 \5 H0 b1 d
- sf write 0x1000000 0x0 0x800000
复制代码 执行完之后,spi就刷好了,可以拔电重启了
* h2 [: Z4 R1 a9 J" c# q8 p# l2 q% g$ y% D7 t
" Z6 a/ ? ^2 [$ _$ P# B10. 改mac
, d B+ p7 z* g% X: ~1 g使用 4 的方法进入命令模式,把下面的mac替换成你猫盘盖子上印的mac
- s( D5 m R: f% z( X% z- env default -a
% [+ n* n% s9 x/ u3 F; C8 @ W - setenv ethaddr "4c:65:a8:00:00:00"# d" P7 C- Q8 g: t) k
- saveenv
复制代码 再断电重启即可. \8 \% {9 H( s% T
/ @1 @ L3 J" q
-------------------------- wtp 部分 --------------------------. C8 q% B& A/ T! s
$ g% ?- p( G% T' }- X) ~+ M如果显示
* M9 a2 k6 h* D3 s那你就需要下面的内容了,此操作需要Linux系统,那怕是U盘启动的liveCD或者虚拟机都可以
8 I' `: ~' z6 k# C0 W+ f! z: u& b! A# `9 _2 P0 @
1. 如果你是虚拟机,请把你的ttl小板分进去,不同的虚拟机操作不一样,一般在 设备 -> usb 菜单中) k$ S4 F+ l& Y$ X6 u- S
' C$ {" k. H) \! ~" {5 @2. 执行
$ H, m$ j" A' D$ F; I应该能看到输出内容中有usb子样,这时小板已经连接成功了. j& v0 U7 n: x
9 G5 m5 \& X4 j) n8 @6 F [0 \3. 在 wtp 文件夹下打开终端& {2 m! S. A* b6 m0 D9 a9 u& E0 @4 M# f
$ m+ T: c! p6 a* K, C9 b4. 执行; _6 ^: O0 E! y4 p, ^* N7 B$ X5 }
- sudo ./WtpDownload_linux -P UART -C 0 -R 115200 -B ./TIM_ATF.bin -I ./wtmi_h.bin -I ./boot-image_h.bin -E
复制代码 可能会要求你输入密码,密码是你系统用户的登陆密码9 x8 K+ B4 d- U6 {
+ R/ h3 p- A( [% K- t; D+ @
完成后回到本文的开始,刷入uboot
! l3 z4 B0 v; Y/ n- j+ X
2 |; s/ L' \6 a! D A6 M! W) |9 J好了写完了,10点吃晚饭会不会有点晚
$ n9 M! n5 ?) K! K8 a- n- Z. u4 {& P2 _
& x, {- H; u; H' g1 }6 | |
评分
-
查看全部评分
|