庆科社区
直播中

GalaIO

9年用户 38经验值
擅长:MEMS/传感技术 嵌入式技术
私信 关注

【MiCOKit试用体验】+ helloworld及简单分析

本帖最后由 GalaIO 于 2015-9-17 21:53 编辑

        终于等来了第二个帖子了,最近刚开学比较忙,,嘿嘿。
        上一个帖子主要是对mico-8233的 开箱,简单试用了easylink功能和通过客户端控制micokit的硬件,但是要从开发角度的话,就必须理解micokit的开发流程。这贴就学习了如何开发一个helloworld程序,当然根据官方历程修改,对于更多资料大家可以去庆科的wiki官网,由于我的账号权限低,所以就不放链接了。
       工欲善其事必先利其器,这个道理都懂,放在mcu开发的话 ,意思你你得有个调试器,有调试器会方便你的开发,同时利于调试程序和追踪错误。我自己的话,手头有一个nucleo-STM32f401,上面自带一个st-link,可以方便调试stm32系列处理器,使用的是swd接口,这个接口很简单,只需要接2-3根线就可以了。下图就是JTAG和SWD的结构对比。
jtag与swd区别.png

       刚才我忽略掉一些事,那就是这个核心板的型号,这个核心板是一体式(指 MCU 内置于 Wi-Fi 模块内部MiCOKit-3288,内置 STM32F411CEU6,具有 512KB Flash,128K SRAM 和丰富的外设等。所以我们开发mico-8233就是控制stm32f411,至于wifi可以参考mico的sdk,也可以找相应的wifi型号去研究驱动。这些我也没深究。
       下面我给出我自己连接nucleo与micokit的连线。
SWD实际连接.jpg

led灭.jpg

       我把vcc、swclk、swdio、gnd都连好了。
       直接使用keil打开工程,路径和文件如下:
路径.png 文件.png



      主要是keil用的比较顺手,所以使用keil来开发,然后把工程切换到8233,默认是8156.
选择8233的处理器.png

      设置调试器配置,及其下载算法。
配置swd调试模式.png 设置下载算法.png

       添加代码到helloworld.c文件,每次都打印led的状态。
添加led状态打印.png

       很简单吧,对了,我们的i初始是1,由于i的翻转,实现串口输出led的不同状态,但led的状态,我是怎么知道的呢?在Board/micokit-8233下,有特定的底层文件,我们都知道,为了保证程序的可移植性,让底层和上层脱离,只保留一直的api是很重要的,mico也是这么做,在board下有特定的底层文件,然后我们引用。
8233的底层文件.png
         在platform.c下,有gpio的初始化配置,可以发现吧led初始化成低了,led的原理图,吧led挂在vdd了,所以输出0即灯亮。在helloworld中,一执行就翻转io,所以led是灭的,然后我们也对i翻转,输出led off,随后过程随led一块翻转即可,实现了实时打印led状态。
设置LED的上啦模式.png

        现在可以编译下载了,最后看效果了。下面是串口和拍照。
打印结果.png led亮.jpg

        到此,helloworld历程结束了,简单修改了一下源码,来达到我们自己的效果~~~以后我也会更多侧重对mico已有代码的分析的。

回帖(1)

294479435

2015-9-21 12:29:24
我也用NUCLEO板子的st—link下载,不过好像没成功,回去我在试试
举报

更多回帖

发帖
×
20
完善资料,
赚取积分