[技术问答] M451芯片,FMC读写flash中,如何使用checksum功能?

[复制链接]
2345|11
 楼主| libinskk 发表于 2019-1-24 15:11 | 显示全部楼层 |阅读模式
M451芯片,FMC读写flash中,如何使用checksum功能?
另外,在5.0V供电时,FMC正常读写的最低电压是多少?会不会出现因为电压过低而不能写成功的现象?
21mengnan 发表于 2019-1-24 20:52 | 显示全部楼层
21mengnan 发表于 2019-1-24 20:52 | 显示全部楼层
看这个只要保证你的供电高于2.5V,能让LDO正常工作就行。
21mengnan 发表于 2019-1-24 20:59 | 显示全部楼层
  1. /**
  2. * [url=home.php?mod=space&uid=247401]@brief[/url]       Get Flash Checksum
  3. *
  4. * @param[in]   u32Addr    Specific flash start address
  5. * @param[in]   i32Size    Specific a size of Flash area
  6. *
  7. * [url=home.php?mod=space&uid=266161]@return[/url]      A checksum value of a flash block.
  8. *
  9. * [url=home.php?mod=space&uid=1543424]@Details[/url]     To get VECMAP value which is the page address for remapping to vector page (0x0).
  10. *
  11. */
  12. static __INLINE uint32_t FMC_GetCheckSum(uint32_t u32Addr, int32_t i32Size)
  13. {
  14.     FMC->ISPCMD = FMC_ISPCMD_CAL_CHECKSUM;
  15.     FMC->ISPADDR = u32Addr;
  16.     FMC->ISPDAT = i32Size;
  17.     FMC->ISPTRG = 0x1;
  18. #if ISBEN
  19.     __ISB();
  20. #endif
  21.     while(FMC->ISPTRG);

  22.     FMC->ISPCMD = FMC_ISPCMD_CHECKSUM;
  23.     FMC->ISPTRG = 0x1;
  24.     while(FMC->ISPTRG);

  25.     return FMC->ISPDAT;
  26. }
21mengnan 发表于 2019-1-24 20:59 | 显示全部楼层
用这个库函数实现就行了。
21mengnan 发表于 2019-1-24 21:02 | 显示全部楼层
39785c49b74a3507e.png
库函数的位置在这。
玛尼玛尼哄 发表于 2019-1-25 22:27 | 显示全部楼层
库函数的操作
捉虫天师 发表于 2019-1-27 13:52 | 显示全部楼层
对,使用库函数操作,提供了这个库。
zhang_2013 发表于 2019-1-27 16:18 | 显示全部楼层
M451芯片仿真,用哪个MDK版本?
jasontu 发表于 2019-1-28 11:04 | 显示全部楼层
checksum用软件作就可以了。用加总的方式最快最简单
huahuagg 发表于 2019-1-28 19:48 | 显示全部楼层
不太懂这个概念,不过看上面的库函数貌似计算这个的。提供一个地址和大小,就计算出来个数,这个数是啥
天灵灵地灵灵 发表于 2019-1-29 11:10 | 显示全部楼层
huahuagg 发表于 2019-1-28 19:48
不太懂这个概念,不过看上面的库函数貌似计算这个的。提供一个地址和大小,就计算出来个数,这个数是啥 ...

checksum就是校验和,是通讯数据处理领域的术语。 检验和(checksum),在数据处理和数据通信领域中,用于校验目的地一组数据项的和。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

38

主题

77

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部