美文网首页【教是最好的学】我爱编程
【MCU】如何利用蓝牙对单片机进行无线编程?

【MCU】如何利用蓝牙对单片机进行无线编程?

作者: 习惯研究所所长 | 来源:发表于2017-07-23 11:32 被阅读114次

    PS:本【案例】基于STM32F10x系列。


    如何利用蓝牙等无线设备进行无线下载编程?

    简化步骤:

    1. 第一步:配置BootLoard工程,通过有线(如ST-LinK)下载BootLoard工程。
    2. 第二步:配置用户工程,通过无线(如蓝牙)下载APP到MCU内。


    具体步骤:

    1. 配置BootLoard工程:

    a. BootLoard是什么?
    是一个工程。BootLoard工程相当于电脑的Boos系统, 相当于母鸡下蛋的那个牵引蛋。与用户工程的关系就像, BootLoard相当于360手机助手, 用户工程相当于你要下载的APP。也就是说BootLoard本质也是个App。使用BootLoard引导下载程序的方式被称为使用IAP(in application programming) , 这种方式利用stm32的任意一个通讯端口,如spi,iic,can,usart等来更新程序。

    b. 为什么要用BootLoard来更新(下载)用户工程?
    可以实现远程编程和无线编程。比如小米手环就是利用蓝牙更新手环里面的程序,手机通过WIFI等获取小米官网的最新程序到手机内。再通过手机的蓝牙将最新程序烧写到小米手环内。

    小米手环如何更新固件?

    对于我们在校生有啥用呢?你需要无线下载的时候就用这个。比如在比赛现场无线下载程序什么的,别说我说的(逃)!

    c. BootLoard工程怎么编写?慢慢编呗,哈哈,开玩笑了,当然找会的人要呀,比如我。或者去网上搜罗,然后自己修改参数。那么如何修改那些参数呢?
    参数修改:
    很简单,就修改2个地方:一,Target;二,Flash DownLoad ;
    一,Target:配置程序的首地址0x8000000和空间大小0x10000(64KB)**

    Boot配置01-Target

    二,Flash DownLoad:配置烧写时BootLoader的空间大小

    Boot配置02-Flash DownLoad Boot配置-注意01

    2. 配置用户工程:

    a. 用户工程有什么不同?没有任何代码差异,主要差异在配置上。
    b. 用户工程如何配置?
    修改3个地方:一,Target;二,Flash DownLoad;三,User
    跟修改BootLoard工程一样,只是多了User。因为,我们蓝牙发送的是.bin文件,而不是.Hex文件。
    一,Target:配置程序的首地址0x8010000和空间小0x70000(448KB)

    用户工程配置01-Target

    二,Flash DownLoad:配置烧写时BootLoader的空间大小

    用户工程配置02-Flash DownLoad

    三,User:配置生成Bin文件

    用户工程配置03-User OK了

    问题补充:

    1. 用户工程烧进去运行不成功的常见原因?

    a) 用户工程的起始地址设置有误

    图片无法上传,只好使用链接
    http://chuantu.biz/t5/148/1500955102x987742248.png


    参考资料:

    1. Stm32 IAP程序编写及用户程序编写
      http://blog.sina.com.cn/s/blog_b4ce638e0102w36l.html
    2. keil MDK中如何生成*.bin格式的文件
      http://blog.csdn.net/zhzht19861011/article/details/5927924
    3. STM32 IAP Boot参考(讲解附源码)资料
      http://download.csdn.net/download/cxsys/4427640
    4. 不知道fromelf.exe文件路径怎么办?
      http://www.jianshu.com/p/549e0857e450
    5. 关于STM32做IAP程序的一些问题
      https://my.oschina.net/purplespace/blog/856244
    6. KEIL MDK输出map文件分析
      http://blog.csdn.net/ropai/article/details/7493168

    相关文章

      网友评论

        本文标题:【MCU】如何利用蓝牙对单片机进行无线编程?

        本文链接:https://www.haomeiwen.com/subject/msopkxtx.html