找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 13956|回复: 9

开源的福利(二)——DS203升级记

[复制链接]

8

主题

143

回帖

217

积分

中级会员

积分
217

社区居民

发表于 2016-10-29 20:05:04 | 显示全部楼层 |阅读模式
本帖最后由 网络孤客 于 2016-11-27 16:30 编辑

我的DS20313年买的,一直用到现在,立下汗马功劳。但一直在心理有个疙瘩,当年购买后半年不到,官方就进行了硬件升级,由原来2M空间升级为8M空间,大了足足4当年就有朋友问自行升级8M问题

8M?我不,我要16M

于是自行闭关修炼,到现在整整3年了,头发都白了,终于修成出关!


一、升级DFU


1、首先查看机器DFU的版本,如果是3.11及以前的版本,不支持8MSYS固件就是读取DFU版本号来判断是2M还是8M,如果你没打算升级存储空间,就不要贸然升级DFU
查看DFU版本,按着“运行/暂停键”开机,可以在显示屏上看到,看下图
DFU版本号-1.jpg
    连电脑,新增盘卷标标明得清清楚楚,看下图。
DFU版本号.jpg

2、准备工具

1)一个USBTTL模块、H1.5内六角扳手、烙铁、镊子

2)准备升级的存储芯片:我使用的是Winbond W25Q128FV,注意要查看仔细芯片信息,如W25Q128FW使用的电压就不一样。芯片的封装是不是SOP-8

3)下载固件及软件。

固件:专为硬件HW2.7及以前的硬件准备 DS203_Boot(HW272).zip (143.44 KB, 下载次数: 895) ,如果你的硬件版本远高于这个,请到论坛置顶帖中下载。

          Flash loader demonstratorhttp://pan.baidu.com/s/1hsBKatI 密码:eoqu

3、拆机接线

拧开DS203背后的四颗螺丝就可以拆开外壳。屏幕靠上USB接口在右侧,就可以看到屏幕下方有6个小孔,左侧方孔是1脚,依次数下去。

12脚(2.8VBT0)用短路线短起来

3脚(RST)空掉

4脚(RX),与USB-TTL模块的TX端连接

5脚(TX),与USB-TTL模块的RX端连接

6脚(地),与USB-TTL模块的GND端连接

注意:USB-TTL模块的5V3.3V不要接任何东西,保护好。

孔背后有屏蔽金属板,脚不要插得太深,短路,我是用细金属丝把小孔与插针之间的缝隙塞上,防止短路也防止接触不良。
USB-TTL.jpg

schem_cn7.png

4、关闭机子,接上电池,打开Flash loader demonstrator软件,设置好COM的端口,其他设置就按默认值就行了。按Next就出现下面的提示,这里我被困扰了很久,一直以为是我的接线没接好,E文没学好的恶果。这里只有按确认后打开DS203的电源开关,就会立即出现下一个页面。如果不行就把上面接线TXRX换个个,再试试。

升级1.jpg


    过了这关,再后面就简单了,一路Next,直到选择写入的文件。


升级2.jpg


升级3.jpg


    这里选择DFU固件位置,然后Next写入。
升级4.jpg


   升级后再次开机,DFU已升级为3.14C

最后一步,升级了新固件,开机要求输入Licence
大家可以在MINIDSO论坛,把机子的SN码记下来,发帖询问。
输入Licence时,两个拨动开关左边的是选择当前位数字,右边的选择要输入哪位的数,输入完后按方格键确认。




回复

使用道具 举报

8

主题

143

回帖

217

积分

中级会员

积分
217

社区居民

 楼主| 发表于 2016-10-29 20:56:09 | 显示全部楼层
本帖最后由 网络孤客 于 2016-10-30 12:46 编辑

三、系统修改
一边刨SYS源码,一边恶补FAT12的结构,终于出来了!
SYS修改.jpg

终于成功能格式化成16M,拷贝一个14M的压缩包能正常打开解压出来,里面的文件也能正常打开。机子内保存的BUF文件能正常打开,内心暗自窃喜。
电脑认16M.jpg
拷贝文件2.jpg

把机继续连接电脑,打开里面的BMP文件,打不开,拷贝文件拷不了,修复后一大堆错误。一大盆冰水从头淋下。
错误.jpg

于是翻箱倒柜,找到了一个古老的软件DSKPROBEWINDOWS下磁盘编辑超级工具) dskprobe.zip (62.17 KB, 下载次数: 2176) ,查看0磁道,傻眼了,windows把盘格式化为FAT16,难怪,难怪。
找度娘搜了一个能格式化成FAT12的软件DiskGenius。但格式化后一簇有2个扇区(8092字节)对小机器来说有点大,再想其他办法。
一不做二不休,干脆就使用Fat16,于是重新按自己理解的FAT16修改SYS一遍,更乱了,不知哪里的问题,引导区明明写着FAT16,FAT区却按FAT12存储,根目录更乱,每个目录条相隔不是32字节,而是64字节(后来回想,可能是为了长文件而做的修改,有那位兄弟知道一定要告诉我)。


山重水复疑无路,突然有一个灵感启发了我:

“在FAT12文件系统中,FAT0xFF7代表坏簇,0xFF8-0xFFF代表文件结束。”
16M,每个扇区4096字节,一共刚好0x1000个扇区(编号0x000 - 0xFFF),如果按这样格式化坏簇和文件结束无法正常区分。所以系统强行使用FAT16或8k一簇FAT12(这里简单说明一下FAT16与FAT12的一个关键区别,FAT12用12bit来表示一个簇号,FAT16用16bit来表示一个簇号)。
首先把原分区干掉。
重新分区0.jpg


然后,这是关键,把分区的尾巴忍痛给裁掉一截,正常是4096,现在设置成4087(少了8 X 4096字节的空间)
重新分区1.jpg


最后,重新格式化,设置卷标。可以看出,引导分区在1扇区,每个FAT区占2扇区,在2~5扇区,根目录在6~9扇区,文件区从10扇区开始。
重新分区2.jpg


最后没有很仔细测试,但保存的文件能正常在机中和电脑打开。下图为在盘中预先保存一个大文件,然后机子生成一个BMP文件,在电脑中能正常显示出来。
正确显示图片.jpg


最后,为了避免与官方的固件版本号冲突,把版本号设置为
16M2 03SYS16M.zip (20.38 KB, 下载次数: 2197)
代表16M专用,版本号2
固件文件名为03SYS16M,第一个03代表只能用于203机。
其他机子慎下。

版本1:实现16M存储空间。
版本2:修复删除了的目录项不能重复利用的bug。










回复 1 0

使用道具 举报

8

主题

143

回帖

217

积分

中级会员

积分
217

社区居民

 楼主| 发表于 2016-10-29 20:42:39 | 显示全部楼层
本帖最后由 网络孤客 于 2016-10-31 09:11 编辑

二、换心
先把电路板背后的屏蔽金属板给脱掉
退屏蔽.jpg

再把原来的FLASH芯片焊出来
芯片位置.jpg

为了防止失败,还买了8M的芯片。DS203实在好用好玩,不能废掉啊。
芯片图.jpg

焊接好了,焊接了几十年,焊工还是那么差
焊接好.jpg
回复

使用道具 举报

195

主题

1333

回帖

3006

积分

管理员

积分
3006

社区居民忠实会员

发表于 2016-10-31 10:00:27 | 显示全部楼层
高手在民间!
回复

使用道具 举报

22

主题

70

回帖

307

积分

中级会员

积分
307
发表于 2016-10-31 11:14:14 | 显示全部楼层
好帖!学习了。
回复

使用道具 举报

16

主题

62

回帖

187

积分

注册会员

积分
187
发表于 2016-10-31 20:29:15 来自手机 | 显示全部楼层
其实SPI FLASH 常见容量就是2M 4M 8M 16M,支持常见厂商比如winbond的全部容量不是什么难事。
回复

使用道具 举报

8

主题

143

回帖

217

积分

中级会员

积分
217

社区居民

 楼主| 发表于 2016-11-1 15:27:55 | 显示全部楼层
echo 发表于 2016-10-31 20:29
其实SPI FLASH 常见容量就是2M 4M 8M 16M,支持常见厂商比如winbond的全部容量不是什么难事。 ...

的确。其实还可以换32M。我抛砖引玉,希望有更深层次的应用。
回复

使用道具 举报

16

主题

62

回帖

187

积分

注册会员

积分
187
发表于 2016-11-6 17:40:50 | 显示全部楼层
网络孤客 发表于 2016-11-1 15:27
的确。其实还可以换32M。我抛砖引玉,希望有更深层次的应用。

32M 的SPI FLASH产品很少,SO-8封装的更是几乎没有了。SPI FLASH协议中的地址一般用3个字节表示,24位,就是16M,超过16M以后协议要变化,需要4个字节了。
同样I2C接口的EEPROM常见的最大容量就是64kB,因为地址是2个字节16位。
回复

使用道具 举报

8

主题

143

回帖

217

积分

中级会员

积分
217

社区居民

 楼主| 发表于 2016-11-7 08:56:55 | 显示全部楼层
echo 发表于 2016-11-6 17:40
32M 的SPI FLASH产品很少,SO-8封装的更是几乎没有了。SPI FLASH协议中的地址一般用3个字节表示,24位, ...

的确,我找winbond 32M,没有SOP8的封装,只有WSON 8x6 - mm。开始我看到8个引脚就想当然认为是SOP8。这个是大问题,不知WSON 8x6 - mm,是否能兼容原来的SOP8的焊盘
协议方面没问题,因为SYS开源,可以修改。
回复

使用道具 举报

0

主题

6

回帖

9

积分

新手上路

积分
9
发表于 2017-4-29 22:32:34 | 显示全部楼层
太厉害了,要能改成TF卡就好了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|MINIWARE产品技术交流 迷你工具-智能烙铁-加热平台-示波器-体感电动螺丝刀-数字电源-智能镊子 ( 粤ICP备07030012号-1 )

GMT+8, 2024-9-20 00:40 , Processed in 1.405901 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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