神器系列-艾刷做开发板
首先用万用表找出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的网友,可以使用这种方式。
先在ST网站下载并安装DfuSe_demo,网址是:http://www.st.com/web/en/catalog/tools/FM147/CL1794/SC961/SS1533/PF257916
运行Dfu file manager,选择产生DFU文件。
然后添加BIN或者HEX文件。建议尽量选择HEX文件,这样就不用自己输入地址。添加后就可以生成DFU文件。
用镊子短路BOOT0到VCC,然后按下复位键,松开后就会进入DFU模式。如果提示需要安装驱动,驱动就在DfuSe_demo安装的目录下。打开刚生成的DFU文件,就可以下载(upgrade),然后运行(Leave DFU mode)。
虽然这个小板的资料不多,但是也可以自己尝试逐步摸索一下。下一步可以把串口和其他GPIO引出来,就可以实现更多功能了。如果在配一个小的OLED,效果更好。也可以想办法尝试一下音频口通信,这也是一个比较有趣的应用,就是参考资料太少。对于1元包邮的艾刷,这的确非常超值了,值得大家去弄一个回来研究和玩耍。