购买链接: https://s.click.taobao.com/s0JIBZw
相关链接1: 买个全志arm9 F1C100s 方案的唱戏机回来拆一拆
相关链接2: F1C100s 编译 XBOOT 详细过程
首先把 【先科唱戏机】的w25q32 flash吹下来,以备退休之后把机器组装起来跳跳广场舞。 好消息,原版固件已经读出来了: 原版固件下载
准备一片新的spi flash, 4M字节以上, 我用MX25L256(32M), 用烧录器把 【modify-SAST-M697-C100S-4MB-hack.img】文件烧录到 spi flash, 然后再焊接到唱戏机板子上。
上电,USB公对公线一头插入电脑, 一头插入唱戏机母座. VMWARE Ubuntu 挂载 usb烧录设备,
执行下面的命令行:
sudo sunxi-fel -p write 0x80000000 xboot-f1c100s.bin;sudo sunxi-fel exec 0x80000000
tf卡引脚定义, 根据http://linux-sunxi.org/MicroSD_Breakout 第2,5引脚是串口引脚:
史上最牛X的spi flash烧录器(可以读写spi flash):
新唐N32926烧录软件:
执行sudo sunxi-fel -p write 0x80000000 xboot-f1c100s.bin;sudo sunxi-fel exec 0x80000000
把xboot下载到F1C100s 的 ddr:运行XBOOT:
换刚烧好flash, 连接串口线的唱戏机
离线
离线
XBOOT新思路:
其实不拆flash烧录,在现有的技术方案下,有一个思路也是试一试的,估计可以用。
思路:
1,截取modify-xxxx-hack.bin的前16k,到一个新文件hack.bin
2,短路flash进入fel模式
3,执行sunxi-fel -p write 0 hack.bin; sunxi-fel exec 0
实践证明, xboot大神的猜想是正确的,
只要中间断开重连一次usb就可以了.
这样无需拆焊 flash了
离线
只要中间断开重连一次usb就可以了.
荔枝派Q群有网友提醒我, sunxi-fel 有Windows版本,这样就不用重连了。
真是三人行必有我师傅,
放狗一搜居然真有 Windows版本...
朕孤陋寡闻了
目前版本可以运行这些指令
sudo sunxi-fel version;
sudo sunxi-fel sid;sudo sunxi-fel hexdump 0 400
sudo sunxi-fel -p write 0 output/f1c100s.bin
sudo sunxi-fel hexdump 0 400
sudo sunxi-fel exec 0
离线
离线
XBOOT最新想法 说:如果没有spi-flash或者短路flash,应该这套方法就不行了,因为fex配置文件在flash里.
但只要有个可以能跑的原厂固件在里面,这个方法就是完全可行的,
进一步做个确认
验证结果:
如果一直短路flash, 或把flash取下
运行 ./sunxi-fel -p write 0 hack_16k.bin; ./sunxi-fel exec 0
串口毛反应都没有
离线
我按照短路flash的方法进行操作,但最后烧写完成后,没有顺利跳转到xboot,请问是哪里出问题了,串口如下图:
图贴不上来,我贴出串口的打印DBG: init jtag OK
init dram , base is 0x80000000
init dram , clk is 156
init dram , access_mode is 1
init dram , cs_num is 1
init dram , ddr8_remap is 0
init dram , sdr_ddr is 1
init dram , bwidth is 16
init dram , col_width is 10
init dram , row_width is 13
init dram , bank_size is 4
init dram , cas is 3
init dram , size is 0
dram init successed,size is 32
DBG: init heap OK, base address is 0x80000000, size is 0x00100000
DBG: load boot1 from spinor
DBG: init spinor OK
DBG: the size of BOOT1 is 71168
DBG: src_sum = 0x0x4dd22bba
DBG: sum = 0x0x4dd22bba
succeed in loading BOOT1
jump to BOOT1
DBG: boot1 starting!
DBG: init heap OK, base address is 0x80800000, size is 0x00100000
begin to init file system
DBG: init block device OK
DBG: init mini file system OK
DBG: mount c partition OK
貌似还是进入了 原厂固件。
离线
晕哥,这个最后一个警告怎么理解啊。
sudo ./sunxi-fel -p write 0x80000000 xboot-f1c100s.bin;sudo ./sunxi-fel exec 0x80000000
Warning: no 'soc_sram_info' data for your SoC (id=1663)
100% [================================================] 4170 kB, 235.6 kB/s
Warning: no 'soc_sram_info' data for your SoC (id=1663)烧录后的唱戏机,重新上电后,xboot就没有了呢~又回归到flash的fel模式中了。。。是这样的吗?
这个是当时sunxi-tools工具没有适配f1c100s的时候出的警告信息,
所以这是写到DRAM里面,重新开机当然就没有了。
不过最新的sunxi-tools已经可以烧录f1c100s的spi flash了,所以不存在这些问题了。
离线
离线