[size=18.018px]Maple mini(STM32F103)软件开发流程 [size=18.018px]Maple Mini是Leaflabs推出的Maple的微型版本,其大小相当于一片口香糖。尽管尺寸很小,Maple Mini上还是有一个mini-B型USB接口,有LDO稳压器,可以非常方便的作为一个ARM处理器平台。Maple Mini适用在对空间要求苛刻的场合,也可以插在面包板上做原型开发。 [size=18.018px]由于官方没有提供移植开发环境至Arduino IDE官方最新版的json文件链,因此我们只能找到Leaflabs移植好的变种Arduino—maple-ide-0.0.12。这也是目前最新的一个版本。经笔者测试兼容Win10,如果使用的是Win8.1或更新版本的Windows系统,在安装驱动前需要禁用驱动程序强制签名。具体步骤请在搜索引擎搜索“禁用驱动程序强制签名”。 [size=18.018px]下载好Maple IDE后,解压缩,其中drivers文件夹就是所需要的驱动程序,连接PC和Maple Mini开发板,打开设备管理器。 [size=18.018px] [size=18.018px]选择Maple 003,单击右键手动安装驱动程序,如下图,找到驱动文件夹。 [size=18.018px] [size=18.018px]完成后,感叹号消失,表明驱动安装成功。 [size=18.018px] [size=18.018px]接下来启动Maple Mini,选择开发板,建立示例程序。 [size=18.018px]单击:Tools—Board—LeafLabs Maple Mini Rev2 to RAM(或Flash)。注意到这里有两种选择,一个是下载到RAM,一个是把目标代码下载到Flash。有什么区别呢?下载到RAM后运行速度快,断电后呢,程序不保存,下载到Flash断电后程序不消失,重新上电可以继续运行。 [size=18.018px] [size=18.018px]接下来选择示例程序。 [size=18.018px]单击File—Examples—Digital—Button。这里我们选择个按键例程测试,见下图,其他的例程也都是可以的。 [size=18.018px] [size=18.018px]之后弹出例程窗口,我们可以看到界面是英文的。 [size=18.018px] [size=18.018px]如上图所示,其中向右的箭头就是Upload(上传)按钮,我们现在可以连接Maple mini和PC。单击Upload按钮。 [size=18.018px]之后在下面绿色消息窗口显示处理进度与内容。 [size=18.018px] [size=18.018px]下面我们通过按下开发板的唯一用户按键试试。 [size=18.018px]我们回过头来再来看代码中的内容,采用了宏定义替代了Arduino惯用的数字编号,那么在哪儿找到这个宏定义的文件呢?答案就在\hardware\leaflabs\cores\maple\maple_mini.h头文件。如下图所示。 [size=18.018px] [size=18.018px]如上图所示,根据头文件中的宏定义,可以看出来,按键是在32号管脚,LED是在33管脚,对照开发板上标注的编号,刚好对应。我们根据这个头文件也知道了,如果使用其他编号的管脚,可以使用什么宏定义来替代管脚编码。而对于其他的操作也可以在同一文件夹下的其他头文件中找到,比如isButtonPressde()、toggleLED()等,这些均在io.h文件。 [size=18.018px]写到这里,大家应该发现了吧,不管Arduino怎么变化,总之都是在Arduino技术规范内的,不管是AVR的八位机,还是ARM的32位机器,只要在这个标准内,都可以用简单的Arduino标准,来操作。 [size=18.018px]我们也可以清楚的看出,这两个开发板虽然核心千差万别,但是开发流程几乎一模一样,除了Maple mini需要使用变种版的Arduino来实现外,而对于寄存器和外设的处理方式都是符合Arduino标准的。我们唯一要做的就是了解开发板提供了哪些资源,这些资源在Arduino的框架里定义成了什么名字,另外就是根据开发板的原理图,加入自己需要的部分。而对于想全面掌控MCU系统的每个细节的人,还是需要按照传统的方法来做,不过Arduino的确缩减了嵌入式的学习所用的时间成本,以及更加方便的使用体验,更适合要求不是非常非常高的用户和应用的使用。 [size=18.018px]另外本测评中所选用的开发板上,均是只有一片MCU,无需使用编程器进行烧录,因为他们都内置了Bootloader程序,这也做到了真正的单片机的单片系统应用。
|