WCH沁恒单片机
直播中

泡芙奶昔

11年用户 716经验值
私信 关注
[问答]

请问CH559/549 IAP是否可以使用DATAFLASH?

Data Flash区域有1K的空间,是否可以将IAP上移1K,以给用户程序预留更大空间?


已经尝试将CH559的示例IAP程序的地址改为0XEC04,生成的hex转换为

bin,然后人为切割为两个bin文件,一个对应0xec00-0xefff的程序,余下的数据对应dataflash,(确定切割后的代码数据是正确的,0xec00开始的四个字段为0xff, 后面为程序码,猜测WCHISPTool 应该会在升级IAP后会更新最开始的四个字节以实现跳转,因为无法读取,无法验证)。


使用WCHISPTool同时升级IAP和Data Flash,但是升级后似乎不起作用,(用户程序也对应修改了跳转地址)
(同样的程序,已验证过地址为0xE804时可以跳转执行)


从datasheet上看,Data Flash也可以作为代码区使用,请问以上操作错了吗?IAP是否可以使用Data Flash区,如果可以如何实现?谢谢

回帖(3)

马海娟

2022-5-31 11:58:29
可以做个简单测试
程序

修改工程起始地址

查看map文件,函数很多在dataflash的位置了

测试程序运行正常,驱动了一个LED
举报

李响

2022-5-31 11:58:34
如您所说,我这边改成0xEB00,使用的WCHISPTool(V3.00) 串口下载IAP.Hex时总是提示 IAP文件过大。
好像只要代码区占用Dataflash部分就会有该提示,也正是这个原因,才尝试将HEX转为bin然后分成两部分进行烧写的。


请问您那边使用的是哪个版本的下载工具?
举报

刘俊

2022-5-31 11:58:45
您好,我是把固件以用户代码的形式下载进去的。使用的是USB方式下载。版本V3.00
举报

更多回帖

发帖
×
20
完善资料,
赚取积分