[技术问答]

求助新唐IAP功能的实现

[复制链接]
7515|23
手机看帖
扫描二维码
随时随地手机跟帖
wyq165|  楼主 | 2015-7-22 09:05 | 显示全部楼层 |阅读模式
项目需要使用蓝牙透传升级MCU固件,MCU使用的是 M453,无奈这芯片到目前我紧紧接触了三天。
仿STM32 IAP升级 写了两个代码。 一个为升级程序 (boot) ,另一个程序为测试程序(APP)。
将M453设置为 APROM 的IAP开启,boot程序烧写到APROM中,boot起始为0x0 ,然后启动boot,这一段是成功的。

boot 实现了将 APP代码烧写到 APPROM的0x5000地址开始的地址,然后跳转到0x5000地址运行APP程序断。这个过程失败了。
boot从PC端的超级终端接收 APP的.bin文件,然后烧写到APROM  的0x5000地址的时候,我查看0x5000地址后面的flash发现并没有成功写进去。

问题:
1. 是不是需要将boot代码烧到LDROM内,设置M453的LDROM 的IAP打开,然后运行boot 将APP烧录到APROM才能实现?(APROM内运行代码的时候,不能修改APROM内的值?)。
2. 如果1的情况属实,那么LDROM空间仅仅有4K,我的boot代码有8k,需要怎样才能解决我如今的问题?

09kk小熊| | 2015-7-22 09:35 | 显示全部楼层
boot肯定是放在LDROM里啊,升级程序本来就是要烧到APROM的,难道要自己擦除自己吗!

使用特权

评论回复
598330983| | 2015-7-22 11:36 | 显示全部楼层
新唐IAP Sample---NUC100SeriesBSP_v1.05.003_IAPSample
在应用编程  更新芯片flash RPROM 源代码
源代码, flash







这个例程,给你看看。


使用特权

评论回复
598330983| | 2015-7-22 11:37 | 显示全部楼层
上面的是牛版主发的,100系列的,应该大概差不多的,你结合453修改一个试试。

使用特权

评论回复
bkn1860| | 2015-7-22 11:41 | 显示全部楼层
两种方法:
1.采用新唐协议:新唐的片子LDROM是专门用来放boot代码的,他们的ISP代码比较小时可以放进去的,你可以上位机和boot都用新唐代协议那样空间肯定就够了。boos和ISP都有源代码的。
2.沿用你自己是协议:你可以考虑改一下你自己的boot代码,在进行烧录之前把boot代码从APROM的Flash区域拷贝到RAM中运行,那样就可以直接对APROM进行操作了。

使用特权

评论回复
wyq165|  楼主 | 2015-7-23 08:40 | 显示全部楼层
bkn1860 发表于 2015-7-22 11:41
两种方法:
1.采用新唐协议:新唐的片子LDROM是专门用来放boot代码的,他们的ISP代码比较小时可以放进去的 ...

已经解决,采用APROM+IAP  。 0-0x5000 装加载代码,0x5000以后装被加载的代码。
多谢各位解惑。

使用特权

评论回复
09kk小熊| | 2015-7-23 09:14 | 显示全部楼层
共享一下代码呗

使用特权

评论回复
734774645| | 2015-7-24 08:49 | 显示全部楼层
看错了,以为是做API呢。

使用特权

评论回复
veryyd| | 2016-1-6 23:28 | 显示全部楼层
学习学习,准备用wifi模块做

使用特权

评论回复
jaful| | 2016-9-1 15:30 | 显示全部楼层
可以实现吗?为什么我用MO516做app跳转不能实现!感觉跳转不了!

使用特权

评论回复
jaful| | 2016-9-1 15:33 | 显示全部楼层
FMC_SetVectorPageAddr(0x02000);       
iap_load_app(0x2000) ; 用这两句跳转不能实现!

使用特权

评论回复
jf7686| | 2016-11-18 15:57 | 显示全部楼层
wyq165 发表于 2015-7-23 08:40
已经解决,采用APROM+IAP  。 0-0x5000 装加载代码,0x5000以后装被加载的代码。
多谢各位解惑。 ...

請問大大可以分享一下 sample code 參考一下嗎?
最近也在研究IAP,論壇上的大部分都是分LDROM 和 APROM的sample。

使用特权

评论回复
wyq165|  楼主 | 2016-11-26 23:41 | 显示全部楼层
jf7686 发表于 2016-11-18 15:57
請問大大可以分享一下 sample code 參考一下嗎?
最近也在研究IAP,論壇上的大部分都是分LDROM 和 APROM ...

抱歉,这是我去年在的公司工作上搞的。那家公司用了个软件,资料拷回家都是乱码的。
现在我忘得差不多了,记得是仿的STM32 的例子。现在也没找到

使用特权

评论回复
jf7686| | 2016-11-28 11:23 | 显示全部楼层
wyq165 发表于 2016-11-26 23:41
抱歉,这是我去年在的公司工作上搞的。那家公司用了个软件,资料拷回家都是乱码的。
现在我忘得差不多了 ...

謝謝大大回覆,我已經完成了 ,跟您一樣使用APROM+IAP 的方式。
只是一些設定上需要注意一下,新唐的API需要很注意去看。感謝您。

使用特权

评论回复
wyq165|  楼主 | 2016-11-28 12:22 | 显示全部楼层
jf7686 发表于 2016-11-28 11:23
謝謝大大回覆,我已經完成了 ,跟您一樣使用APROM+IAP 的方式。
只是一些設定上需要注意一下,新唐的API ...

没帮到你啊,抱歉

使用特权

评论回复
落林花开| | 2017-2-6 19:51 | 显示全部楼层
jf7686 发表于 2016-11-28 11:23
謝謝大大回覆,我已經完成了 ,跟您一樣使用APROM+IAP 的方式。
只是一些設定上需要注意一下,新唐的API ...

请问方便给我看下代码吗?我也在研究升级,感谢。

使用特权

评论回复
mintspring| | 2017-2-7 13:26 | 显示全部楼层
噢,分享一下代码啊,学习一下经验。

使用特权

评论回复
ssmm1228| | 2017-2-7 17:58 | 显示全部楼层
mark一下    好东西

使用特权

评论回复
lixingling| | 2017-2-12 18:00 | 显示全部楼层
怎么加载,一直没有明白新塘的原理, 一个BOOTLOADR,还有一个APP,不就行了吗

使用特权

评论回复
qwe12377yu| | 2017-6-8 16:43 | 显示全部楼层
jf7686 发表于 2016-11-28 11:23
謝謝大大回覆,我已經完成了 ,跟您一樣使用APROM+IAP 的方式。
只是一些設定上需要注意一下,新唐的API ...

大大还有资料么,我最近赶这个项目,求解惑啊

使用特权

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

本版积分规则

40

主题

357

帖子

7

粉丝