打印

stc15w 如何下载isp程序到用户ISP区,有做过的朋友,告知下

[复制链接]
2035|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
沙发
wozaihuayu|  楼主 | 2017-9-5 18:39 | 只看该作者
应该用什么工具?反正官方的STC-ISP(V6.68D)我设置成下图不能下载,提示,文件过大,自动截取!

使用特权

评论回复
板凳
a87758133| | 2017-9-5 20:45 | 只看该作者
楼主可以试一下这个软件:FlyMcu,我一直用它烧录IAP的程序,通过串口就行,不知道能不能解决你这个问题

使用特权

评论回复
地板
wozaihuayu|  楼主 | 2017-9-6 07:53 | 只看该作者
a87758133 发表于 2017-9-5 20:45
楼主可以试一下这个软件:FlyMcu,我一直用它烧录IAP的程序,通过串口就行,不知道能不能解决你这个问题
...

这个是下载STM32和LPC单片机程序的

使用特权

评论回复
5
wozaihuayu|  楼主 | 2017-9-6 09:10 | 只看该作者
现在51的真是偏啊,问个问题,没人能解决的。。。。难道真成了STM32的天下了?

使用特权

评论回复
6
think9do| | 2017-9-6 13:46 | 只看该作者
本帖最后由 think9do 于 2017-9-6 13:53 编辑

我做过一个类似的项目。
也是参考你发的这个文档,这个文档还对应有一个样板程序。
1.先用stc的STC ISP下载一个包含引导程序的hex文件,就是你的引导hex和程序hex合并为一个hex,通过STC ISP下载;
程序合并的时候,注意要把引导程序hex的最后一行删除,然后把程序hex复制接在它后面。
2.后续可以通过引导程序的帮忙,在线升级。
起始地址,不用修改,还是0x0000。

使用特权

评论回复
7
wozaihuayu|  楼主 | 2017-9-6 15:19 | 只看该作者
think9do 发表于 2017-9-6 13:46
我做过一个类似的项目。
也是参考你发的这个文档,这个文档还对应有一个样板程序。
1.先用stc的STC ISP下载 ...

是的,你说的我明白!我研究了下STC提供的那个ISP文件,发现他是直接把ISP_CHECK那段代码直接定位在了0xee00地址(好像是通过keil定义的),然后main函数部分代码不动!这样的话,我分析的,就是直接下载他们提供的ISP.hex文件,就可以把ISP程序下载到用户ISP区,然后再下载自己的应用程序,那段用户ISP区是不会被擦除的!

使用特权

评论回复
8
wozaihuayu|  楼主 | 2017-9-7 07:55 | 只看该作者
think9do 发表于 2017-9-6 13:46
我做过一个类似的项目。
也是参考你发的这个文档,这个文档还对应有一个样板程序。
1.先用stc的STC ISP下载 ...

能不能详细说下HEX程序拼接???

如果能拼接的话,那程序就只需下载一次就可以了,大大方便了生产!!!

使用特权

评论回复
9
think9do| | 2017-9-7 09:04 | 只看该作者
本帖最后由 think9do 于 2017-9-7 09:09 编辑

拼接方法:
1.你用ultraedit这个软件打开你的引导烧录hex文件,把最后一行删除。
就是:00000001FF这条。
2.然后用同样的软件打开你的应用hex文件,把它完整复制过来,这个文件不用做任何改动。
3.粘贴在引导hex文件的后面就可以了。
烧录时,导入合并后的hex文件。你会看到程序分成了两段。
一段起始地址是0x0000,另一段起始地址是0xEC00。

使用特权

评论回复
10
wozaihuayu|  楼主 | 2017-9-7 17:08 | 只看该作者
think9do 发表于 2017-9-7 09:04
拼接方法:
1.你用ultraedit这个软件打开你的引导烧录hex文件,把最后一行删除。
就是:00000001FF这条。

感谢相助,此方法确实管用,但是这可能是针对官方的方法!我的方法是做了一个小型的BootLoader,要放置用户程序空间的0x0000地址,然后用户程序放在0x1000地址,按你的方法如果将用户程序粘贴在BootLoader后面,程序运行时只运行了用户程序,却没有运行BootLoader,我换了换顺序,把用户程序放在了BootLoader前面,奇迹般的可以了!不知道为什么,但就是可以,哈哈!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

39

主题

260

帖子

4

粉丝