OpenEdv-开源电子网

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

IAP在MiniSTM32上的移植(安全性:AES、协议:ymodem、发送工具:超级终端)

[复制链接]

6

主题

44

帖子

0

精华

高级会员

Rank: 4

积分
767
金钱
767
注册时间
2017-7-25
在线时间
127 小时
发表于 2017-10-1 18:45:36 | 显示全部楼层 |阅读模式
首先得感谢给我出题的幕后大神,移植好这个工程也花了点儿时间的,这里面也就AES加密的源码没有去仔细分析了,在这个论坛学习了不少东西,花点时间写个分享值得的。分享下心得吧:
    1、stmflash.h这个头文件里面的地址一定要设置正确,当然在Mini板上我已经设置好了,要是在其他板上用千万仔细多看几遍
    2、刚开始用超级终端可能不太会,多用几次百度百度就好了,我在文件夹放了发送步骤的截图,不懂得可以看下
    3、在带操作系统下的BootLoader跳转到APP的时候需要操作FAULTMASK与CONTROL两个寄存器,没有的话跳转之后中断部分的程序会出问题
    4、移植前的工程使用ymodem接收的时候对flash擦除操作有问题,改正了只能接收一次升级的bug
    5、带操作系统使用的时候需要把Key任务堆栈改大一点,因为这个任务是用来接收数据的,里面有一个1K的数组,太小了就会hardfault
    6、加密的时候用VS2013生成DLL文件,第三步要设置正确见百度 https://jingyan.baidu.com/article/67508eb43f91869cca1ce49c.html
    7、移植前的工程参考链接 http://www.openedv.com/forum.php?mod=viewthread&tid=78079 资料可以直接下载他的,我就只上传BootLoader工程与APP文件,还有加密好的BIN及步骤截图

移植好的BootLoader与TRC实验APP.zip

13.99 MB, 下载次数: 4622

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

使用道具 举报

14

主题

1592

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
2622
金钱
2622
注册时间
2014-7-17
在线时间
350 小时
发表于 2017-10-2 09:06:47 | 显示全部楼层
回复 支持 反对

使用道具 举报

23

主题

344

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2305
金钱
2305
注册时间
2017-7-6
在线时间
280 小时
发表于 2017-11-20 14:05:18 | 显示全部楼层
感谢楼主分享,之前我找的一些官方代码都不是F1的,自己改又嫌麻烦
回复 支持 反对

使用道具 举报

6

主题

44

帖子

0

精华

高级会员

Rank: 4

积分
767
金钱
767
注册时间
2017-7-25
在线时间
127 小时
 楼主| 发表于 2018-3-27 17:16:48 | 显示全部楼层
本帖最后由 年华七堇 于 2020-12-21 08:43 编辑

一个不错的学习网站
回复 支持 反对

使用道具 举报

4

主题

13

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2018-4-2
在线时间
6 小时
发表于 2018-4-10 23:16:21 | 显示全部楼层
楼主可以做个使用的说明吗,谢谢
回复 支持 反对

使用道具 举报

4

主题

13

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2018-4-2
在线时间
6 小时
发表于 2018-4-10 23:18:41 | 显示全部楼层
我把myfirst-Bootloader下到单片机里,然后用超级终端发送myfirst-APP(RTC时钟)到单片机显示设备无反应,
第三步要设置正确见百度 https://jingyan.baidu.com/article/67508eb43f91869cca1ce49c.html,这一步是做什么的呀?
回复 支持 反对

使用道具 举报

4

主题

13

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2018-4-2
在线时间
6 小时
发表于 2018-4-10 23:19:36 | 显示全部楼层
YTLCC 发表于 2018-4-10 23:18
我把myfirst-Bootloader下到单片机里,然后用超级终端发送myfirst-APP(RTC时钟)到单片机显示设备无反应, ...

我没有用加密所以我就没做这一步
回复 支持 反对

使用道具 举报

9

主题

39

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
273
金钱
273
注册时间
2013-3-11
在线时间
72 小时
发表于 2018-4-14 09:49:42 | 显示全部楼层

//////////////////////////////////////////////////////////////////////////////////////////////////////
//用户根据自己的需要设置
#define STM32_FLASH_SIZE 64                          //所选STM32的FLASH容量大小(单位为K)
#define STM32_FLASH_WREN 1              //使能FLASH写入(0,不是能;1,使能)
//////////////////////////////////////////////////////////////////////////////////////////////////////

//FLASH起始地址
#define STM32_FLASH_BASE 0x08000000         //STM32 FLASH的起始地址
#define USER_FLASH_LAST_PAGE_ADDRESS  0x0800F800
#define USER_FLASH_END_ADDRESS        0x0800FFFF /* 64 KBytes */
#define FLASH_PAGE_SIZE               0x400      /* 1 Kbytes */

/* define the address from where user application will be loaded,
   the application address should be a start sector address */
#define APPLICATION_ADDRESS     0x08008000

/* Get the number of Sector from where the user program will be loaded */
#define  FLASH_PAGE_NUMBER      (uint32_t)((APPLICATION_ADDRESS - 0x08000000) >> 12)

/* Compute the mask to test if the Flash memory, where the user program will be
   loaded, is write protected */
#define  FLASH_PROTECTED_PAGES   ((uint32_t)~((1 << FLASH_PAGE_NUMBER) - 1))

/* define the user application size */
#define USER_FLASH_SIZE   0x08000
//FLASH解锁键值

楼主还在吗,这几个地址这么设置哪里不对了?我的是103C8  64K flash 20K RAM的,终端助手烧录进去一直提示Illegal Address,我把APP用烧录器烧录进去是可以正常jump的,所以估计是上面的地址哪里不对了
回复 支持 反对

使用道具 举报

6

主题

44

帖子

0

精华

高级会员

Rank: 4

积分
767
金钱
767
注册时间
2017-7-25
在线时间
127 小时
 楼主| 发表于 2018-4-28 08:02:41 来自手机 | 显示全部楼层
kaxilion 发表于 2018-4-14 09:49
////////////////////////////////////////////////////////////////////////////////////////////////// ...

这个……都已经快不记得了,把所有的代码好好看几遍,我这个拿到mini板可以直接用的
回复 支持 反对

使用道具 举报

6

主题

44

帖子

0

精华

高级会员

Rank: 4

积分
767
金钱
767
注册时间
2017-7-25
在线时间
127 小时
 楼主| 发表于 2018-4-28 08:04:11 来自手机 | 显示全部楼层
YTLCC 发表于 2018-4-10 23:18
我把myfirst-Bootloader下到单片机里,然后用超级终端发送myfirst-APP(RTC时钟)到单片机显示设备无反应, ...

都记不得了…肯定是哪里出了问题,我这个在mini板上可以直接用的,你参考下吧
回复 支持 反对

使用道具 举报

6

主题

44

帖子

0

精华

高级会员

Rank: 4

积分
767
金钱
767
注册时间
2017-7-25
在线时间
127 小时
 楼主| 发表于 2018-4-28 08:06:48 来自手机 | 显示全部楼层
YTLCC 发表于 2018-4-10 23:16
楼主可以做个使用的说明吗,谢谢

现在上班估计没有时间搞还要写论文
回复 支持 反对

使用道具 举报

4

主题

346

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3657
金钱
3657
注册时间
2016-2-21
在线时间
542 小时
发表于 2018-4-28 09:20:52 | 显示全部楼层
在bootload里塞操作系统……而且还用掉了25K的code,神之浪费
回复 支持 反对

使用道具 举报

1

主题

39

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
337
金钱
337
注册时间
2018-4-20
在线时间
80 小时
发表于 2018-5-23 17:50:05 | 显示全部楼层
谢谢分享,mark。
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

精华

新手上路

积分
43
金钱
43
注册时间
2020-4-16
在线时间
15 小时
发表于 2020-4-20 21:23:56 | 显示全部楼层
谢谢分享啊
回复 支持 反对

使用道具 举报

13

主题

36

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
430
金钱
430
注册时间
2020-7-16
在线时间
84 小时
发表于 2020-10-22 14:24:46 | 显示全部楼层
感谢分享!
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

精华

初级会员

Rank: 2

积分
52
金钱
52
注册时间
2020-12-4
在线时间
15 小时
发表于 2020-12-15 18:15:55 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

1

主题

31

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
413
金钱
413
注册时间
2017-8-30
在线时间
134 小时
发表于 2020-12-15 23:13:46 | 显示全部楼层
感谢楼主分享
回复 支持 反对

使用道具 举报

11

主题

2103

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4588
金钱
4588
注册时间
2015-1-10
在线时间
574 小时
发表于 2021-10-9 13:50:54 | 显示全部楼层
楼主的YModem协议不完整,在超级终端上测试是可以的,实际在最后没有二次应答和结束帧,大家注意
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-24 10:04

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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