网站大量收购闲置独家精品文档,联系QQ:2885784924

利用宏晶科技的IAP单片机开发自己的ISP程序.docVIP

利用宏晶科技的IAP单片机开发自己的ISP程序.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
利用宏晶科技的IAP单片机开发自己的ISP程序

使用宏晶科技的IAP系列单片机 开发自己的ISP程序 随着IAP(In-Application-Programming)技术在单片机领域的不断发展,给应用系统程序代码升级带来了极大的方便。宏晶科技的串口ISP(In-System-Programming)程序就是使用IAP功能来对用户的程序进行在线升级的,但是出于对用户代码的安全着想,底层代码和上层应用程序都没有开源,为此宏晶科技推出了IAP系列单片机,即整颗MCU的Flash空间,用户均可在自己的程序中进行改写,从而使得有用户需要开发字节的ISP程序的想法得以实现。本文以宏晶科技的IAP12C5A60S2为例,详细说明了使用宏晶科技的IAP单片机开发用户自己的ISP程序的方法,并给出了基于Keil环境的汇编和C源码。 内部FLASH规划 示例单片机使用IAP12C5A60S2,用户可以使用的最大程序空间为59K字节,现将整个空间作如下划分: FLASH空间中,从地址0000H开始的连续59K字节的空间为用户程序区。当满足特定的下载条件时,需要用户将PC跳转到用户ISP程序区,此时可对用户程序区进行擦除和改写,以达到更新用户程序的目的。 程序的基本框架 下位机固件程序说明 下位机固件程序包括两部分:ISP(ISP代码)和AP(用户代码) ISP代码包括如下外部接口模块: ISPPROGRAM:程序下载入口地址,绝对地址EC00H ISP_ENTRY:上电系统自检程序(系统自动调用) 对于用户程序而言,用户只需要在满足下载条件时,将PC值跳转到ISPPROGRAM (即EC00H的绝对地址),即可实现代码更新。 用户代码 用户代码可以使用C或者汇编语言编写,但对于汇编代码需要注意一点:位于0000H的复位入口地址处的指令必须是一个长跳转语句(类似LJMP START)。在用户代码中,需要设置好串口,并在满足下载条件时,将PC值跳转到ISPPROGRAM (即EC00H的绝对地址),以实现代码更新。对于汇编代码,我们可以使用“LJMP EC00H”指令进行调用,如下图 在C代码中,必须定义一个函数指针变量,并将此变量赋值为0xEC00,然后再调用,如下图 具体细节请参考附件中的代码。 上位机应用程序说明 上位机的程序是基于MFC的对话框项目,对于串口的访问是直接调用Windows的API函数,而没有使用串口控件,从而省去的控件的注册以及系统版本不兼容的诸多问题。界面较简单,只是为这一功能的实现提供了一个框架,其他的功能及要求均还可以往上面添加。 上位机程序的核心模块是基于类CISPDlg的一个友元函数“UINT Download(LPVOID pParam);”,此函数负责与下位机通讯,发送各种通讯命令来完成对用户程序的更新。用户可以根据各自不同的需求增加命令。 上位机应用程序的使用方法 打开上位机界面,如下图 选择串口号,设置与下位机相同的串口波特率 打开要下载的源数据文件,Bin或者Intel hex格式均可以 点击“下载数据”按钮即可开始下载数据 下位机固件程序的使用方法 下位机的目标文件有两个“IAPISP.hex”和“AP.hex”,对于一块新的单片机,第一次必须使用宏晶科技的ISP下载工具将“IAPISP.hex”写入到芯片内,之后再更新便不再需要写“IAPISP.hex”这个文件了,附件中的“AP.hex”只是一个用户程序的模板,当满足下载条件时,用户只需要将PC值跳转到EC00H的地址,即可实现代码更新。 技术支持:(86第 6 页 共 7 页 传真:86-755电话:86-755官方网站:www.STCMCU.com 0.5K 复位入口映射区 EBFF EC00 FFFF 0000 系统区 (不可访问) 用户ISP区 用户程序区 4K 0.5K 59K MCU复位 是否满足系统升级条件? 执行用户功能模块 是 否 更新用户代码 软复位 F000 EDFF EE00 EFFF 上电自检模块 系统是否正常? 是 否 异常处理

文档评论(0)

sb9185sb + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档