目前在做IAP升级,将升级程序从外部E2PROM导入RAM后,需要修改PC指针指向RAM空间的首地址。
求问:修改PC值该咋办?用C语言咋实现?
IAR好像不支持嵌入汇编。
不胜感激!
支持汇编和C的混合编程,类似于asm("..");
回复 楼主 bsnzc 的帖子
char *Flash_ptr; // Flash pointer
Flash_ptr = (char *) 0x1040; // Initialize Flash pointer
类似于这种吧
// 从地址FC00开始运行
((void(*)void)0xFC00)();
回复 4楼 Triton.zhang 的帖子
使用该方法有如下的报错信息:
Error[Pe018]: expected a ")" E:\Pro_MSP430\main.c 58
Error[Pe109]: expression must have (pointer-to-) function type E:\Pro_MSP430\main.c 58
Error while running C/C++ compiler
求教!
asm("mov #0F800h,PC"); //把F800赋给PC