打印
[应用相关]

请问stm32的IAP校验怎么加?

[复制链接]
2240|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
max_v|  楼主 | 2014-1-2 22:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
现在我能实现把接收来的写直接进flash,校验怎么加啊?


沙发
cosxpeach| | 2014-1-2 22:48 | 只看该作者
尝试给BIN文件加一个异或效验,放在BIN文件头部。
然后STM32 上接收BIN文件时首先收到效验字节, 然后再接收BIN文件,接收时按字节异或,最后与BIN文件头的效验字节比较。

使用特权

评论回复
板凳
max_v|  楼主 | 2014-1-2 23:45 | 只看该作者
cosxpeach 发表于 2014-1-2 22:48
尝试给BIN文件加一个异或效验,放在BIN文件头部。
然后STM32 上接收BIN文件时首先收到效验字节, 然后再接 ...

可是bin文件是mdk生成的啊,没法改啊

使用特权

评论回复
地板
huzi2099| | 2014-1-3 01:54 | 只看该作者
在确定的地址填上CRC教研值就行了.

使用特权

评论回复
5
max_v|  楼主 | 2014-1-3 11:26 | 只看该作者
huzi2099 发表于 2014-1-3 01:54
在确定的地址填上CRC教研值就行了.

有相关的例程么?

使用特权

评论回复
6
huzi2099| | 2014-1-3 14:10 | 只看该作者
max_v 发表于 2014-1-3 11:26
有相关的例程么?

#define CRCVAL    XXXX
const

使用特权

评论回复
7
huzi2099| | 2014-1-3 14:10 | 只看该作者
本帖最后由 huzi2099 于 2014-1-3 14:14 编辑
max_v 发表于 2014-1-3 11:26
有相关的例程么?


#define CRCVAL    XXXX //教研结果,你写个函数从头到尾计算一次crc的值放这里
const u32 crcval=CRCVAL __AT__ 0x8000XXXX;//这个地址值在教研范围之外

下载后从新计算一次和crcval比较一下就行了。

使用特权

评论回复
8
max_v|  楼主 | 2014-1-3 14:45 | 只看该作者
huzi2099 发表于 2014-1-3 14:10
#define CRCVAL    XXXX //教研结果,你写个函数从头到尾计算一次crc的值放这里
const u32 crcval=CRCVAL  ...

有这方面的书吗,我想系统看下有关传输和校验啥的

使用特权

评论回复
9
huzi2099| | 2014-1-3 16:03 | 只看该作者
max_v 发表于 2014-1-3 14:45
有这方面的书吗,我想系统看下有关传输和校验啥的

stm32的CRC很简单,把数据往CRC->DR写,最后读出就是结果了

使用特权

评论回复
10
mgf006| | 2014-1-3 20:05 | 只看该作者
我是烧写再读出来看一下。

使用特权

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

本版积分规则

25

主题

170

帖子

0

粉丝