加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

关于 LPC17xx IAP实现历程

发布时间:2020-12-12 14:55:47 所属栏目:MsSql教程 来源:网络整理
导读:IAP:在应用编程 我最近做的一个项目需要实现网络的远程升级,需要用到IAP功能,网上也有很多代码供参考,实现方式都是 Bootloader + UserCode的方式,即一个很少的起动程序实现IAP和用户代码跳转,自己写一个类似FlashMagic的工具来烧写用户代码,bootloade

IAP:在应用编程

我最近做的一个项目需要实现网络的远程升级,需要用到IAP功能,网上也有很多代码供参考,实现方式都是 Bootloader + UserCode的方式,即一个很少的起动程序实现IAP和用户代码跳转,自己写一个类似FlashMagic的工具来烧写用户代码,bootloader可以通过ISP或者JTAG的方式写入。

下面说说我在开发步骤和遇到的问题:

1.Bootloader 跳转到 Usercode:这个很简单,一般都不会出错,一个指针函数就OK

2.要确定中断向量表的位置,是内存还是flash,这个非常重要

3.三就是启动了噻

当然,在进行第一步时,要检查本地存储器中一个指定位置的标识,是否需要更新用户程序,如果需要的话,就IAP

这些网上资料很多,不再多说。


我遇到的问题:

1.中断:bootloader开了 Uart0中断,Timer0中断,写了一个简单的应用程序,什么中断都没有开,问题就在这里了,当bootloader打开了中断后,跳转到应用程序后,由于没有更新应用程序的中断向量表,就跳转到一个非法地址,异常!

确定原因:解决方案就不必多说了噻!


2.半主机模式:网上扫一下,很多哈!

我的用户程序里有FS,NET等,用的是RL-ARM,在FS中,需要重定向输入与输出,由于在第二次更新工程时,没有加入重定向文件,导致出错,加入重定向后,问题解决。



第一个问题困扰了我差不多一周,第二个问题倒是马上就发现了


写在这里,给朋友们做个参考,同时我也共享了我的bootloader,欢迎指正,共同进步



广告一下:

我现在无业,接活哈

B/S(DIV+CSS,.NET C#,SQLServer) C/S(.NET C#) 嵌入式开发等

电话:13060063607

QQ:85669000

我在成都

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读