脱机烧录上位机操作(三)


前言

上位机的操作比较繁琐,我是通过SecureCTR软件实现Xmodem协议进行下载,目前我还没有发现SecureCTR怎么发送字符串,所以我用了其他串口软件进行发送字符串指令。


一、BIN文件生成

目前下载器仅支持bin文件下载,MDK可以生成bin文件,在配置里面添加fromelf --bin --output .\F103_Temp\F103RB.bin .\F103_Temp\F103_Temp.axf然后打上前面的勾。由于工程结构每个人都不一样,所以(fromelf --bin --output 想要生成的bin文件相对路径 axf文件的相对路径)。需要添加你的axf文件的相对路径 ,以及生成以后的bin文件存放路劲./表示当前路径, …/表示上一路径,相对路径是从你的工程目录开始的。大家不懂得可以去搜索一下MDK生成bin文件。axf文件路径添加不对是无法生成bin文件的。
在这里插入图片描述


二、SecureCTR

下载安装SecureCTR
SecureCTR
打开软件后点击+号创建一个串口
在这里插入图片描述
然后选择要创建的端口号,这个端口号就是你的USB转串口,选择正确才能正确通信,可以插拔一下USB看看是哪个端口,其他配置默认点击下一步即可创建成功
在这里插入图片描述
进入软件后先配置下载选项
在这里插入图片描述
之后只需要检查是否文件传输是Xmodem的128字节就行了(默认配置就是)
在这里插入图片描述
之后双击串口端口号就能打开,前提是下载器已经连接到了电脑。
在这里插入图片描述
然后点击Transfer中的sendxmodem选项发送要下载的bin文件。
在这里插入图片描述
以上是SecureCTR的串口操作,像要正确将程序发送过去,还需要点击键盘上的1或2选着下入1区(大小为1M字节)或者2区(1M字节)
在这里插入图片描述
通过点击键盘上的3可以设置下在目标MCU的型号,目前仅支持打印的STM32的型号,目前还没有发现SecureCTR怎么发送字符串,我是通过其他的传串口软件设置的型号。
在这里插入图片描述
通过点击键盘上的4可以查询当前设置的MCU型号
在这里插入图片描述

三 硬件原理图

在这里插入图片描述
硬件上我使用PC0和PC1模拟的SWD协议进行程序下载,速度不是太快,有四个指示灯,3个按键,一个用来复位MCU,一个用来选择1区或者2区的程序进行下载,一个是下载按键,点击即可进行下载,当蜂鸣器快速滴2声,证明下载失败,滴一声下载成功。


下载算法添加

和下载算法相关的就三个函数,只需要将设置的MCU的型号通过参数传给这三个函数就行,大家只需要将生成的.c下载算法添加进去,然后添加到函数里面就行。
uint8_t user_target_flash_init(uint32_t Flash_Start,uint8_t fire_ver)目标MCU的FLASH初始化函数
在这里插入图片描述
uint8_t user_target_flash_erase_sector(uint32_t Flash_Start,uint8_t fire_ver)目标MCU的擦除函数

在这里插入图片描述
uint8_t user_target_flash_program_page(uint32_t Flash_Start,uint8_t* buf,uint32_t size,uint8_t fire_ver)下载函数
在这里插入图片描述


总结

以上代码仅供大家参考,目前还有很多的地方需要优化,比如:换主频更高的芯片,提高下载速度,添加文件系统更容易管理下载的文件,将串口改成更为方便的USB,以及添加下载加密等等。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值