极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13358|回复: 14

MegaMind:在各种Arm芯片上使用Arduino

[复制链接]
发表于 2013-8-17 22:10:34 | 显示全部楼层 |阅读模式
本帖最后由 AndersonBY 于 2013-8-19 14:38 编辑

先简单介绍一下项目目前的情况吧:
MegaMind Lib
简单说这个项目就是让大家能用Arduino的函数来方便地给多种Arm芯片写程序。
基于CoX库,因此理论上CoX支持的Arm芯片都可以稍作修改(下面会提到如何应用到其它Arm芯片)就能使用MegaMind Lib,从而用大家熟悉又方便易用的Arduino的各种函数来开发Arm芯片。举几个简单的例子:

将芯片的PA11设置为下拉输入:
pinMode(PORTA, 11, INPUT_PULLDOWN);

让芯片的PA8输出PWM:
analogWrite(PORTA, 8, 50);


目前MegaMind支持常用的一些Arduino函数,但SPI、I2C、Servo还没有开发,IO口的中断也还没添加。

目前由于我只有一个STM32F103RBT6的开发板,所以只在这个上面测试过,其它Arm平台还请各位大牛帮忙测试。


如何使用MegaMind Lib

项目网址:https://github.com/AndersonBY/MegaMind

1.参照下面的网址设置GCC Tool Chain
http://www.coocox.org/CoIDE/Compiler_Settings.html

2.在下面的网站下载CoIDE
http://www.coocox.org

3.根据上面网站的指示下载配置好CoX
勾选下面几个部分:
xStartup
xLowLayer
xCORE
xSysCtl
xGPIO
xUART
xPWM
xADC

4.添加MegaMind库
把MegaMind库文件夹拷进去并在CoIDE中添加MegaMind库里的文件

5.参考下面的网址使得能在CoIDE里使用C++
http://blog.csdn.net/coocox_up_team/article/details/7367036

6.把在CoIDE中创建项目时自动生成的main.c文件改名为userMain.cpp

7.在userMain.cpp第一行添加:#include "Arduino.h"

8.直接在userMain.cpp里正常写Arduino的代码即可。



如何应用到STM32F103以外的Arm芯片上
在MegaMind库的文件里有两个涉及具体Arm芯片的文件:variant.h和variant.cpp。如果需要在其它Arm平台上测试请修改这两个文件,具体内容参考这两个文件。



联系我
Emain:[email protected]
回复

使用道具 举报

 楼主| 发表于 2013-8-18 12:42:35 | 显示全部楼层
转过来这边貌似还是没什么人感兴趣。。。。
回复 支持 反对

使用道具 举报

发表于 2013-8-18 13:17:32 | 显示全部楼层
本帖最后由 lyili 于 2013-8-18 13:21 编辑

感兴趣的~ 不过需要时间来研究研究。感谢创立的好项目~
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-18 14:39:55 | 显示全部楼层
lyili 发表于 2013-8-18 13:17
感兴趣的~ 不过需要时间来研究研究。感谢创立的好项目~

多谢支持哈~
回复 支持 反对

使用道具 举报

发表于 2013-8-18 15:38:43 | 显示全部楼层
用stm32f103有maple。要用arm的话,还是直接开发吧,很多特性arduino不支持。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-18 16:50:12 | 显示全部楼层
johnsonzzd 发表于 2013-8-18 15:38
用stm32f103有maple。要用arm的话,还是直接开发吧,很多特性arduino不支持。

因为maple已经很久不更新了,而且这个项目是希望能在多个Arm平台使用不止是在stm32f103上使用,现在只在stm32f103上实验是因为手头只有这个Arm开发板,其它Arm理论上只需要对MegaMind库的两个文件做修改就可以使用。况且arduino现在自己也有Arm版本的Arduino DUE,也不能说Arduino不支持Arm。
回复 支持 反对

使用道具 举报

发表于 2013-8-18 21:08:39 | 显示全部楼层
感谢楼主无私分享
能介绍一下硬件吗?
手头有一个maple mini,
1. 如果用MegaMindLib, 如何烧写? 如何调试?
2. 还需要什么条件?
3. linux 下面用着是不是方便,

谢谢!

P.S. maple 真让人觉得遗憾,
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-18 23:25:03 | 显示全部楼层
timberg 发表于 2013-8-18 21:08
感谢楼主无私分享
能介绍一下硬件吗?
手头有一个maple mini,


多谢关注哈!

maple mini是STM32F103CBT6的芯片,我测试用的是STM32F103RBT6,理论上可以直接应用的。

关键是下载CoIDE及CoX,这个项目就是在CoIDE下开发的,具体的资料可以在他们网站上查到:www.coocox.org。就算不用MegaMindLib用他们的CoX来开发也真是挺不错的,理论上后期移植到不同Arm平台的工作量很小。

程序编写好后可以在项目文件夹下找到.hex文件,直接通过串口ISP下载程序,如果需要调试在CoIDE也可以,但是手头没有调试用的工具暂时没有测试。
更详细的配置可以参考我帖子的内容。

需要注意的一点是MegaMindLib里用的是Arm通用的端口描述的方法,就是Port和Pin两个,比如PortA的8口这样,所以可能需要看看maple mini的各个口对应芯片上的是哪个口。

linux下貌似还没有CoIDE可以用,但是比较奇怪的是CoIDE应该是定制的Eclipse,理论上应该支持Linux的,但是官网上没有写可以在Linux下使用,所以估计暂时没法在Linux下用CoIDE开发。
但是如果只把他们的CoX这个库以及MegaMindLib这个库拷到Linux下用其它软件来开发也是有可能的,这个就没有试过了。

maple确实遗憾,挺好的项目结果就不更新了。
回复 支持 反对

使用道具 举报

发表于 2013-8-19 15:15:14 | 显示全部楼层
AndersonBY 发表于 2013-8-18 23:25
多谢关注哈!

maple mini是STM32F103CBT6的芯片,我测试用的是STM32F103RBT6,理论上可以直接应用的 ...

谢谢回复!
感觉这套工具还是挺有吸引力的!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-19 17:27:55 | 显示全部楼层
timberg 发表于 2013-8-19 15:15
谢谢回复!
感觉这套工具还是挺有吸引力的!

多谢哈!我会继续完善添加更多库进去的,随时关注哈
回复 支持 反对

使用道具 举报

发表于 2013-8-19 20:43:12 | 显示全部楼层
AndersonBY 发表于 2013-8-19 17:27
多谢哈!我会继续完善添加更多库进去的,随时关注哈

arduino 最近的板子支持把自己作为 usb 外设
虽然就是鼠标键盘, 但是有用,
楼主可否考虑支持更丰富的usb特性
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-19 21:05:54 | 显示全部楼层
timberg 发表于 2013-8-19 20:43
arduino 最近的板子支持把自己作为 usb 外设
虽然就是鼠标键盘, 但是有用,
楼主可否考虑支持更丰富的us ...

肯定都要把USB添加进去的,不过现在还在努力把I2C和SPI加进去
回复 支持 反对

使用道具 举报

发表于 2013-8-20 09:04:04 | 显示全部楼层
不错,最近看好stm32f030系列的stm32f030f4p6,价格低廉,是替换avr arduino的好选择
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-20 11:17:41 | 显示全部楼层
histamine 发表于 2013-8-20 09:04
不错,最近看好stm32f030系列的stm32f030f4p6,价格低廉,是替换avr arduino的好选择

确实便宜,看了一下淘宝才3块钱一片
回复 支持 反对

使用道具 举报

发表于 2014-4-2 21:32:39 | 显示全部楼层
收藏一下,期待详细教程
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-4-27 12:17 , Processed in 0.045208 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表