|
|
本帖最后由 zanjie1999 于 2020-8-25 21:09 编辑 发现居然有人tftp都不会用,写一个这样的教程,不需要u盘和emmc中的系统就可以刷spi,非常简单 1. ttl连接,连接绿色部分就可以了
8 G5 m/ d5 z, _( c6 ^
8 Q1 C2 S/ x* v i+ r
左边的uart就是,将他连接到ttl小板,连接方式是:
. L& f3 m6 h0 N: {0 R0 j将小板的跳线切换到3.3的位置,如果你的小板没有这种设计,忽略这一行! ^6 c3 _- g+ ]& O$ y: d: A
tx接到小板rx3 {1 }* H: h/ q7 v& n+ Y( m
rx接到小板tx
! L% m8 R. k8 @% H" vgnd接到小板gnd
( J ]. {7 R/ c# N* v2 a4 U% Z: I1 r9 a3 |! I1 X
接好后,把小板插电脑上" t0 w j( l6 A) H8 V
5 T. L6 } r: O3 U1 ~. g$ K
9 n" K% A# w5 t0 J: N; T" B2. 随便找个终端程序,比如下面这个, macOS和Linux可以使用minicom或者screen,按照你的习惯来选择即可
; H% W2 T6 N' t* @5 H% ~
" p& V( w5 q3 _' j5 ?1 ~* @打开它; _. |' w6 B; B3 `2 G5 `; Z
4 h4 ~: s2 ]9 M( k& {- {8 K( _
新建一个串口会话,此时将载波率设置成115200,如果之前新建过那这步就免了
% z2 h; q4 G. E& o: u
4 F- [1 Z" F6 a7 ^! N9 {9 v8 r8 e0 o8 O
3. 打开那个串口会话,选择你的ttl小板,通常是com数字最大的那一个
# Q2 ?5 v2 x* p3 x& ^, A
& ]; Q, u9 f% v, ^8 w% ?然后会打开一个空白的窗口
6 H2 l) g$ B( R9 K5 y# X* R. [1 N0 Z9 K* e+ O) z
4. 这时候给猫盘上电(插电)这时应该会看到窗口有输出内容,如果没有,可以试着把猫盘处的tx和rx对调一下6 v8 D. N' T: P/ w( H. g3 L$ k' o
* P9 E% a2 I6 F6 ]; ~$ t看到输出后不停的按回车,直到你看到3 q" y% [/ f$ k3 u( c; ^
进入了uboot命令模式% V! U5 }! x4 C& G( L% ^/ M
# t) {3 D- J3 Y. B" W7 Q
5. 你已经完成一小半了,把你要刷的bin文件和tftp程序放在一起,比如下面这样
; f! ~3 x+ @# Z
6 C: m7 h4 W, W$ l打开tftp服务器,macOS和Linux用户你们可以自己配置一个tftpd作为tftp服务器
- P& e* V. z7 p4 j8 M {. U% Q! h* N: V. Z
6.设置监听ip,并记下ip地址,这一步很重要
+ {1 _0 Q/ W5 I7 G0 W
0 I- _. A5 [ {6 Q, r, }通常Realtek,Intel,Broadcom,Qualcomm,Mediatek,Killer开头的
% ^' x/ f- g* |/ l6 t4 U7 a& }3 y% U; r/ R' x7 g
7 s7 r' L4 Z5 ]+ ?0 j |
7. 将猫盘插上网线,和电脑连接到同一个路由下
$ w! t) C8 K U7 {& g. V猫盘的ip地址 可以是 刚刚记下的ip地址,把最一个 . 后面的数字改为2-254之间的任意数字,不和记录的ip重复就可以了
7 j* Y% w, o% h* C- setenv ipaddr 猫盘的ip地址
2 O& n6 m9 q% C/ w7 v5 m, u4 I - setenv serverip 刚刚记下的ip地址
2 [" c& @. @9 P: [+ r
复制代码 地址就设置完了2 j6 V8 r' A" s6 \
?+ H; m- G- \, E3 i
~; u9 ]; _. r3 Z9 z$ _
8. 下载固件到猫盘2 ?2 X6 v$ _' `; B0 J
- tftpboot 0x1000000 你要刷的bin文件的文件名
复制代码 像下图这样提示done那就成功了,如果没成功可以尝试重插网线再重新操作本步骤
' P& o4 I. W) S' j1 J9 Y
6 @9 l& m2 z" n# Q
# v/ D4 a5 `2 Q$ J7 }. I( w8 E
9.刷spi,请确定上面那步已经成功1 C: a) _3 R! j' J
- sf probe+ L- T g. U& d0 W
- sf erase 0x0 0x800000
/ H9 r1 R. r3 m M/ ] - sf write 0x1000000 0x0 0x800000
复制代码 执行完之后,spi就刷好了,可以拔电重启了
8 { r9 c, l$ |( v; c$ ]
& J' x# T+ D3 J% ]
/ ^0 ]8 t3 [. G5 D4 s: H" q7 Y# g10. 改mac
7 I+ h& `9 @( v/ r7 N8 |, i' J y使用 4 的方法进入命令模式,把下面的mac替换成你猫盘盖子上印的mac, q) i8 D+ g* w0 p0 P; S
- env default -a
5 t! U$ x' S6 W" O0 C - setenv ethaddr "4c:65:a8:00:00:00"
( j% N& n# b/ Y9 y% e, r6 i - saveenv
复制代码 再断电重启即可
; i% a# g6 o, E: U5 t$ A5 c* j5 ?+ v) c: S5 T
-------------------------- wtp 部分 --------------------------3 U5 m8 i, k* G
& a- f% m! C$ |6 c# p% {
如果显示! h# S+ B- @" O% D4 Q
那你就需要下面的内容了,此操作需要Linux系统,那怕是U盘启动的liveCD或者虚拟机都可以+ m5 }$ p6 R/ ^8 N6 Y% y1 c
! ~3 V. p/ B/ J8 u. g$ i
1. 如果你是虚拟机,请把你的ttl小板分进去,不同的虚拟机操作不一样,一般在 设备 -> usb 菜单中
% X" B" J! h$ |+ P- ]/ y7 W; ]: h' o, R+ o% x- y4 X
2. 执行
+ H5 n. |, W' K应该能看到输出内容中有usb子样,这时小板已经连接成功了/ F! ?; o3 C9 U& V2 z
: [+ M0 u' q: |, p& t- U
3. 在 wtp 文件夹下打开终端7 l4 H; F/ K6 K4 i( {
8 X7 ^( k+ d6 \, G8 \( Q8 H4. 执行2 B6 i8 j9 H, G& b/ f
- sudo ./WtpDownload_linux -P UART -C 0 -R 115200 -B ./TIM_ATF.bin -I ./wtmi_h.bin -I ./boot-image_h.bin -E
复制代码 可能会要求你输入密码,密码是你系统用户的登陆密码
- A* }5 }- n: f2 n* V0 J: `; B: ~
完成后回到本文的开始,刷入uboot
- h) E1 x6 b* S' u& j$ B! _2 ~" L9 q# x6 T# ]
好了写完了,10点吃晚饭会不会有点晚
5 }: ~7 y- d1 x# S. M, z0 k3 O3 W) i# n: p/ A- @3 J
/ A1 L' H9 Q3 i: s
|
评分
-
查看全部评分
|