本帖最后由 harvardx 于 2014-11-20 16:19 编辑
4.1 ST Nucleo F072RB 特点 和Nucleo其他开发板一样,居然高度扩展性,提供了可行性和扩展性去用STM32F072RBT6单片机进行原型设计.看看我们今天的主角.几个特点也是所有Nucleo 开发板的特点再次强调一下,大家看板子的mcu代号,都有一个R,表明大家都是64 PIN, 所有Nucleo系列的板子,只是换了个单片机,核心的核心,再次重申. 老生常谈的特点,再次看看这款新出的STM32F072 Nucleo: 1. STM32F072RBT6微控制器,基于ARM Cortex-M0处理器,最高支持48MHz主频 2. 支持Arduino UNO R3 Shield扩展板,微控制器所有IO口引脚通过排针座引出 3. ST-LINK/V2-1调试器,支持对外部微控制器调试, 4. 3个LED:一个USB通讯LED、一个电源LED、一个用户LED;5. 两个机械按键:复位、用户 6. USB接口的3个不同功能:虚拟串口、容量存储、调试接口 7. 3种不同供电方式:mini USB接口供电、IO引脚用电、通过Arduino UNO R3 Shield接口供电 8 .支持Gcc IDE、Keil、IAR、embed在线IDE的设计工具 4.2 三种不同的开发途径 1. mbed云端开发(时髦的开发思路)
首先,连接上usb后,各种驱动安装之后,会出现一个nucleo的U盘.如图1所示:
图8 nucleo下载优盘 128KB 打开以后会看到mbed.htm,点击, 哈哈,开始平步青云,开始了云端开发,直接跳到http://developer.mbed.org/网站,可以实现在线编写程序,新建项目,导入工程,编译的功能,这样相当于一种云端工作的概念,产生bin以后, 下载到刚刚这个u盘,单片机的程序就更新了.听起来很酷. 很多同学要问调试怎么样办?一直在云端掉下来怎么办?虽然此云非彼云,但是有个残酷的事实,摆在大家面前,大项目必须要调试,要保密,不可能一直寄生于云端.何况mbed因为目前还是个国外网站,速度也不是特别给力?......似乎mbed有些鸡肋. 其实mbed早为大家想好了这一切, mbed 只是让大家体验这种高在云端的感觉. mbed的根本作用,还是在于最大程度去解放大家,让工作变得轻松有趣,减少重复低级劳动,把整个nucleo或者其他类似的原型开发板抽象成了一个个对象模型,大家开发的时候,基于对象,面向对象,都可以玩起来了.因为你是用C++在编程哦.我们把mbed当成一个在线生成工程的想到就可以了. mbed ide 具有工程导出功能,可以导出为常见的ide,比如keil ,这样好了.我们用mbed来建立项目框架,同时所有的外设和功能块都抽象好了.这样,在本地,用keil, 用c++代码慢慢完善修改代码吧. 这样之前mbed工程不能在线调试的问题也解决了. 看来是天空飘来一片云, 帮我们把项目的基石打牢而已.
2 . Keil + FW开发方法(传统的开发思路)
分两个分卷: part1 part2 https://www.stmcu.org.cn/download/index.php?act=down&id=7773 https://www.stmcu.org.cn/download/index.php?act=down&id=7774 k not intalled 或者 communication error字样,这时候,我们就需要安装win7或者xp对应的st-link V2-1的驱动; 在这里下载 1, STM32 Nucleo板上集成的ST-Link/V2-1在Win7,8的PC端USB驱动 - http://comm.eefocus.com/media/download/index/id-206345 2, STM32 Nucleo板上集成的ST-Link/V2-1在Win XP的PC端USB驱动 - http://comm.eefocus.com/media/download/index/id-206346
3. 基于STM32CubeMx的开发方法(中庸合适的开发思路)
st的cubeMx是个好东西 .可惜错过了现场研讨会,听说现场非常 推荐这个. 没有去成,咱们就自己体验一把吧.我以为就是一个GUI方式的代码生 成工具,嘿嘿 ,不过评测以后我就更加赞叹. 居然直接生成keil5的工程文件.不错把 如何生成keil5的ide工程文件. 体验nucleoL072开发板的使用. 我们先使用st新出的cubeMX工具来自动生成 一个最简单的keil工程试试看,以keil5.1为例, 还可以选择iar 和truestudio,根据需要选择;
1 首先打开CubeMX,选择我们的开发板,
2 根据自己的需要初始化整个单片机的资源,建立起一种硬件描述的概念,整个单片 都通过HAL层与非常建立连接,增强了通用性,可移植性.通过PC中的CubeMx配置 ,从而修改相应的CubeFx(0,1,L0,L1,F4)等软件库集成到我们的工程代码中去,让我 们轻松完成对单片机的配置,简化了硬件操作.
图11 配置单片机072
3 下面和第一个有些重复,侧重于系统的软件结构组织. 文件系统 操作系统, 一些内部外设模块,通过引入的这些middleware 和软件栈,让我们的应用能力
4 重头戏来了.CubeMX和keil到底有几毛钱关系呢 不会是像siliconlab的configure工具一样只会产生c文件,无法生成ide工程吧. 好期待.我们点击源码生成菜单.当然此处首次使用,可能会让我们选择生成的是.c 还是ide.
图13 生产keil 工程文件
5 见证奇迹的时刻到了.keil 工程横空出世拉.哈哈 ..
图14 打开生成的keil工程文件
6 对于单片机所用的CubeFxx 软件库, CubeMx软件可以进行对应的选择配置的.
图10 CubeMx配置软件库 |
STM32
超强工具——STM32CubeMX 你会用吗?
集结出发! STM32全国研讨会系列之一:ST智能门铃中国首秀
关于STM32启动文件的几个小问题
【银杏科技ARM+FPGA双核心应用】STM32H7系列35——USB_VCP_FS
【银杏科技ARM+FPGA双核心应用】STM32H7系列28——USB_HID
粉丝分享 | 图说CRC原理应用及STM32硬件CRC外设
STM32L151进入低功耗,并由RTC唤醒的故事
[转]stm32控制NFC模块(PN532)源码(P2P,模拟卡,读写卡等
STM32G070RB+LVGL移植
微信公众号
手机版
帖子太长. 放不下了.
他的邮件回复:
Hello,
I've just tried and it works for me. Did you update the mbed library ?
我把用mbed ide在线建立的例程导出为keil工程,大家可以下载 编译看看, 比较和之前的标准库和CubeF0 lib库的区别.
Nucleo_blink_led.zip
Nucleo_blink_led_uvision_nucleo_f072rb.zip
2014-11-3 16:38 上传
点击文件名下载附件
639.74 KB, 下载次数: 84