完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
能有大神解释一下这个程序是代表什么意思吗?真心求助啊!
CPUCON1 &= 0xFFF7; VECSEG = 0xC1; #pragma asm JMPS 0xC1,0x0000 //或者jmp0xC10000 #pragma endasm |
|
相关推荐
9个回答
|
|
两个工程间跳转的实现
在许多应用场合,经常需要在一个MCU内烧入两个工程,通过软件的方式在两个工程之间进行跳转。最常用的应用就是汽车上应用CAN BSL进行代码更新,由于每次不可能将模块从车下拆下来,所以通过CAN总线进行软件更新就变得很重要。 为了实现类似的功能,通常是将CAN BSL软件放在0xC0段,而将应用代码放在其它段,如果不更新时,就跳转到应用程序段。 为了实现这种功能,需要注意两部份: 1.跳转功能实现,按如下的语句就可以实现 CPUCON1 &= 0xFFF7; VECSEG = 0xC1; __asm("JMPS 0xC1, 0x0000"); 2.把应用程序分配在另其它的地址段,比如0xC1. 这可以通过TASKING配置实现,比如properties/c/c++ build/memory中将0xC0段屏蔽掉(reserve) 需要注意的是,由于复位时,VECSEG的复位值0Xc0,所以从FLASH启动时,启动地址只有这一个,因此放在0xc0段以外的代码,如果不是用调试器而是让它free run的情况下,程序是不会跑的。 |
|
|
|
代码跳转到0xc10000
|
|
|
|
小跑堂 发表于 2015-8-12 20:09 CPUCON1 &= 0xFFF7 大神,这句是什么意思呢 &在英飞凌的手册中没有类似的注释,然后 ;= 代表什么意思啊?还望再指教一下! |
|
|
|
帮顶个,小弟不才,不能帮忙了
|
|
|
|
这两个帖子不错http://www.infineonic.org/module/forum/thread-539502-1-1.html
http://infineonic.eefocus.com/bbs/article_1149_190298.html可以看看,是这方面的 |
|
|
|
学习了。
|
|
|
|
lhy774098554 发表于 2015-8-21 15:24 帖子都看过了,还是弄不明白啊,比如说Start_V3.A66应该如何修改,中断向量表应该如何设置,不知道可有哪位朋友有源码例程的,希望分享一下。这个对我来说很重要,领导最近催的很急。 |
|
|
|
小弟也不懂只能帮顶了!
|
|
|
|
lhy774098554 发表于 2015-8-21 15:27 我将c0段reserve侯,编译出错,是怎么回事 xc2785 |
|
|
|
只有小组成员才能发言,加入小组>>
TLE9879_BLDC电机启动需要用手拨一下才能转动,怎么解决?
2525 浏览 2 评论
3968 浏览 9 评论
请问TLE5012B_E1000 启动后为什么位置不能正确获取
3439 浏览 9 评论
1109 浏览 8 评论
3385 浏览 7 评论
269浏览 2评论
111浏览 2评论
230浏览 2评论
TLE9879_BLDC电机启动需要用手拨一下才能转动,怎么解决?
2543浏览 2评论
如果是打开已有的dave工程,怎么查看这个工程选择的mcu型号?
257浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-17 12:24 , Processed in 0.771950 second(s), Total 95, Slave 78 queries .
Powered by 电子发烧友网
© 2015 www.ws-dc.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号