打印
[技术问答]

M451芯片,FMC读写flash中,如何使用checksum功能?

[复制链接]
1542|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 | 只看该作者
/**
* [url=home.php?mod=space&uid=247401]@brief[/url]       Get Flash Checksum
*
* @param[in]   u32Addr    Specific flash start address
* @param[in]   i32Size    Specific a size of Flash area
*
* [url=home.php?mod=space&uid=266161]@return[/url]      A checksum value of a flash block.
*
* [url=home.php?mod=space&uid=1543424]@Details[/url]     To get VECMAP value which is the page address for remapping to vector page (0x0).
*
*/
static __INLINE uint32_t FMC_GetCheckSum(uint32_t u32Addr, int32_t i32Size)
{
    FMC->ISPCMD = FMC_ISPCMD_CAL_CHECKSUM;
    FMC->ISPADDR = u32Addr;
    FMC->ISPDAT = i32Size;
    FMC->ISPTRG = 0x1;
#if ISBEN
    __ISB();
#endif
    while(FMC->ISPTRG);

    FMC->ISPCMD = FMC_ISPCMD_CHECKSUM;
    FMC->ISPTRG = 0x1;
    while(FMC->ISPTRG);

    return FMC->ISPDAT;
}

使用特权

评论回复
5
21mengnan| | 2019-1-24 20:59 | 只看该作者
用这个库函数实现就行了。

使用特权

评论回复
6
21mengnan| | 2019-1-24 21:02 | 只看该作者

库函数的位置在这。

使用特权

评论回复
7
玛尼玛尼哄| | 2019-1-25 22:27 | 只看该作者
库函数的操作

使用特权

评论回复
8
捉虫天师| | 2019-1-27 13:52 | 只看该作者
对,使用库函数操作,提供了这个库。

使用特权

评论回复
9
zhang_2013| | 2019-1-27 16:18 | 只看该作者
M451芯片仿真,用哪个MDK版本?

使用特权

评论回复
10
jasontu| | 2019-1-28 11:04 | 只看该作者
checksum用软件作就可以了。用加总的方式最快最简单

使用特权

评论回复
11
huahuagg| | 2019-1-28 19:48 | 只看该作者
不太懂这个概念,不过看上面的库函数貌似计算这个的。提供一个地址和大小,就计算出来个数,这个数是啥

使用特权

评论回复
12
天灵灵地灵灵| | 2019-1-29 11:10 | 只看该作者
huahuagg 发表于 2019-1-28 19:48
不太懂这个概念,不过看上面的库函数貌似计算这个的。提供一个地址和大小,就计算出来个数,这个数是啥 ...

checksum就是校验和,是通讯数据处理领域的术语。 检验和(checksum),在数据处理和数据通信领域中,用于校验目的地一组数据项的和。

使用特权

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

本版积分规则

32

主题

67

帖子

1

粉丝