找回密码
 注册

QQ登录

只需一步,快速开始

查看: 47452|回复: 56

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

[复制链接]
发表于 2016-1-7 17:49:25 | 显示全部楼层 |阅读模式
本帖最后由 dd2ka 于 2016-1-8 00:48 编辑
  1. U-Boot 1.1.4 (Jun 21 2012 - 13:51:21)
  2. U-Boot code: 90500000 -> 9051E974  BSS: -> 9055525C
  3. RAM Configuration:
  4. Bank #0: 90000000 64 MB
  5. Flash: 16 MB
复制代码
通过TTL进华为HG8245猫,已经可以中断系统引导了,方法是不停的按d,然后你会发现系统停在:
  1. Press d key to abort autoboot: 10
  2. hisilicon #
复制代码
输入help后有如下指令可供执行:
  1. hisilicon # help
  2. ?       - alias for 'help'
  3. base    - print or set address offset
  4. bdinfo  - print Board Info structure
  5. bootm   - boot application image from memory
  6. crc32   - checksum calculation
  7. dhcp    - invoke DHCP client to obtain IP/boot params
  8. echo    - echo args to console
  9. erase   - erase FLASH memory
  10. flinfo  - print FLASH memory information
  11. fsinfo  - print information about filesystems
  12. fsload  - load binary file from a filesystem image
  13. help    - print online help
  14. lastword- print last word
  15. loadboardinfo- download file from tftp server
  16. loadflashcfg- download file from tftp server
  17. loadfs  - download file system from tftp server
  18. loadjffs2- download file from tftp server
  19. loadkernel- download file from tftp server
  20. loadminisystem- download file from tftp server
  21. loadsystem- download file from tftp server
  22. loaduboot- download file from tftp server
  23. loop    - infinite loop on address range
  24. ls      - list files in a directory (default /)
  25. md      - memory display
  26. mtest   - simple RAM test
  27. mw      - memory write (fill)
  28. ping    - send ICMP ECHO_REQUEST to network host
  29. printenv- print environment variables
  30. protect - enable or disable FLASH write protection
  31. rarpboot- boot image via network using RARP/TFTP protocol
  32. reset   - Perform RESET of the CPU
  33. saveenv - save environment variables to persistent storage
  34. setenv  - set environment variables
  35. tftp    - download or upload image via network using TFTP protocol
  36. update  - update board software
  37. vdecrest- vdecrest
  38. vencrest- vencrest
  39. version - print monitor version
复制代码
输入printenv也能看到相关配置
  1. hisilicon # printenv
  2. bootdelay=1
  3. baudrate=115200
  4. ethaddr=00:00:00:00:00:02
  5. ipaddr=192.168.0.10
  6. serverip=192.168.0.1
  7. netmask=255.255.255.0
  8. bootfile="Image"
  9. stdin=serial
  10. stdout=serial
  11. stderr=serial
  12. verify=n
  13. filesize=2
  14. bootcmd=bootm 0x20060054 0x91000000
  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输入无响应。
万分感谢!


发表于 2017-5-2 14:51:29 | 显示全部楼层
既然在TTL有了 loadjffs2 loadkernel loadminisystem loadsystem 这些很方便的指令,那么你修复救砖也是非常简单的!
比较简单的办法是:
1、找一台正常能用的HG8245(跟你的电路板芯片一致的),进telnet,将它的 mtd1 mtd2 ... 等等的文件,复制到你电脑里。
2、然后在这个坏的HG8245,用 loadsystem 这类命令,把相对应的mtd 比如mtd5 刷入,就可以了!
(你在第一步的好的8245里面看MTD信息可以知道mtd1 mtd2 mtd3 等等 对应的是固件的哪个部分。)
发表于 2017-5-2 14:45:00 | 显示全部楼层
HG8245,HG8240 的flash的分区地址信息是这样的:

<uboot rotate_flag="0" address0="0x00000000" length0="0x00040000"/>
<flash_config rotate_flag="0" address0="0x00040000" length0="0x00001000"/>
<system_param rotate_flag="0" address0="0x00041000" length0="0x0001f000"/>
<kernel rotate_flag="0" address0="0x00060000" length0="0x00180000"/>
<rootfs rotate_flag="0" address0="0x001e0000" length0="0x00900000"/>
<minisys rotate_flag="0" address0="0x00ae0000" length0="0x00380000"/>
<file_system rotate_flag="0" address0="0x00e60000" length0="0x00180000"/>
<reserved rotate_flag="0" address0="0x00fe0000" length0="0x00020000"/>

你参考,很简单。
发表于 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擦除闪存。
华为这个只有loadsystem,loaduboot等几个指令,是直接写入闪存的。
不知有无大神对华为这个猫有研究呢?
发表于 2016-2-4 00:51:53 | 显示全部楼层
弄好了么?话说开机的U-BOOT下面一行是不是就显示了偏移量?
U-Boot code: 90500000 -> 9051E974  BSS: -> 9055525C
发表于 2016-2-26 11:36:13 | 显示全部楼层
我按d怎么停步下来呢,哎
我是c2刷英文版了。郁闷啦
发表于 2016-2-26 22:44:08 | 显示全部楼层
持续关注楼主
先顶顶顶!
发表于 2016-2-27 10:04:35 | 显示全部楼层
楼主我的8245盖子打开了,是那种无针的TTL,求教如何接线。
另外TTL接上了以后我该用什么软件呢?谢!
发表于 2016-4-8 21:30:19 | 显示全部楼层
fa8800 发表于 2016-2-26 11:36
我按d怎么停步下来呢,哎
我是c2刷英文版了。郁闷啦

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

本版积分规则

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

GMT+8, 2025-6-21 23:25 , Processed in 0.029482 second(s), 5 queries , Redis On.

Powered by Discuz! X3.5 Licensed

Copyright © 2001-2020, Tencent Cloud.

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