|
|
本帖最后由 zanjie1999 于 2020-8-25 21:09 编辑 发现居然有人tftp都不会用,写一个这样的教程,不需要u盘和emmc中的系统就可以刷spi,非常简单 1. ttl连接,连接绿色部分就可以了
% K' r, _& J% V1 A$ h/ l
/ ~8 y2 Z J6 ?4 x n0 i3 _ y' S左边的uart就是,将他连接到ttl小板,连接方式是:3 Y! Z& D3 P4 n' }/ b
将小板的跳线切换到3.3的位置,如果你的小板没有这种设计,忽略这一行( S2 D9 I3 J; u1 E) w9 s4 z9 D
tx接到小板rx
4 |/ J8 u: L- L5 Drx接到小板tx
8 z# W- }8 I. P& _+ ^gnd接到小板gnd
6 @8 G+ H' t+ [- V" N6 q! I, ~" O g# V: l
接好后,把小板插电脑上
7 G4 A! D1 y3 b5 L. B% l: S3 T3 r% f; ?
; o1 W/ a& M) n. M+ }2. 随便找个终端程序,比如下面这个, macOS和Linux可以使用minicom或者screen,按照你的习惯来选择即可! j! X: P) ]. P% v- D
. M' f, K. |- D% Y( e$ }5 A, V3 ~打开它4 `) A% a; i& Y+ w/ M
# ]9 }3 q, O6 J `" \, A
新建一个串口会话,此时将载波率设置成115200,如果之前新建过那这步就免了 ?7 T( T+ R9 ^1 y& @# \- Y
N, x+ Q/ T& g
( K; h& K$ Z0 t. `
3. 打开那个串口会话,选择你的ttl小板,通常是com数字最大的那一个2 `1 J( H o) `1 |& T/ t+ D/ M/ T
! s$ V" r3 t" e5 V然后会打开一个空白的窗口
. ~# P8 D# Z* @0 V$ S
9 K/ q# e B6 P8 `4. 这时候给猫盘上电(插电)这时应该会看到窗口有输出内容,如果没有,可以试着把猫盘处的tx和rx对调一下
# f% K& M5 r0 Q* S' F; |' L5 u4 a
看到输出后不停的按回车,直到你看到) w( F; c2 P/ n" X
进入了uboot命令模式7 R8 V9 k0 ]0 t
! B, R' F: U( a+ `/ j( W; J
5. 你已经完成一小半了,把你要刷的bin文件和tftp程序放在一起,比如下面这样
# [; ~) }: D' O+ Z. C/ j/ r
0 _$ n# _! x8 C* U6 R; b9 d打开tftp服务器,macOS和Linux用户你们可以自己配置一个tftpd作为tftp服务器
7 ^$ x3 Q' P; k4 Z6 p" O: q/ C$ C1 o. b; W* y7 K
6.设置监听ip,并记下ip地址,这一步很重要
. i! _8 y1 a, p( y/ ^; i+ @( ]3 f
) P1 \. U; q2 H* w1 }: |8 G0 r通常Realtek,Intel,Broadcom,Qualcomm,Mediatek,Killer开头的
1 j8 {2 b1 b' f
& R+ A% o# K- g9 P# {
q, {3 r5 R `, w7 \) H% ?4 j7. 将猫盘插上网线,和电脑连接到同一个路由下. P @+ d; ^4 E2 V( E0 q* d P
猫盘的ip地址 可以是 刚刚记下的ip地址,把最一个 . 后面的数字改为2-254之间的任意数字,不和记录的ip重复就可以了4 Q0 s) O9 M$ T4 g4 U0 L) t9 h
- setenv ipaddr 猫盘的ip地址
: j& b% q& u3 B! W7 g% s/ S - setenv serverip 刚刚记下的ip地址9 I! c$ U9 q6 g0 b" ~+ V5 @. h% w
复制代码 地址就设置完了
' |# G3 o+ }8 R4 N, o+ k$ v/ ?# ~: L0 P* n( o
" s" w: E& @0 V" M$ d, [
8. 下载固件到猫盘
) S. m' S+ u; {+ H3 z! I) @( l- tftpboot 0x1000000 你要刷的bin文件的文件名
复制代码 像下图这样提示done那就成功了,如果没成功可以尝试重插网线再重新操作本步骤6 f" b* x$ D( y( s4 M
# X& B8 K) R% y# Z; Z- n( n! N) y# e3 x" f, I( ^
9.刷spi,请确定上面那步已经成功$ R- G2 C9 {8 Q4 p! a4 T7 ]0 V6 ~
- sf probe
* y$ [ ^: x' U2 B - sf erase 0x0 0x800000
( {+ S ]/ ?+ z/ l6 w! E# ] - sf write 0x1000000 0x0 0x800000
复制代码 执行完之后,spi就刷好了,可以拔电重启了
+ W! L5 s0 u/ |1 t" m _9 n- s( Q
3 Q) _" O1 G/ S" {0 q# h10. 改mac
8 y! D# s: w/ @' [. _使用 4 的方法进入命令模式,把下面的mac替换成你猫盘盖子上印的mac% _1 e7 N1 s' @; l. F
- env default -a1 H* Q; M" ~$ B, I* W4 o a
- setenv ethaddr "4c:65:a8:00:00:00"
: n2 m1 y- C/ s3 O/ f, v F - saveenv
复制代码 再断电重启即可0 _) V* \; D# o. j2 i* W
' ?* a0 |9 F7 |* |. j& Y) F8 w
-------------------------- wtp 部分 --------------------------
# u! e) q( G. y w* ]+ J% W& L) a" n$ D, B1 p
如果显示
3 s1 P( ]! G" x那你就需要下面的内容了,此操作需要Linux系统,那怕是U盘启动的liveCD或者虚拟机都可以* k3 a- o T2 T, C
: s' {0 U+ \% \% N; f6 o1. 如果你是虚拟机,请把你的ttl小板分进去,不同的虚拟机操作不一样,一般在 设备 -> usb 菜单中
* y W5 R) \4 I O- u; \9 @/ z# r9 L: L! Q% M. b
2. 执行" J; y: `1 p2 @" Z% L7 a z
应该能看到输出内容中有usb子样,这时小板已经连接成功了) ]2 r9 o- C8 }2 i* v
$ ?) T. b9 H5 u `
3. 在 wtp 文件夹下打开终端
`! Y: c+ z" L; M2 h- y! D+ O# j; O, D. ?
4. 执行
+ k* i0 k R" b- sudo ./WtpDownload_linux -P UART -C 0 -R 115200 -B ./TIM_ATF.bin -I ./wtmi_h.bin -I ./boot-image_h.bin -E
复制代码 可能会要求你输入密码,密码是你系统用户的登陆密码8 ?8 ^8 z1 z' {, A% n
4 j7 v# h, }9 O' b2 i
完成后回到本文的开始,刷入uboot
" k# N& u; Y' j8 \$ X4 T( d# f8 P/ c& p' @* b
好了写完了,10点吃晚饭会不会有点晚
, m+ A* W# U4 e# \3 s, \: q8 V# I( g7 p6 u
) j. s2 c. k- Y' c* K |
评分
-
查看全部评分
|