|
本帖最后由 zanjie1999 于 2020-8-25 21:09 编辑 发现居然有人tftp都不会用,写一个这样的教程,不需要u盘和emmc中的系统就可以刷spi,非常简单 1. ttl连接,连接绿色部分就可以了4 w1 Y1 k7 w8 Z8 v& [* R
& W7 H; i* ~" A* b/ D7 t$ O
左边的uart就是,将他连接到ttl小板,连接方式是:: C% h: j# S) E0 k$ D- g
将小板的跳线切换到3.3的位置,如果你的小板没有这种设计,忽略这一行- I: C$ ^" H2 m) }7 V2 K
tx接到小板rx
; J: p: f0 i& f. Y: `2 l9 Grx接到小板tx
/ y1 S7 D+ y, N% p- z' Ugnd接到小板gnd
6 a9 t1 T7 q' j0 p, J2 @& H; x/ c4 P0 g5 _2 t' o% l+ [
接好后,把小板插电脑上
4 ]# B% [$ S: W- t: e z% o
) d9 T$ N- Z3 G; Z& o& V2 `) k' K# G1 M5 A6 u9 W
2. 随便找个终端程序,比如下面这个, macOS和Linux可以使用minicom或者screen,按照你的习惯来选择即可- Z. Q R5 W$ p$ x, g: k# T
/ ~- K5 z0 t0 m; p, a, B打开它
: W( P8 z) X* w" u
" s% \# ]5 Q2 g/ l3 ]6 g# J
新建一个串口会话,此时将载波率设置成115200,如果之前新建过那这步就免了
% U/ W4 ?$ P( W
. f+ R% N# ]. [9 {+ n/ S/ [5 J' }' K6 R$ Q
3. 打开那个串口会话,选择你的ttl小板,通常是com数字最大的那一个& ]$ b! A9 c8 L. H8 O. s6 b
' i, ?: W3 t# }2 x" z; z4 u
然后会打开一个空白的窗口
8 s+ V+ g: b3 Z( v
8 r9 R4 n- W$ G+ v4. 这时候给猫盘上电(插电)这时应该会看到窗口有输出内容,如果没有,可以试着把猫盘处的tx和rx对调一下
( |* J3 K, v, [2 ^) H6 n3 A: f( `, n Q) z" o, }$ j
看到输出后不停的按回车,直到你看到
0 L6 k) i, M0 ^1 V: g进入了uboot命令模式
+ i0 A1 |8 z# n: H) I" i( _7 R
2 b" S' a+ A* m, f$ C5. 你已经完成一小半了,把你要刷的bin文件和tftp程序放在一起,比如下面这样) s" F1 R- e. Z+ @- f
; }( v9 k9 p2 K, O打开tftp服务器,macOS和Linux用户你们可以自己配置一个tftpd作为tftp服务器5 x: q( R( M+ C/ {; l0 X8 X
1 I5 v' u5 d- O/ W% s- M% L' E/ a6.设置监听ip,并记下ip地址,这一步很重要
9 A8 Y) L& x. o. x7 C [1 C7 L
) Q0 l& D+ q3 A, B2 E! i, W8 Z9 K通常Realtek,Intel,Broadcom,Qualcomm,Mediatek,Killer开头的
+ w0 X3 B' L; M Y# V. M) K- U5 m% M5 e1 r1 o' U' {
" h1 \4 O8 P" E& w5 E( U( G7. 将猫盘插上网线,和电脑连接到同一个路由下# F( _" t; e- N3 f3 E# T; y
猫盘的ip地址 可以是 刚刚记下的ip地址,把最一个 . 后面的数字改为2-254之间的任意数字,不和记录的ip重复就可以了
+ U u- t& p6 a/ `. S% M* a- setenv ipaddr 猫盘的ip地址
$ }1 Y" F$ O( o, r$ I- a - setenv serverip 刚刚记下的ip地址; L' o6 h, c; E* O( F' b+ V
复制代码 地址就设置完了+ }" i3 l2 c- l0 d* o
0 [7 ?7 f1 j0 s: B0 Q
) Y; T' Q9 z; p
8. 下载固件到猫盘/ ?' o3 b! n( j# r q8 [1 F
- tftpboot 0x1000000 你要刷的bin文件的文件名
复制代码 像下图这样提示done那就成功了,如果没成功可以尝试重插网线再重新操作本步骤
2 v0 _: X4 ~% N! p% O( [
: b7 L% x) k( V2 _# Y, R
4 O* T7 ~- k! E/ D# B9.刷spi,请确定上面那步已经成功
: C! z5 d6 a! h* r$ B3 x3 V/ N- ^5 O- sf probe7 s1 u$ w4 Q/ I, p
- sf erase 0x0 0x8000003 b7 U9 [' @# s8 b! {
- sf write 0x1000000 0x0 0x800000
复制代码 执行完之后,spi就刷好了,可以拔电重启了
" g1 u7 y7 c0 p
' t( O1 s' T( {" ~6 v. Y+ U: A
10. 改mac% ]5 D* |# K( x) H3 j
使用 4 的方法进入命令模式,把下面的mac替换成你猫盘盖子上印的mac. f. b$ _$ d V) @
- env default -a
- \; z. C; y. { - setenv ethaddr "4c:65:a8:00:00:00"
. r1 I; c# E" P% ^ - saveenv
复制代码 再断电重启即可
4 K) j7 p! g Z9 }: S8 x) a/ v
0 h) ?; `' l7 C- O% W" e+ {-------------------------- wtp 部分 --------------------------4 L$ w f9 q) {9 x" [1 K
- t9 @0 Q% T l
如果显示
, E9 F1 Y' G7 Z, l7 }) S那你就需要下面的内容了,此操作需要Linux系统,那怕是U盘启动的liveCD或者虚拟机都可以
+ b4 m& h# U7 N9 t& u- q: Q* v5 S3 E) L2 B% j' ~
1. 如果你是虚拟机,请把你的ttl小板分进去,不同的虚拟机操作不一样,一般在 设备 -> usb 菜单中- n. j' ^# g7 ]( q' B3 ~% B+ S. u
: b% [: }2 t# V
2. 执行
3 G# G" v1 k: ^0 X. Q4 |; P1 @应该能看到输出内容中有usb子样,这时小板已经连接成功了
1 w: }$ S. Z2 U! Z# A% P
: q# N* t& f9 A# M) v! e4 \3. 在 wtp 文件夹下打开终端* { v* X Z6 f4 b( S& P8 L% w4 S
8 T8 l+ }6 l$ D* C6 g: Z$ C
4. 执行: F, X' [& q7 g9 {$ B
- sudo ./WtpDownload_linux -P UART -C 0 -R 115200 -B ./TIM_ATF.bin -I ./wtmi_h.bin -I ./boot-image_h.bin -E
复制代码 可能会要求你输入密码,密码是你系统用户的登陆密码: X6 m( F) \8 P( N U1 L
. A8 B$ v8 ^8 W G
完成后回到本文的开始,刷入uboot' O4 O" V4 f( ^6 r
6 q! o* R5 y% w( O# r
好了写完了,10点吃晚饭会不会有点晚- K1 d. {' ~9 Z* M8 F
! F' Z4 a3 ^8 p" ]" I0 B' o( D4 F: K \; a& V3 {
|
评分
-
查看全部评分
|