找回密码
 注册

QQ登录

只需一步,快速开始

查看: 46790|回复: 56

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

[复制链接]
发表于 2016-1-7 17:49:25 | 显示全部楼层 |阅读模式
本帖最后由 dd2ka 于 2016-1-8 00:48 编辑
1 W  t1 u* D2 @  s7 M3 R
  1. U-Boot 1.1.4 (Jun 21 2012 - 13:51:21)
    , Y. y. l  ^$ g: G2 h
  2. U-Boot code: 90500000 -> 9051E974  BSS: -> 9055525C+ b2 o2 O3 d* d/ E5 y
  3. RAM Configuration:
    # _0 @  C( h2 d4 A; Q
  4. Bank #0: 90000000 64 MB
    & M+ ?1 i" {" |, l( e
  5. Flash: 16 MB
复制代码
通过TTL进华为HG8245猫,已经可以中断系统引导了,方法是不停的按d,然后你会发现系统停在:
" b( B: S) o' L: k3 E  `
  1. Press d key to abort autoboot: 10 * n3 G# |8 t& o9 }' D
  2. hisilicon #
复制代码
输入help后有如下指令可供执行:
+ D, P/ _. V8 p) y1 b4 @
  1. hisilicon # help7 e. ^3 m7 K& t* X
  2. ?       - alias for 'help'
    2 _" }2 u) O  K. F+ E' J
  3. base    - print or set address offset
    ; {" P2 X+ K# }' h: e- _$ y
  4. bdinfo  - print Board Info structure1 o3 s! i0 Y; N) D( g- a: a/ R9 I
  5. bootm   - boot application image from memory. _, o+ O2 Q, j$ l1 z: S
  6. crc32   - checksum calculation: |( E% A0 n- H
  7. dhcp    - invoke DHCP client to obtain IP/boot params9 U  T- J2 ~6 e/ q) E, q  X
  8. echo    - echo args to console
    % v! r" a& @; `; Z% r& Q( q
  9. erase   - erase FLASH memory
    6 a. _, O- s0 Y8 K- N) Y7 ]
  10. flinfo  - print FLASH memory information* n) g- Q4 d0 ?6 K6 {
  11. fsinfo  - print information about filesystems
    ( x4 D5 D1 O4 C- \  k
  12. fsload  - load binary file from a filesystem image% h: p* m% E) O, t$ i
  13. help    - print online help$ b% O& V5 ?0 l
  14. lastword- print last word+ P* S# u/ f9 [8 [
  15. loadboardinfo- download file from tftp server
    ; L! r- K; R5 h8 S/ t' e
  16. loadflashcfg- download file from tftp server7 C! c5 j8 q2 {* i, H7 q; `
  17. loadfs  - download file system from tftp server
    6 v' R! |, X8 G/ v- d
  18. loadjffs2- download file from tftp server+ m6 z! Q; F: s; \
  19. loadkernel- download file from tftp server
    % X" [9 @) T. w& c% B1 H+ p. G
  20. loadminisystem- download file from tftp server
    & D7 T5 m- e  Y( w$ }
  21. loadsystem- download file from tftp server% l( m' t! z, r7 ^9 Z  ]  b
  22. loaduboot- download file from tftp server
    $ m! p0 n2 l, J; O
  23. loop    - infinite loop on address range
    7 ?+ S1 X8 {* @. M* o: y9 \
  24. ls      - list files in a directory (default /)
    0 A" P2 l0 X4 a5 |
  25. md      - memory display" P' I+ g3 e  M% R
  26. mtest   - simple RAM test
    : k) k% ?0 \* p% K' F) m2 H
  27. mw      - memory write (fill)
    1 j6 V; g" W  M1 H6 x
  28. ping    - send ICMP ECHO_REQUEST to network host
    8 W6 W. m# ^# J* b* G4 y  |4 N
  29. printenv- print environment variables' Q, i! _) ~: L  w8 x2 f* l
  30. protect - enable or disable FLASH write protection0 f+ i! i: N2 y  q5 H- b# F4 t
  31. rarpboot- boot image via network using RARP/TFTP protocol
    9 F4 m8 V2 ?$ o7 V0 @
  32. reset   - Perform RESET of the CPU3 m1 H+ {' q  ]) V$ w
  33. saveenv - save environment variables to persistent storage. o0 N  _, J4 H
  34. setenv  - set environment variables
    ; d) |6 F, u' h9 ^1 g. J
  35. tftp    - download or upload image via network using TFTP protocol& L5 z' {6 V9 I0 A1 v1 f' M$ A
  36. update  - update board software
    ( F( i' B9 ?2 D1 \: |. K/ q5 p
  37. vdecrest- vdecrest 6 D; {) {. d6 f1 ]
  38. vencrest- vencrest
    . S- R& R* c9 N' n# B+ @
  39. version - print monitor version
复制代码
输入printenv也能看到相关配置
1 ~( H2 Y2 `- p: O9 C- a" N: K
  1. hisilicon # printenv
    ; _! m, c( L8 q6 G" F, s( d7 d
  2. bootdelay=1
    # c- p1 `: ?# j/ M# C" D
  3. baudrate=115200% Q6 ~9 F: I1 C, @! {
  4. ethaddr=00:00:00:00:00:02
    2 B. L/ j5 Y! p9 Q# H5 _. u) l
  5. ipaddr=192.168.0.106 Q: ]6 Q# N* n, _/ d
  6. serverip=192.168.0.1
    4 N. s6 C  J' c& b1 {  b" p
  7. netmask=255.255.255.02 J6 r, P( M' h4 b
  8. bootfile="Image"
    , B' j$ n9 i/ o# k; y  V, m
  9. stdin=serial. N6 B* j6 a8 P$ S
  10. stdout=serial7 O1 g6 R1 w! e9 J  f& ]
  11. stderr=serial$ @3 @- k" l7 S0 y/ I2 y6 }! @4 w
  12. verify=n3 }2 |+ |1 l/ y; C# l
  13. filesize=2
    ; z# v! q6 l- S0 A2 a. ^+ h+ h
  14. bootcmd=bootm 0x20060054 0x91000000
    3 J! ~0 t& g4 T* \$ y+ X- q; C
  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输入无响应。* V, x1 l5 ^7 e: e1 [4 X$ U
万分感谢!
. l: v. B9 B$ }6 W2 ~$ k' m5 F" |
. k' S; H  N- f
: ?% O" b2 j5 }" G
发表于 2017-5-2 14:51:29 | 显示全部楼层
既然在TTL有了 loadjffs2 loadkernel loadminisystem loadsystem 这些很方便的指令,那么你修复救砖也是非常简单的!' r$ E! e) _. X, r3 v/ h% z% `7 W' M8 i
比较简单的办法是:9 Q7 o! j4 ~; c/ e; `) T
1、找一台正常能用的HG8245(跟你的电路板芯片一致的),进telnet,将它的 mtd1 mtd2 ... 等等的文件,复制到你电脑里。
! p' f5 }* u+ H  W2、然后在这个坏的HG8245,用 loadsystem 这类命令,把相对应的mtd 比如mtd5 刷入,就可以了!2 @4 k# e( p- X& f& ~8 n
(你在第一步的好的8245里面看MTD信息可以知道mtd1 mtd2 mtd3 等等 对应的是固件的哪个部分。)0 i# j( v; e$ i; A; Q
发表于 2017-5-2 14:45:00 | 显示全部楼层
HG8245,HG8240 的flash的分区地址信息是这样的:
+ d; W7 \. E# K1 u# C. G1 x
+ T7 z0 [6 U7 d% s: M  A1 w/ Z; H) ^<uboot rotate_flag="0" address0="0x00000000" length0="0x00040000"/>
5 ]: J" B4 r0 Y+ K( S9 ~( q' M<flash_config rotate_flag="0" address0="0x00040000" length0="0x00001000"/>
) K- ^& {. W. W2 {<system_param rotate_flag="0" address0="0x00041000" length0="0x0001f000"/>
; u2 n- {. c4 x/ K<kernel rotate_flag="0" address0="0x00060000" length0="0x00180000"/>
9 h! c0 }! a6 k% |3 X<rootfs rotate_flag="0" address0="0x001e0000" length0="0x00900000"/>5 S8 ?- Z' @( s+ k6 h
<minisys rotate_flag="0" address0="0x00ae0000" length0="0x00380000"/>+ L; N  A$ e4 v- W+ u
<file_system rotate_flag="0" address0="0x00e60000" length0="0x00180000"/>3 g; [& P) H! O- X- ^
<reserved rotate_flag="0" address0="0x00fe0000" length0="0x00020000"/>$ V! p: x5 s8 v
9 X7 c4 \) f) u4 N
你参考,很简单。
$ \8 X6 T) W3 M3 Q
发表于 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擦除闪存。: |1 |& Y- {# B- A  V
华为这个只有loadsystem,loaduboot等几个指令,是直接写入闪存的。) a2 T% b7 f( [) c1 P) X' J
不知有无大神对华为这个猫有研究呢?
发表于 2016-2-4 00:51:53 | 显示全部楼层
弄好了么?话说开机的U-BOOT下面一行是不是就显示了偏移量?
, G: w# j7 r" iU-Boot code: 90500000 -> 9051E974  BSS: -> 9055525C
发表于 2016-2-26 11:36:13 | 显示全部楼层
我按d怎么停步下来呢,哎
+ Y! `+ k. ]1 E( f我是c2刷英文版了。郁闷啦
发表于 2016-2-26 22:44:08 | 显示全部楼层
持续关注楼主
6 R- a3 `1 G8 R  d2 e8 P先顶顶顶!
发表于 2016-2-27 10:04:35 | 显示全部楼层
楼主我的8245盖子打开了,是那种无针的TTL,求教如何接线。: {3 U# v7 }' ^% _$ ?* w; q0 Z9 ]- |
另外TTL接上了以后我该用什么软件呢?谢!
发表于 2016-4-8 21:30:19 | 显示全部楼层
fa8800 发表于 2016-2-26 11:36
5 n( `% x- f3 c1 Z, {我按d怎么停步下来呢,哎
4 E% T" r; A6 ]' S我是c2刷英文版了。郁闷啦
( j8 D3 ]% @+ ?  e: H% {# A
找到方法没有呢,我的也停不下来?
*滑块验证:
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|宽带技术网 |网站地图 粤公网安备44152102000001号

GMT+8, 2025-5-3 09:48 , Processed in 0.030100 second(s), 5 queries , Redis On.

Powered by Discuz! X3.5 Licensed

Copyright © 2001-2020, Tencent Cloud.

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