OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7810|回复: 5

移植nonplus的IAP程序改成485实现在线升级功能怎么加入CRC校验?

[复制链接]

4

主题

12

帖子

0

精华

新手上路

积分
48
金钱
48
注册时间
2014-6-17
在线时间
0 小时
发表于 2014-7-5 16:07:53 | 显示全部楼层 |阅读模式
有付出才有收获
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-7-5 21:11:28 | 显示全部楼层
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

4

主题

12

帖子

0

精华

新手上路

积分
48
金钱
48
注册时间
2014-6-17
在线时间
0 小时
 楼主| 发表于 2014-7-7 08:20:32 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
原子吃快餐啊。这是万解的回答,让我们初学者情何以堪
我说下我的想法吧,原子给点专业的意见,让程序更加的可靠实用
我用烧写器软件如EASYPRO或MINI RO之类的,打开BIN文件自动得到个累加校验
然后我用第三方软件在BIN后边加入这个累加校验,更可靠点后边再加上这个累加校验的取反码。
然后我在主程序根据modbus协议,加个主机,从机之类的地址识别。
当主程序收到IAP的升级程序,识别主机从机地址符合就开始接收数据。除掉主机,从机地址开始对接收的码进行累加校验
当主程序累加校验与BIN后边的累加校验码和取反码一致则接收完成。进入IAP升级。
当然这是个比较简单的校验比起CRC校验还是有一定的差距。简单的项目理论上可以满足应用需要。
有付出才有收获
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-7-7 10:12:51 | 显示全部楼层
回复【3楼】学海无崖:
---------------------------------
初学者多看资料没错。
modbus是很简单有效的协议,广泛用于串口通信,学会了,很有用。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-7-7 10:13:56 | 显示全部楼层
crc和校验和,效果都一样,一般校验和已经很好的满足数据检测了,比crc速度快,还不占什么flash。
所以,对于modbus这种,推荐用校验和就可以了。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

4

主题

12

帖子

0

精华

新手上路

积分
48
金钱
48
注册时间
2014-6-17
在线时间
0 小时
 楼主| 发表于 2014-7-7 10:59:39 | 显示全部楼层
回复【5楼】正点原子:
---------------------------------
好的。多谢正点原子,加上原子的CRC8_16程序,调试程序可以输出升级程序BIN的CRC校验码
http://www.openedv.com/posts/list/7251.htm

主程序再加上主机从机地址识别理论上就可以了
我是这样实现的可能过程有点繁索。还有更简单的方法。
发我的方法让大家参考一下
我用UltraEdit软件导入IAP的升级包BIN文件,在后边插入调试程序输出的CRC校验码16位(也可以用专用的CRC生成软件导入BIN文件直接生成上位机可以直接生成)
用串口调试程序发送主机从机地址与BIN文件的校验码16位也可以用modbus协议,这边简单点用四组数据,当主机程序接收到主机从机地址符合
开始接收数据,当接收到的数据经过CRC8_16程序检验与串口发的校验码一致则进入IAP程序升级。


UltraEdit-32 Version16 绿色破解版UltraEdit_v16_Portable_Cracked.zip

16.49 MB, 下载次数: 821

有付出才有收获
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-6 14:51

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表