找回密码
 注册

QQ登录

只需一步,快速开始

查看: 41201|回复: 56

[HG8245千兆版救砖]TTL已经可以中断,求刷机指令及Flash的地址

[复制链接]
发表于 2016-1-7 17:49:25 | 显示全部楼层 |阅读模式
本帖最后由 dd2ka 于 2016-1-8 00:48 编辑 ; e6 E* r8 m/ g. C. T
  1. U-Boot 1.1.4 (Jun 21 2012 - 13:51:21)# f- S( Z! g. W/ W. n2 N/ q
  2. U-Boot code: 90500000 -> 9051E974  BSS: -> 9055525C- `7 N% [7 K$ J2 X
  3. RAM Configuration:  G& I2 k; J! B' y% }( G
  4. Bank #0: 90000000 64 MB- i$ b- _8 k5 s
  5. Flash: 16 MB
复制代码
通过TTL进华为HG8245猫,已经可以中断系统引导了,方法是不停的按d,然后你会发现系统停在:8 ?: K4 Z8 k2 W6 B
  1. Press d key to abort autoboot: 10 ( C5 a$ x5 v; r0 X
  2. hisilicon #
复制代码
输入help后有如下指令可供执行:$ R# M% Y8 h# F5 [# b6 T* h
  1. hisilicon # help
      n8 [4 j* s4 B
  2. ?       - alias for 'help'8 Z7 i( Y. f" l$ O
  3. base    - print or set address offset
    $ T3 @/ q7 C8 K, T9 g8 T" R
  4. bdinfo  - print Board Info structure9 [$ G0 {8 l3 P4 @
  5. bootm   - boot application image from memory
    5 p' E8 ?7 {: c$ @9 d( _" k
  6. crc32   - checksum calculation
    * M7 |' _' c5 [  S% {% c
  7. dhcp    - invoke DHCP client to obtain IP/boot params
    + T3 q9 H* _2 p5 `$ n' g' Y
  8. echo    - echo args to console! O5 V; U" Z. ~3 J& ^6 l* J5 y
  9. erase   - erase FLASH memory$ g8 _8 _5 }3 h+ `! ~
  10. flinfo  - print FLASH memory information7 b& F8 d' z8 _/ T* G
  11. fsinfo  - print information about filesystems
    : C# e% _) d& ^
  12. fsload  - load binary file from a filesystem image, c% w0 W6 G1 \
  13. help    - print online help) c4 x. R. i0 \, z- B/ J
  14. lastword- print last word
    1 q$ Q$ p9 K7 ?3 A
  15. loadboardinfo- download file from tftp server
    1 \2 V, e: a% n; A
  16. loadflashcfg- download file from tftp server& E% n2 K/ L! h; x5 L& ~
  17. loadfs  - download file system from tftp server; q) [' g$ Z) ?) t, N& f- i( M
  18. loadjffs2- download file from tftp server
    2 R, v( s( a) C+ l* n, Q6 ?
  19. loadkernel- download file from tftp server
    0 y7 F" J/ x: H8 r
  20. loadminisystem- download file from tftp server
    5 j7 O2 H( Y1 I' \) t+ M, a
  21. loadsystem- download file from tftp server: R0 ~( e+ z2 @; V9 q
  22. loaduboot- download file from tftp server
    : O2 @$ w5 }6 A9 |# a
  23. loop    - infinite loop on address range
    / h' q- g* a! U/ G
  24. ls      - list files in a directory (default /)
      \' J3 K5 S+ W( A# M- F9 n% \
  25. md      - memory display: H* y; E7 p5 b- t1 a( {
  26. mtest   - simple RAM test
    : Y2 e: F' F" O- e4 u: P
  27. mw      - memory write (fill)) V# d1 H4 E+ ^8 E, Z. t3 J
  28. ping    - send ICMP ECHO_REQUEST to network host* ^: O  j$ D$ _
  29. printenv- print environment variables; ?3 n& @- Z+ L- f- ^1 K
  30. protect - enable or disable FLASH write protection4 g/ [$ Z$ I3 x" K* H: Z* u
  31. rarpboot- boot image via network using RARP/TFTP protocol
    7 E+ ?1 U- l+ o
  32. reset   - Perform RESET of the CPU3 ^0 z& d+ u( i9 `2 Z# t
  33. saveenv - save environment variables to persistent storage; [" ^) u: k1 c& g! w
  34. setenv  - set environment variables
    ' _8 H) S2 A6 n! }8 W7 E
  35. tftp    - download or upload image via network using TFTP protocol
    & c# |: r/ I; x) E5 `/ e+ \9 D) L
  36. update  - update board software, }: C: B& r* Z4 i2 R- f
  37. vdecrest- vdecrest 6 ~# ]* ]. x) s, E
  38. vencrest- vencrest
    ; a; ]4 Y0 u" l5 l3 o- Y! b- @
  39. version - print monitor version
复制代码
输入printenv也能看到相关配置
5 [7 K. }& d( _1 m  V1 Z
  1. hisilicon # printenv
    9 |: z& G8 u9 m2 g+ O8 y- W1 E
  2. bootdelay=1
    " l7 j! H1 m8 m' p
  3. baudrate=115200
    , J6 b5 N9 R- V5 n2 @# U9 B
  4. ethaddr=00:00:00:00:00:02
    $ f; n& s: B7 k; i6 P
  5. ipaddr=192.168.0.10
    4 a- X  c& u2 L; e6 d; @. v2 V& L
  6. serverip=192.168.0.12 d" a. F& ]7 @$ U: R' G
  7. netmask=255.255.255.0. U4 y6 T' N2 f' ~/ {( l
  8. bootfile="Image"' z, D) V- b5 ~! j. L
  9. stdin=serial9 h) f- Z) M' F1 X# l
  10. stdout=serial: v( I: g* x% q2 E4 l& A! V' a- G
  11. stderr=serial
    $ s5 Z7 }; A: B# c8 C$ z8 O
  12. verify=n8 ?$ P+ `; G3 a: U& q9 A
  13. filesize=2
    8 d8 g/ a7 Q2 @4 R! T
  14. bootcmd=bootm 0x20060054 0x91000000
    ' c4 i! N: B; z7 R  R
  15. bootargs=noalign mem=50M console=ttyAMA0,115200 root=/dev/ram0 rootfstype=squashfs mtdparts=hisilicon:0x40000(boot)ro,0x1000(flashcfg)ro,0x1f000(syspara)ro,0x180000(krnl)ro,0x8fffac@0x1e0054(rootfs)ro,0x248fd8@0xc17028(minisystem)ro,0x180000(jffs2cfg),-(reserved) user_debug=0x1f panic=1
复制代码
但是在此模式下,因为不知道flash偏移值,无法进行flash的擦除和重刷,另外,华为在U-boot模式下,也没有提供常规的cp.b拷贝内存文件到flash中等功能,仅有loadsystem,loaduboot等直接写入闪存的命令,这样就涉及到对各个版本的固件解包了,不知如何才能将bin固件拆分成uboot,system等单独的文件?求论坛各位大大拔冗相助。目前我的2个8245都是砖,进系统在加载无线网络模块的时候进入死循环,能ping通,无法telnet,无法web,ttl输入无响应。
$ c; C' c) b& e* \. S, R万分感谢!' o2 J% v& M* h2 o5 L

% Y4 w' r) Y" J
- S" K3 x  W8 o

点评

这个很简单!你看我给你回复的,本帖32楼,33楼。  发表于 2017-5-2 14:52
发表于 2017-5-2 14:51:29 | 显示全部楼层
既然在TTL有了 loadjffs2 loadkernel loadminisystem loadsystem 这些很方便的指令,那么你修复救砖也是非常简单的!
6 [$ {3 N- P, t- \5 C% N# K比较简单的办法是:0 h4 i8 x7 I  t9 P, I, G( p
1、找一台正常能用的HG8245(跟你的电路板芯片一致的),进telnet,将它的 mtd1 mtd2 ... 等等的文件,复制到你电脑里。
; P# x1 I0 S4 B  z) Z( }* w/ l2、然后在这个坏的HG8245,用 loadsystem 这类命令,把相对应的mtd 比如mtd5 刷入,就可以了!; K  g# p/ U/ m  k  K% _7 ^
(你在第一步的好的8245里面看MTD信息可以知道mtd1 mtd2 mtd3 等等 对应的是固件的哪个部分。)
, N" M; ]/ _' [. o. x4 x
发表于 2017-5-2 14:45:00 | 显示全部楼层
HG8245,HG8240 的flash的分区地址信息是这样的:
! _% ~7 Q7 d4 D2 V4 T5 E; o+ J; i5 M# X+ ]) e: \
<uboot rotate_flag="0" address0="0x00000000" length0="0x00040000"/>
( b: C( h9 d: J6 z$ C8 m) }  R<flash_config rotate_flag="0" address0="0x00040000" length0="0x00001000"/>
5 e9 f" }2 |) l' o8 ~! ^( r<system_param rotate_flag="0" address0="0x00041000" length0="0x0001f000"/>  W4 g, S. o* {4 q+ x+ C2 k/ m
<kernel rotate_flag="0" address0="0x00060000" length0="0x00180000"/>
1 }4 f3 k' I0 b% t. {3 q<rootfs rotate_flag="0" address0="0x001e0000" length0="0x00900000"/>+ P9 \3 S, e; [( D. o  U6 u
<minisys rotate_flag="0" address0="0x00ae0000" length0="0x00380000"/>" I' A9 d) ^# }/ y
<file_system rotate_flag="0" address0="0x00e60000" length0="0x00180000"/>9 h. [# S% M0 S. S7 g) d1 C8 R
<reserved rotate_flag="0" address0="0x00fe0000" length0="0x00020000"/>- w  `* `. V0 x) C$ D  N$ e, G

& |' I( [9 H* Z7 M8 e4 i( w5 Y" G你参考,很简单。! c8 z/ r. o' C5 z
发表于 2016-2-5 23:56:17 | 显示全部楼层
不明觉厉。这绝对是个技术活。帮顶
 楼主| 发表于 2016-1-31 20:23:41 | 显示全部楼层
回来看看,还是没戏,唉。
 楼主| 发表于 2016-1-8 00:22:16 | 显示全部楼层
另外参照其他uboot刷机的教程,发现华为HG8245这个猫在U-boot下,没有cp.b的命令,只能tftp下载到内存,erase擦除闪存。
" y- `4 g% {) X) D8 ^% j华为这个只有loadsystem,loaduboot等几个指令,是直接写入闪存的。
, e% U; t) |4 r不知有无大神对华为这个猫有研究呢?
发表于 2016-2-4 00:51:53 | 显示全部楼层
弄好了么?话说开机的U-BOOT下面一行是不是就显示了偏移量?
3 Y% U* V0 j; D2 h! T5 c( NU-Boot code: 90500000 -> 9051E974  BSS: -> 9055525C
发表于 2016-2-26 11:36:13 | 显示全部楼层
我按d怎么停步下来呢,哎/ U$ j& N7 C: I5 [: L, L3 M
我是c2刷英文版了。郁闷啦

点评

找到方法没有呢,我的也停不下来?  详情 回复 发表于 2016-4-8 21:30
发表于 2016-2-26 22:44:08 | 显示全部楼层
持续关注楼主+ ?# f7 [% E7 v; C' a- f8 [$ S
先顶顶顶!
发表于 2016-2-27 10:04:35 | 显示全部楼层
楼主我的8245盖子打开了,是那种无针的TTL,求教如何接线。
/ f6 R6 D4 W6 a: J! v1 X- n另外TTL接上了以后我该用什么软件呢?谢!
发表于 2016-4-8 21:30:19 | 显示全部楼层
fa8800 发表于 2016-2-26 11:36) X" P% ]! ~  M2 _  D3 T9 S
我按d怎么停步下来呢,哎
, _0 V2 B$ [2 D2 L我是c2刷英文版了。郁闷啦

& Y+ t: ~' X+ _找到方法没有呢,我的也停不下来?
*滑块验证:
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|宽带技术网 |网站地图

粤公网安备 44152102000001号

GMT+8, 2024-6-2 13:40 , Processed in 0.027761 second(s), 5 queries , Redis On.

Powered by Discuz! X3.5 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表