打印

请教DrvFMC_Write函数

[复制链接]
2735|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
starowen|  楼主 | 2011-2-24 13:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
int32_t DrvFMC_Write(uint32_t u32addr, uint32_t u32data)
{
    FMC->ISPCMD.FCTRL = 1;
FMC->ISPCMD.FCEN = 0;
FMC->ISPCMD.FOEN = 1;
    FMC->ISPADR = u32addr;
FMC->ISPDAT = u32data;
FMC->ISPTRG.ISPGO = 1;
__ISB();
while (FMC->ISPTRG.ISPGO);

if (FMC->ISPCON.ISPFF == 1)
{
  FMC->ISPCON.ISPFF = 1;
  return E_DRVFMC_ERR_ISP_FAIL;
}

return 0;
}

请教__ISB();这个指令在这里起什么作用呢
屏蔽掉这个指令 数据也可以正常写入到DATA FLASH中

相关帖子

沙发
6019赵文| | 2011-2-24 19:17 | 只看该作者
哪来的这个函数?

使用特权

评论回复
板凳
starowen|  楼主 | 2011-2-25 07:36 | 只看该作者
本帖最后由 starowen 于 2011-2-25 07:44 编辑

这个函数是在M051SeriesBSP_CMSIS\M051SeriesBSP\NuvotonPlatform_Keil\Src\Driver里面
是写 LDROM和 DataFlash 的函数
M051SeriesBSP_CMSIS 是芯唐上下载的
M051SeriesBSP_CMSIS_v1.00.001.zip (1.36 MB)

使用特权

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

本版积分规则

2

主题

10

帖子

1

粉丝