[原创拆解] 神器系列-艾刷做开发板

dcexpert   2016-2-29 00:10 楼主


前几天发了一篇《神器拆机-艾刷》的帖子,发现里面使用了STM32F401CC单片机,就想着能不能把它改造成一个STM32F401的学习板。经过一番摸索和实验,终于改造成功,可以用STLink下载仿真,因此把过程分享给大家。
先看一下改造后的连接图,使用Nucelo64开发板上的STLink/v做仿真下载器和STM32F401小板相连。

 


要实现仿真下载,就需要将SWD接口引出来。这个板子没有留专门的下载口,但是有一些测试点,其中就包含了SWD接口使用的SWCLK和SWDIO。

 

 


SWD接口的位置,有些引脚有多个位置可以连接,特别是VCC和GND,图示只是其中的一种方式。特别需要注意的是虽然这个小板支持48pin和64pin两种封装的芯片,但是一些IO并不是一一对应的,不能只用方便测量的64pin去测。如LED的引脚,在64pin上是PA9和PC7,在48pin上却是PB4和PB7,为了这个问题还困扰了一会。

 

 


将Nucelo64开发板上CN2上的两个短路块取下,然后将杜邦线插在CN4上,只需要1-5这五个口。

 

 


连接好SWD后,并接上Nucelo和艾刷小板的USB线,然后在Keil中随便打开一个程序,修改Debug为STLink,如果可以识别出芯片,就说明没有连接正常了。

 

 


连接好SWD后,就可以编写一个小程序测试一下了。测试程序随便用什么软件,Keil、IAR、CoIDE都可以,这里使用了Keil和Mbed,也是为了顺便介绍一下Mbed的修改和移植。

 

 

  • 首先用万用表找出LED的控制IO是PB4和PB7。
  • 然后在Mbed的网站上(https://developer.mbed.org/compiler/)创建一个STM32F401的例程,使用blink模板,并将LED1改为PB_4。
  • 注意这时程序还是不能直接用的,因为Mbed的程序只提供了STM32F401RE的程序,和STM32F401CC的不完全兼容,直接将BIN文件下载是不能运行的,需要进行一些修改。一种修改方法是修改源码,一种是直接替换obj和sct文件。下面介绍修改源码的方法,后面提供的参考程序是替换了文件。
  • 先在Mbed网站的在线编辑器中,删除项目程序中的Mbed库,因为项目默认加入的是编译后obj文件,不能直接修改。

  • 然后导入Mbed的源码,使用左上方菜单的导入(import)功能,选择导入库(Libraries),搜索mbed-src,选择mbed-src导入就可以了。如果激进一点,导入不稳定的开发库(mbed-dev)也是可以的。

  • 完成后就可以把整个项目文件导出,可以选择多种不同的格式,这里选择Keil4的格式。

  • 导出的文件是一个zip文件,展开后就可以用keil打开,Keil4或者Keil5都可以,使用Keil5需要先安装好STM32F4的支持包。先将芯片型号改为STM32F401CC,然后修改debugger为STLink,添加编程算法(Programming Algorithm)为STM32F4xx 256kB Flash。
  • 编辑linker下的Scatter文件,修改分别ROM和RAM地址为0x40000和0x10000。

  • 打开startup_stm32f401xe.s文件,修改54行的__initial_sp为0x20010000。
  • 现在就可以编译程序,并通过STlink下载了。如果LED开始闪动,就代表ok了。否则在仔细检查一下上述的步骤。
  • 修改好的测试程序:为了减少文件大小,我是直接替换了对应的obj文件和sct文件。需要完整源码的可以按照上面步骤进行修改。


再顺便介绍一下使用DFU方式下载程序的方法,对于怕麻烦不想连接SWD接口或者只想简单DIY的网友,可以使用这种方式。

 

 

 

提示词:如果您需要查看本帖隐藏内容,请登录或者注册

回复评论 (20)

不错哦,学习了
点赞  2016-2-29 01:05
艾刷没买到
喝最烈的酒,..DIY最实用的东西
点赞  2016-2-29 08:23
不错不错~~嘿嘿~
玩板看这里: https://bbs.eeworld.com.cn/elecplay.html EEWorld测评频道众多好板等你来玩,还可以来频道许愿树许愿说说你想要玩的板子,我们都在努力为大家实现!
点赞  2016-2-29 08:25
虾扯蛋,蛋扯虾,虾扯蛋扯虾
点赞  2016-2-29 08:50
不错不错~~
点赞  2016-2-29 08:56
这个不错
点赞  2016-2-29 10:33
引用: lidonglei1 发表于 2016-2-29 08:23
艾刷没买到

等几天风头过了,还会有的。
点赞  2016-2-29 10:47
楼主买即付宝或众乐宝了吗,都是GD32F103的方案,音频的板子完全一样的,我SWD接口一直没连接上
喝最烈的酒,..DIY最实用的东西
点赞  2016-2-29 10:54
哈哈哈,我昨天也搞了一个,看了是STM32F103的芯片
点赞  2016-2-29 11:59
引用: lidonglei1 发表于 2016-2-29 10:54
楼主买即付宝或众乐宝了吗,都是GD32F103的方案,音频的板子完全一样的,我SWD接口一直没连接上

有一个GD32的,没有时间弄了。还有两个是EFM32的,看有没有时间玩一下。
点赞  2016-2-29 12:15
不错不错顶一个
点赞  2016-3-8 15:05
随便看看  向大家学习
点赞  2016-3-19 21:04
我也淘了一个类似的产品,使用的是STM32F401,蓝牙版本的,有空了也来研究一下
点赞  2016-3-22 22:14
引用: lkl0305 发表于 2016-3-22 22:14
我也淘了一个类似的产品,使用的是STM32F401,蓝牙版本的,有空了也来研究一下

什么型号的?
点赞  2016-3-22 22:49
瀚银的蓝牙版
点赞  2016-3-23 12:41
擦,小白表示看不懂
点赞  2016-3-26 13:02
66666
点赞  2016-5-17 10:43
点赞  2016-6-10 08:22
LZ写得挺不错的,比较详尽,希望多出类似帖子!艾刷这种和拉卡拉之类的都差不多吧?前一段淘宝上有很多1元的,不知这类设备是不是大多都用STM32?
点赞  2016-6-17 16:14
12下一页
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复