OpenEdv-开源电子网

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

分享我的项目必需品:IAP+YMODEM+CRC16+AES256+PC端软件+hex合并

    [复制链接]

0

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
104
金钱
104
注册时间
2017-7-7
在线时间
14 小时
发表于 2017-8-6 21:23:17 | 显示全部楼层
本帖最后由 Eatun 于 2017-8-11 15:01 编辑
Eatun 发表于 2017-8-5 09:22
你好,那个超级终端可以发单个字符吗?

我用串口助手发送两个1后进入bin文件接收状态,串口助手会接收C ...

发送的问题解决了

正点原子逻辑分析仪DL16劲爆上市
回复 支持 反对

使用道具 举报

8

主题

41

帖子

0

精华

初级会员

Rank: 2

积分
119
金钱
119
注册时间
2017-6-1
在线时间
26 小时
发表于 2017-8-14 11:36:29 | 显示全部楼层
楼主真实大大滴良心,不顶不是人
回复 支持 反对

使用道具 举报

8

主题

41

帖子

0

精华

初级会员

Rank: 2

积分
119
金钱
119
注册时间
2017-6-1
在线时间
26 小时
发表于 2017-8-14 16:41:27 | 显示全部楼层
楼主,你的这两个表放哪了?我怎么找不到
unsigned char *sBox; //!< Final location of s-box.
unsigned char *sBoxInv; //!< Final location of inverse s-box.
回复 支持 反对

使用道具 举报

119

主题

439

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1185
金钱
1185
注册时间
2015-9-18
在线时间
422 小时
发表于 2017-8-17 12:00:05 | 显示全部楼层
最近在看ymodem,ymodem.c,Receive_Packet函数,有个疑问,希望得到阁下指点。

000.png

如何理解CA帧和ABORT1帧/ABORT2帧的区别?

ABORT1帧/ABORT2帧强调是发送者取消发送。CA帧跟它们有什么区别呢?

恳请指教,感谢。
电子爱好者
回复 支持 反对

使用道具 举报

1

主题

4

帖子

0

精华

初级会员

Rank: 2

积分
116
金钱
116
注册时间
2012-11-13
在线时间
20 小时
发表于 2017-8-18 18:03:58 | 显示全部楼层
最近也在研究STM32 IAP,多谢分享!
回复 支持 反对

使用道具 举报

1

主题

49

帖子

0

精华

初级会员

Rank: 2

积分
123
金钱
123
注册时间
2017-8-21
在线时间
32 小时
发表于 2017-8-21 11:25:55 | 显示全部楼层
真的很不错
回复 支持 反对

使用道具 举报

1

主题

49

帖子

0

精华

初级会员

Rank: 2

积分
123
金钱
123
注册时间
2017-8-21
在线时间
32 小时
发表于 2017-8-21 11:44:25 | 显示全部楼层
真的很不错
回复 支持 反对

使用道具 举报

20

主题

122

帖子

0

精华

高级会员

Rank: 4

积分
635
金钱
635
注册时间
2014-6-20
在线时间
168 小时
发表于 2017-9-6 10:55:40 | 显示全部楼层
为啥一年前没看到,大赞楼主!
回复 支持 反对

使用道具 举报

12

主题

72

帖子

0

精华

高级会员

Rank: 4

积分
504
金钱
504
注册时间
2015-9-9
在线时间
59 小时
发表于 2017-9-6 11:11:42 | 显示全部楼层
顶一下                  
毕业两年才学STM32...
这些都没关系,重点是自己到底成长了没有
回复 支持 反对

使用道具 举报

6

主题

44

帖子

0

精华

高级会员

Rank: 4

积分
767
金钱
767
注册时间
2017-7-25
在线时间
127 小时
发表于 2017-9-15 11:23:51 来自手机 | 显示全部楼层
Eatun 发表于 2017-7-18 20:43
在程序中我使用的升级方式是通过串口发送字符‘1’(可自行修改),串口收到字符‘1’后,向指定的地址写入0x ...

应该是在AAP程序里面
回复 支持 反对

使用道具 举报

12

主题

241

帖子

0

精华

高级会员

Rank: 4

积分
806
金钱
806
注册时间
2017-8-17
在线时间
159 小时
发表于 2017-9-16 16:28:04 | 显示全部楼层
已收藏,楼主威武
回复 支持 反对

使用道具 举报

6

主题

44

帖子

0

精华

高级会员

Rank: 4

积分
767
金钱
767
注册时间
2017-7-25
在线时间
127 小时
发表于 2017-9-18 20:05:56 来自手机 | 显示全部楼层
不加密生成的bin文件能接收到吗,比如用MDK自带的生成bin文件,你的ymodem.c里面接收的时候有解密代码,所以想问下没有加密的bin文件可不可以用您的源码接收到?
回复 支持 反对

使用道具 举报

6

主题

44

帖子

0

精华

高级会员

Rank: 4

积分
767
金钱
767
注册时间
2017-7-25
在线时间
127 小时
发表于 2017-9-18 20:12:06 来自手机 | 显示全部楼层
Eatun 发表于 2017-8-6 21:23
发送的问题解决了

你用超级终端做IAP升级使用ymodem协议发送能成功吗?是正点原子的板子么。。
回复 支持 反对

使用道具 举报

15

主题

786

帖子

5

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3223
金钱
3223
注册时间
2015-7-26
在线时间
811 小时
 楼主| 发表于 2017-9-19 08:45:51 | 显示全部楼层
年华七堇 发表于 2017-9-18 20:05
不加密生成的bin文件能接收到吗,比如用MDK自带的生成bin文件,你的ymodem.c里面接收的时候有解密代码,所 ...

把解密代码去掉即可
我的博客:http://blog.csdn.net/itdo_just
回复 支持 反对

使用道具 举报

6

主题

44

帖子

0

精华

高级会员

Rank: 4

积分
767
金钱
767
注册时间
2017-7-25
在线时间
127 小时
发表于 2017-9-19 10:17:46 来自手机 | 显示全部楼层
229382777@qq.co 发表于 2017-9-19 08:45
把解密代码去掉即可

去掉了,发送的时候一直这样子不会动了
IMG_20170919_101455.jpg
回复 支持 反对

使用道具 举报

6

主题

44

帖子

0

精华

高级会员

Rank: 4

积分
767
金钱
767
注册时间
2017-7-25
在线时间
127 小时
发表于 2017-9-19 10:25:13 | 显示全部楼层
年华七堇 发表于 2017-9-19 10:17
去掉了,发送的时候一直这样子不会动了

清晰一点的

清晰一点的

清晰一点的
回复 支持 反对

使用道具 举报

6

主题

44

帖子

0

精华

高级会员

Rank: 4

积分
767
金钱
767
注册时间
2017-7-25
在线时间
127 小时
发表于 2017-9-19 10:34:52 | 显示全部楼层
229382777@qq.co 发表于 2017-9-19 08:45
把解密代码去掉即可

用超级终端发送的问题,因为原子的板子有一键下载,所以把代码改成直接在死循环里面等待接收文件,屏幕会一直打印“C”,然后直接发送了bin文件,就出错了
捕获.PNG
捕获1.PNG
回复 支持 反对

使用道具 举报

15

主题

786

帖子

5

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3223
金钱
3223
注册时间
2015-7-26
在线时间
811 小时
 楼主| 发表于 2017-9-19 12:50:06 | 显示全部楼层
年华七堇 发表于 2017-9-19 10:34
用超级终端发送的问题,因为原子的板子有一键下载,所以把代码改成直接在死循环里面等待接收文件,屏幕会 ...

你再参考我代码看一下吧,能收到C说明数据传输应该是问题了,我太久没接触这段代码了
我的博客:http://blog.csdn.net/itdo_just
回复 支持 反对

使用道具 举报

6

主题

44

帖子

0

精华

高级会员

Rank: 4

积分
767
金钱
767
注册时间
2017-7-25
在线时间
127 小时
发表于 2017-9-21 19:46:47 | 显示全部楼层
229382777@qq.co 发表于 2017-9-19 12:50
你再参考我代码看一下吧,能收到C说明数据传输应该是问题了,我太久没接触这段代码了

IAP 超级终端用ymodem发送成功了 原子的MINI板 主要是地址的设置不正确  谢谢你的分享
回复 支持 反对

使用道具 举报

4

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
173
金钱
173
注册时间
2016-11-25
在线时间
37 小时
发表于 2017-9-22 22:34:17 | 显示全部楼层
感谢分享,学习了!
回复 支持 反对

使用道具 举报

6

主题

44

帖子

0

精华

高级会员

Rank: 4

积分
767
金钱
767
注册时间
2017-7-25
在线时间
127 小时
发表于 2017-9-23 16:46:40 来自手机 | 显示全部楼层
请教个问题,按照你的步骤修改了PC加密软件,运行时还是报错,我的电脑是基于x64的WIN10系统,想问下这个步骤跟电脑系统有没有关系的?
回复 支持 反对

使用道具 举报

6

主题

44

帖子

0

精华

高级会员

Rank: 4

积分
767
金钱
767
注册时间
2017-7-25
在线时间
127 小时
发表于 2017-9-23 16:47:34 来自手机 | 显示全部楼层
用的VS2013
回复 支持 反对

使用道具 举报

6

主题

44

帖子

0

精华

高级会员

Rank: 4

积分
767
金钱
767
注册时间
2017-7-25
在线时间
127 小时
发表于 2017-9-24 14:12:11 | 显示全部楼层
年华七堇 发表于 2017-9-23 16:46
请教个问题,按照你的步骤修改了PC加密软件,运行时还是报错,我的电脑是基于x64的WIN10系统,想问下这个步 ...

解决方法见图,VS2013  WIN10

改这个

改这个
回复 支持 反对

使用道具 举报

12

主题

68

帖子

0

精华

初级会员

Rank: 2

积分
176
金钱
176
注册时间
2016-9-20
在线时间
56 小时
发表于 2017-10-13 09:57:48 | 显示全部楼层
神仙打架啊、、收藏了
回复 支持 反对

使用道具 举报

6

主题

32

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
216
金钱
216
注册时间
2017-8-21
在线时间
35 小时
发表于 2017-10-13 10:48:12 | 显示全部楼层
顶~~~~~~~
回复 支持 反对

使用道具 举报

0

主题

26

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
200
金钱
200
注册时间
2017-3-20
在线时间
64 小时
发表于 2017-10-13 17:58:05 | 显示全部楼层
学习学习
回复 支持 反对

使用道具 举报

12

主题

68

帖子

0

精华

初级会员

Rank: 2

积分
176
金钱
176
注册时间
2016-9-20
在线时间
56 小时
发表于 2017-10-18 13:53:50 | 显示全部楼层
你好,updata_byte = STMFLASH_ReadHalfWord(0x8004A38);//读取指定地址的值     这里指定地址有什么讲究么?还有我看你程序里都没有找到你往这个地址里写数据。
回复 支持 反对

使用道具 举报

6

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
106
金钱
106
注册时间
2017-7-18
在线时间
38 小时
发表于 2017-10-22 22:33:46 | 显示全部楼层
大佬想问一下,这个加密解密是一次16位进行的,但是最后一点数据不足十六位会怎么补足啊?我这边加密成功之后解密出来前面都对最后多出来的四位不对。。。文件大小也跟MDK自动生成的bin一样大但是最后多出来的就是不一样。。。
回复 支持 反对

使用道具 举报

1

主题

5

帖子

0

精华

新手上路

积分
32
金钱
32
注册时间
2017-10-20
在线时间
8 小时
发表于 2017-10-24 11:29:19 | 显示全部楼层
很详细,谢谢楼主的教导  哈哈哈
回复 支持 反对

使用道具 举报

1

主题

24

帖子

0

精华

高级会员

Rank: 4

积分
590
金钱
590
注册时间
2012-12-21
在线时间
108 小时
发表于 2017-10-24 17:09:54 | 显示全部楼层
移植成功了,很不错,感谢
回复 支持 反对

使用道具 举报

1

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
82
金钱
82
注册时间
2014-8-5
在线时间
12 小时
发表于 2017-10-24 23:48:09 | 显示全部楼层
mark!!!!!!!!!
回复 支持 反对

使用道具 举报

23

主题

344

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2305
金钱
2305
注册时间
2017-7-6
在线时间
280 小时
发表于 2017-11-17 15:29:57 | 显示全部楼层
楼主 64位WIN7的PC可以用超级终端或则secureCRT吗
回复 支持 反对

使用道具 举报

15

主题

786

帖子

5

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3223
金钱
3223
注册时间
2015-7-26
在线时间
811 小时
 楼主| 发表于 2017-11-18 08:50:03 | 显示全部楼层
1547674987 发表于 2017-11-17 15:29
楼主 64位WIN7的PC可以用超级终端或则secureCRT吗

超级终端有win7版本,其他软件支持ymodem也行
我的博客:http://blog.csdn.net/itdo_just
回复 支持 反对

使用道具 举报

23

主题

344

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2305
金钱
2305
注册时间
2017-7-6
在线时间
280 小时
发表于 2017-11-20 08:51:13 | 显示全部楼层
229382777@qq.co 发表于 2017-11-18 08:50
超级终端有win7版本,其他软件支持ymodem也行

好的,谢谢 我去找找
回复 支持 反对

使用道具 举报

64

主题

446

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1032
金钱
1032
注册时间
2017-7-26
在线时间
275 小时
发表于 2017-11-20 19:55:01 | 显示全部楼层
Xy201207 发表于 2017-1-11 16:17
固件不是经过BOOTLOADER解密后再写进FLSH里面的吗? 如果我在读出,应该就是没有加密的吧

未解密的数据传输到mcu,mcu解密烧写进自身flash。这个过程有办法读出吗?
或者加个加密芯片,app开头验证密钥,这样就算他们把程序读出来了
没有加密芯片的密钥也没用。
回复 支持 反对

使用道具 举报

64

主题

446

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1032
金钱
1032
注册时间
2017-7-26
在线时间
275 小时
发表于 2017-11-20 20:01:11 | 显示全部楼层
229382777@qq.co 发表于 2017-7-29 13:24
第一次烧的是hex;需要转成bin的只有app程序;无论任何情况下,只要复位了都会先运行bootloader再跳转到A ...

楼主,其实会不会弄一个类似刷机的开机模式比较好。就像安卓机按音量键开机时刷机模式。
感觉用标志位不太靠谱
回复 支持 反对

使用道具 举报

23

主题

344

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2305
金钱
2305
注册时间
2017-7-6
在线时间
280 小时
发表于 2017-11-21 17:54:27 | 显示全部楼层
楼主你代码里面是用的ymodem还是ymodem-G协议?另外我在发送文件的时候失败,准备仿真Ymodem_Receive() ,给个建议呗
回复 支持 反对

使用道具 举报

23

主题

344

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2305
金钱
2305
注册时间
2017-7-6
在线时间
280 小时
发表于 2017-11-22 16:47:17 | 显示全部楼层
楼主,我用超级终端给F103发BIN文件,为啥就收到了第一个数据包,后面死活收不到数据了
回复 支持 反对

使用道具 举报

15

主题

786

帖子

5

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3223
金钱
3223
注册时间
2015-7-26
在线时间
811 小时
 楼主| 发表于 2017-11-22 19:17:20 | 显示全部楼层
1547674987 发表于 2017-11-22 16:47
楼主,我用超级终端给F103发BIN文件,为啥就收到了第一个数据包,后面死活收不到数据了

你的问题我没遇到过,代码是可以使用没问题的,前面也有几个网友移植成功
我的博客:http://blog.csdn.net/itdo_just
回复 支持 反对

使用道具 举报

23

主题

344

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2305
金钱
2305
注册时间
2017-7-6
在线时间
280 小时
发表于 2017-11-22 22:57:33 | 显示全部楼层
229382777@qq.co 发表于 2017-11-22 19:17
你的问题我没遇到过,代码是可以使用没问题的,前面也有几个网友移植成功

好了,我用自己开发板能跑了,估计我公司串口有点问题
回复 支持 反对

使用道具 举报

23

主题

344

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2305
金钱
2305
注册时间
2017-7-6
在线时间
280 小时
发表于 2017-12-1 12:07:55 | 显示全部楼层
楼主,你有没有试过不用超级终端,用ymodem的发送协议来完成一个单片机给另外一个单片机升级
回复 支持 反对

使用道具 举报

15

主题

786

帖子

5

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3223
金钱
3223
注册时间
2015-7-26
在线时间
811 小时
 楼主| 发表于 2017-12-1 12:15:16 | 显示全部楼层
1547674987 发表于 2017-12-1 12:07
楼主,你有没有试过不用超级终端,用ymodem的发送协议来完成一个单片机给另外一个单片机升级

一样的,把ymodem移植进去就行了
我的博客:http://blog.csdn.net/itdo_just
回复 支持 反对

使用道具 举报

23

主题

344

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2305
金钱
2305
注册时间
2017-7-6
在线时间
280 小时
发表于 2017-12-1 13:30:40 | 显示全部楼层
229382777@qq.co 发表于 2017-12-1 12:15
一样的,把ymodem移植进去就行了

遇到点问题,发送失败,我正在仿真排坑中。源码原封不动 肯定不行的
回复 支持 反对

使用道具 举报

2

主题

17

帖子

0

精华

初级会员

Rank: 2

积分
61
金钱
61
注册时间
2017-5-16
在线时间
14 小时
发表于 2017-12-4 17:32:07 | 显示全部楼层
mark  !!!
回复 支持 反对

使用道具 举报

0

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
166
金钱
166
注册时间
2015-8-5
在线时间
45 小时
发表于 2017-12-27 11:22:09 | 显示全部楼层
非常感谢,正好全部能用上。
回复 支持 反对

使用道具 举报

2

主题

21

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
236
金钱
236
注册时间
2017-9-13
在线时间
165 小时
发表于 2017-12-28 10:17:25 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

0

主题

5

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2014-3-12
在线时间
1 小时
发表于 2018-1-24 09:45:55 | 显示全部楼层
HEX2BIN 程序是有问题的,加密的时候,每16字节,只加密了第一个字节,后面15个根本没变化。
回复 支持 反对

使用道具 举报

0

主题

5

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2014-3-12
在线时间
1 小时
发表于 2018-1-24 10:00:45 | 显示全部楼层
                for (i = 0; i < Length; i++)
                {
                    for (j = 0; j < 16; j++)
                    {
                        bufferIn[j] = buffer[i * 16 + j];
                    }
                    AESDLL.aesEncrypt(ref bufferIn[0], ref bufferOut[0]);//认为这里有问题 每次都是数值第一个字节
                    for (j = 0; j < 16; j++)
                    {
                        bufferEnc[i * 16 + j] = bufferIn[j];
                    }
                }
回复 支持 反对

使用道具 举报

5

主题

266

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1523
金钱
1523
注册时间
2016-7-20
在线时间
155 小时
发表于 2018-1-24 11:06:40 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

13

主题

145

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
469
金钱
469
注册时间
2015-5-14
在线时间
65 小时
发表于 2018-1-24 14:23:19 | 显示全部楼层
感谢楼书提供的学习资料,现在已经实现了数据传输,问题在地址分配上,每次分配的地址都不对,还在继续努力。
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-22 04:57

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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