WhyCan Forum

本站无需注册,无需积分,无需回复可下载所有资料,如果真的喜欢小站,请您注册之后请至少回复一个帖子激活Id,谢谢支持! 站长QQ: 516333132 (挖坑网/填坑网) admin@whycan.cn

您尚未登录。

#1 2017-10-27 22:49:58

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,979

先科唱戏机(看戏机)F1C100s方案运行XBOOT大神的XBOOT系统步骤

购买链接: https://s.click.taobao.com/s0JIBZw
相关链接1: 买个全志arm9 F1C100s 方案的唱戏机回来拆一拆
相关链接2: F1C100s 编译 XBOOT 详细过程

  1. 首先把 【先科唱戏机】的w25q32 flash吹下来,以备退休之后把机器组装起来跳跳广场舞。 好消息,原版固件已经读出来了: 原版固件下载

  2. 引出串口线,参考 http://linux-sunxi.org/MicroSD_Breakout

  3. 准备一片新的spi flash, 4M字节以上, 我用MX25L256(32M), 用烧录器把 【modify-SAST-M697-C100S-4MB-hack.img】文件烧录到 spi flash,  然后再焊接到唱戏机板子上。

  4. 上电,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引脚是串口引脚:
tfcard-view.jpg


史上最牛X的spi flash烧录器(可以读写spi flash):
QQ20171027232043.jpg


新唐N32926烧录软件:
QQ20171027231834.png


执行sudo sunxi-fel -p write 0x80000000 xboot-f1c100s.bin;sudo sunxi-fel exec 0x80000000
把xboot下载到F1C100s 的 ddr:
QQ20171027231529.png


运行XBOOT:
QQ20171027231602.png


换刚烧好flash, 连接串口线的唱戏机
QQ20171027232116.jpg

离线

#2 2017-10-28 10:32:09

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,979

Re: 先科唱戏机(看戏机)F1C100s方案运行XBOOT大神的XBOOT系统步骤

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

离线

#3 2017-10-28 10:40:26

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,979

Re: 先科唱戏机(看戏机)F1C100s方案运行XBOOT大神的XBOOT系统步骤

modify-xxxx-hack.bin的前16k(0x4000)与原版固件差异比较:

QQ20171028103702.png

QQ20171028103743.png

离线

#4 2017-10-28 14:18:17

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,979

Re: 先科唱戏机(看戏机)F1C100s方案运行XBOOT大神的XBOOT系统步骤

晕哥 说:

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

QQ20171028141858.png
实践证明, xboot大神的猜想是正确的,
只要中间断开重连一次usb就可以了.
这样无需拆焊 flash了

离线

#5 2017-10-28 16:39:44

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,979

Re: 先科唱戏机(看戏机)F1C100s方案运行XBOOT大神的XBOOT系统步骤

只要中间断开重连一次usb就可以了.

荔枝派Q群有网友提醒我, sunxi-fel 有Windows版本,这样就不用重连了。
真是三人行必有我师傅,
放狗一搜居然真有 Windows版本...
朕孤陋寡闻了

Windows安装使用sunxi-fel步骤. 高手免入


目前版本可以运行这些指令

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

离线

#6 2017-10-28 17:29:40

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,979

Re: 先科唱戏机(看戏机)F1C100s方案运行XBOOT大神的XBOOT系统步骤

XBOOT最新想法 说:

如果没有spi-flash或者短路flash,应该这套方法就不行了,因为fex配置文件在flash里.
但只要有个可以能跑的原厂固件在里面,这个方法就是完全可行的,
进一步做个确认

离线

#7 2017-10-29 08:26:53

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,979

Re: 先科唱戏机(看戏机)F1C100s方案运行XBOOT大神的XBOOT系统步骤

XBOOT 昨天晚上23点最新进展:

定时器驱动,中断驱动,调试完了

离线

#8 2017-10-29 08:34:12

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,979

Re: 先科唱戏机(看戏机)F1C100s方案运行XBOOT大神的XBOOT系统步骤

如果使用原厂固件,短路flash 1,2 或 1,4 进入 fel状态,
输入 ./sunxi-fel  -p write 0 hack_16k.bin; ./sunxi-fel exec 0
只能进入唱戏机软件,
怪不得xboot要hack固件

进入唱戏机之后,如果usb公对公线还连着电脑,
电脑会出现一个u盘设备
只有一个文件

QQ20171029083619.png

离线

#9 2017-10-29 08:50:46

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,979

Re: 先科唱戏机(看戏机)F1C100s方案运行XBOOT大神的XBOOT系统步骤

晕哥 说:
XBOOT最新想法 说:

如果没有spi-flash或者短路flash,应该这套方法就不行了,因为fex配置文件在flash里.
但只要有个可以能跑的原厂固件在里面,这个方法就是完全可行的,
进一步做个确认

验证结果:
如果一直短路flash, 或把flash取下
运行 ./sunxi-fel  -p write 0 hack_16k.bin; ./sunxi-fel exec 0
串口毛反应都没有

离线

#10 2017-10-29 20:17:14

落雁
会员
注册时间: 2017-09-06
累计积分: 62

Re: 先科唱戏机(看戏机)F1C100s方案运行XBOOT大神的XBOOT系统步骤

晕哥 说:
晕哥 说:
XBOOT最新想法 说:

如果没有spi-flash或者短路flash,应该这套方法就不行了,因为fex配置文件在flash里.
但只要有个可以能跑的原厂固件在里面,这个方法就是完全可行的,
进一步做个确认

验证结果:
如果一直短路flash, 或把flash取下
运行 ./sunxi-fel  -p write 0 hack_16k.bin; ./sunxi-fel exec 0
串口毛反应都没有

请问这个 hack_16k.bin 有什么办法可以快速从modify-SAST-M697-C100S-4MB-hack.img提出来?

离线

#11 2017-10-29 20:18:15

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,979

Re: 先科唱戏机(看戏机)F1C100s方案运行XBOOT大神的XBOOT系统步骤

dd if=modify-SAST-M697-C100S-4MB-hack.img of=hack_16k.bin bs=1 count=16k

离线

#12 2017-10-29 20:18:44

落雁
会员
注册时间: 2017-09-06
累计积分: 62

Re: 先科唱戏机(看戏机)F1C100s方案运行XBOOT大神的XBOOT系统步骤

晕哥 说:

dd if=modify-SAST-M697-C100S-4MB-hack.img of=hack_16k.bin bs=1 count=16k

好吊,刚刚试了一下,果然可以。

离线

#13 2017-10-29 22:30:50

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,979

Re: 先科唱戏机(看戏机)F1C100s方案运行XBOOT大神的XBOOT系统步骤

荔枝派Q群有网友提醒我, sunxi-fel 有Windows版本,这样就不用重连了。

实践证明,即使是Windows版本, 也要手动拔掉USB线,再重新插上.
QQ20171029223016.png

离线

#14 2017-11-28 10:32:43

水清沙白
会员
注册时间: 2017-11-28
累计积分: 2

Re: 先科唱戏机(看戏机)F1C100s方案运行XBOOT大神的XBOOT系统步骤

我按照短路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

离线

#15 2017-11-28 10:34:53

水清沙白
会员
注册时间: 2017-11-28
累计积分: 2

Re: 先科唱戏机(看戏机)F1C100s方案运行XBOOT大神的XBOOT系统步骤

晕哥 说:

荔枝派Q群有网友提醒我, sunxi-fel 有Windows版本,这样就不用重连了。

实践证明,即使是Windows版本, 也要手动拔掉USB线,再重新插上.
https://whycan.cn/files/members/3/QQ20171029223016.png

下载后没有跳转成功,是否是哪里出错了

离线

#16 2017-11-28 11:57:37

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,979

Re: 先科唱戏机(看戏机)F1C100s方案运行XBOOT大神的XBOOT系统步骤

水清沙白 说:

我按照短路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

貌似还是进入了 原厂固件。

离线

#17 2018-01-24 11:34:12

cheng880126
会员
注册时间: 2018-01-22
累计积分: 9

Re: 先科唱戏机(看戏机)F1C100s方案运行XBOOT大神的XBOOT系统步骤

晕哥,这个最后一个警告怎么理解啊。

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模式中了。。。是这样的吗?

离线

#18 2018-01-24 11:48:32

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,979

Re: 先科唱戏机(看戏机)F1C100s方案运行XBOOT大神的XBOOT系统步骤

cheng880126 说:

晕哥,这个最后一个警告怎么理解啊。

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了,所以不存在这些问题了。

离线

#19 2018-02-01 20:37:32

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,979

Re: 先科唱戏机(看戏机)F1C100s方案运行XBOOT大神的XBOOT系统步骤

xboot屏幕已经驱动OK

离线

#20 2018-02-02 13:55:46

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,979

Re: 先科唱戏机(看戏机)F1C100s方案运行XBOOT大神的XBOOT系统步骤

经过xboot等一些大神确认唱戏机自带的LCD不是SYNC的RGB屏, 而是I80的MPU/MCU屏.
分析方法:反编译原厂固件、接逻辑分析仪。

离线

#21 2018-02-02 14:04:18

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,979

Re: 先科唱戏机(看戏机)F1C100s方案运行XBOOT大神的XBOOT系统步骤

QQ20180202135717.jpg

QQ20180202135725.jpg

QQ20180202135818.png
确认是I8080接口


【冒泡】首都糟粕(83365642) 10:20:29
怎么确定这个偏移量就是01c0c0?
【传说】XBOOT(8192542) 10:21:12
肯定的,看过melis代码


QQ20180202135811.jpg
I80显示屏,分辨率是480X800是个竖屏

QQ20180202135858.png
QQ20180202135901.png


QQ20180202140341.png
就是要监控下,这个寄存器,曾经写过什么值

离线

#22 2018-02-02 14:59:08

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,979

Re: 先科唱戏机(看戏机)F1C100s方案运行XBOOT大神的XBOOT系统步骤

QQ20180202145400.png
QQ20180202145349.jpg
QQ20180202145413.jpg
QQ20180202145416.jpg
QQ20180202145421.jpg
QQ20180202145424.jpg


网友忽忽通过转接板把 800*480 的SYNC LCD驱动起来了。

离线

#23 2018-02-02 15:45:28

cheng880126
会员
注册时间: 2018-01-22
累计积分: 9

Re: 先科唱戏机(看戏机)F1C100s方案运行XBOOT大神的XBOOT系统步骤

补充一下晕哥的资料~~        ^_^
LCD.png

上面方形位置处的   接口是I80的MPU/MCU的LCD连接器,椭圆形位置处的   连接器是RGB接口LCD接口。


MCU接口的定义也测量出来了(LEDK忘记确认了~~^_^网友自行测量哈)
1    GND
2    GND
3    LEDA
4    GND
5    GND
6    VDD
7    GND
8    PD19
9    PD18
10    PD20
11    PD21
12    PD0
13    PD17
14    PD16
15    PD15
16    PD14
17    PD13
18    PD12
19    PD11
20    PD10
21    PD8
22    PD7
23    PD6
24    PD5
25    PD4
26    PD3
27    PD2
28    PD1
29    GND
30    GND

离线

#24 2018-02-02 20:36:39

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 6,979

Re: 先科唱戏机(看戏机)F1C100s方案运行XBOOT大神的XBOOT系统步骤

QQ20180202203207.jpeg

QQ20180202203540.jpeg

QQ20180202203326.jpg

收到热心网友 忽忽 给我寄来的板子,满满的细工活,太感动了!
可是发现我的板子上面没有39pin的座子,赶紧淘宝下单去。

离线

#25 2019-07-11 08:20:21

hzpyl
会员
注册时间: 2019-07-10
累计积分: 58

Re: 先科唱戏机(看戏机)F1C100s方案运行XBOOT大神的XBOOT系统步骤

这个芯片的唱戏机能买到吗?

离线

页脚