首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

如何从C中调用ram内的程序[原创]

查错

我在写擦除程序时,是以下这样的,但编译时,引用汇编出错,请高手指教:
void EarseFlash(unsigned int addr)
  {
    faddr=addr;                   //擦除flash的首地址
   
    asm{
      ldhx @DoEarseFlash   //擦除程序的首地址->HX
      sthx pbase           //HX->内存变量pbase
      ldhx @EarseFlash_END  //擦除程序的末地址->HX
      sthx pend           //HX->内存变量pend
    }            
    memcpy((void *)PrgOfRam,(void *)pbase,pend-pbase); //编译时这句出现警告
    //在RAM区执行擦除程序
    asm{
        ldhx @PrgOfRam             //擦除程序在RAM区的首地址
      jsr ,X
      }                        //执行RAM区域的擦除程序
  }
返回列表