打印
[技术问答]

求助新唐IAP功能的实现

[复制链接]
8468|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修改一个试试。

使用特权

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

使用特权

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

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

使用特权

评论回复
7
09kk小熊| | 2015-7-23 09:14 | 只看该作者
共享一下代码呗

使用特权

评论回复
8
734774645| | 2015-7-24 08:49 | 只看该作者
看错了,以为是做API呢。

使用特权

评论回复
9
veryyd| | 2016-1-6 23:28 | 只看该作者
学习学习,准备用wifi模块做

使用特权

评论回复
10
jaful| | 2016-9-1 15:30 | 只看该作者
可以实现吗?为什么我用MO516做app跳转不能实现!感觉跳转不了!

使用特权

评论回复
11
jaful| | 2016-9-1 15:33 | 只看该作者
FMC_SetVectorPageAddr(0x02000);       
iap_load_app(0x2000) ; 用这两句跳转不能实现!

使用特权

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

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

使用特权

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

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

使用特权

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

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

使用特权

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

没帮到你啊,抱歉

使用特权

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

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

使用特权

评论回复
17
mintspring| | 2017-2-7 13:26 | 只看该作者
噢,分享一下代码啊,学习一下经验。

使用特权

评论回复
18
ssmm1228| | 2017-2-7 17:58 | 只看该作者
mark一下    好东西

使用特权

评论回复
19
lixingling| | 2017-2-12 18:00 | 只看该作者
怎么加载,一直没有明白新塘的原理, 一个BOOTLOADR,还有一个APP,不就行了吗

使用特权

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

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

使用特权

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

本版积分规则

40

主题

358

帖子

7

粉丝