Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
DIY综合交流区
RT-Arduino
发布于 2012-03-04 21:52:49 浏览:12785
订阅该版
嗯,后面就叫这个名字吧(或者RTArduino), 因为觉得这个很可能是RT比较重要的一个东西,特别是能够贴近于RT-Thread 1.0.x系列版本。 板子已经有了,基本的软件也有了,当然距离Arduino的开发方式还有很远(Arduino IDE、Arduino方式编程、download工具等)。因为采用ARM Cortex-M的缘故,所以这样一个Cortex-M平台的Arduino也蛮适合于跑RT-Thread的,在Arduino周边有无数的外挂,可以尽情发挥想象力。 当然也可以使用这样一套平台来做为RTOS、RT-Thread的入门。 ![SV400018 (800x598).jpg](https://oss-club.rt-thread.org/uploads/53_c150ab159b295a42ed6d7e466ea3c715.jpg) ![SV400015 (800x600).jpg](https://oss-club.rt-thread.org/uploads/53_7aaa47cb2d4d3aa47e7a9931d0fc9255.jpg) ![led.jpg](https://oss-club.rt-thread.org/uploads/53_6a6a1c286a14341d1cf163711aa42294.jpg) ![led_compile.jpg](https://oss-club.rt-thread.org/uploads/53_f6f0944630ae38aec010a6c6886ae421.jpg) ![mo_root.jpg](https://oss-club.rt-thread.org/uploads/53_9a4a62129631172ae79cbf79a34a1cc9.jpg) ![mo_list.jpg](https://oss-club.rt-thread.org/uploads/53_7f2176f4bd78a0a53650362ee14a6c43.jpg) ![mo_exec.jpg](https://oss-club.rt-thread.org/uploads/53_d933928c653d68ed240b8af62eb8eab4.jpg)
查看更多
16
个回答
默认排序
按发布时间排序
Arda
2012-03-05
这家伙很懒,什么也没写!
先占个沙发,呵呵。 哎,忘记了个事情,STM32F的I2C“奇特无比”。建议Bernard采用ST自己的CPAL操作I2C。
bernard
2012-03-07
这家伙很懒,什么也没写!
开始发图了,因为这是最原始最原始的版本,有些是直接飞线的,焊接的器件也不全。 先看看板子,这个是最原始的第一版目标板,名称叫做RT-Arduino 正面照片 [attachment=-1] 反面照片 [attach]0[/attach] 后续再补上PCB光板照。 为什么是RT-Arduino,因为它是RT-Thread与Arduino的结合体(这个是什么样的结合,后面慢慢就会知道了,好像很紧密又好像很松透)。 RT-Thread是来自国内的开源实时操作系统,网址是:http://www.rt-thread.org Arduino是源于意大利的开源硬件,网址是:http://www.arduino.cc 开源软件与开源硬件,碰在一起,火花就出来了,后续的创意就靠大家了。 因为这个是第一版,原始之原始,先来看看板子的资料: [list] 芯片:STM32F407VG,ARM Cortex-M系列中最新的ARM Cortex-M4芯片,专门针对于小型设备。芯片内部闪存1MB,芯片内部内存(SRAM)128KB。主频:168MHz ~~好吧,当年Intel Pentium的水平。[/*:m] 外部接口:两个USB,一个是USB Device,一个是USB OTG<即可作为USB Host也可以作为USB Device>[/*:m] 然后其他的,都是留的外围接口,有UART,有SPI,PWM等等,给个板子近照:[/*:m] PWM 2 ~ 13[/*:m] UART 0 ~ 3[/*:m] Analog In 0 ~ 16[/*:m][/list:u]
bernard
2012-03-07
这家伙很懒,什么也没写!
Arduino上第一个程序(嗯,电子攻城师开始肯定是点灯!): Arduino本身有个IDE,有些相应的便利功能,例如编辑、编译、下载等。我们还处于原始状态,先只用它编辑吧。点灯代码: [attach]902[/attach] 具体的代码如下: ``` int ledPin = 13; void setup() { pinMode(ledPin,OUTPUT); } void loop() { digitalWrite(ledPin,HIGH); delay(300); digitalWrite(ledPin,LOW); delay(300); } ``` 代码中的意思是把13 pin做为输出,然后循环中执行拉高,休眠300毫秒,拉低,休眠300毫秒。文件名是led.pde。而在13 pin上,我们接了个led灯,所以当这个引脚变成高低电平的时候,相应的也就代表灯亮、灯灭。 编好了代码,就改轮到放到板子上跑起来了。<插一句传统做法:程序编辑好了,通常需要使用编译器编译,当然这一步也可以由集成开发环境帮你做了> 好吧,现在我们很简陋,还没有Arduino的IDE可以使用,那么我们从命令行开始吧,在module这个目录下执行: ``` scons –app=led ``` [attach]903[/attach] 从命令行中我们可以看到,我们使用的是scons这个命令行工具。<好吧,如果你熟悉RT-Thread,那么是又见scons> 另外,通过这个命令生成了什么目标文件呢?看仔细些,我们会发现有个-o指向的文件: ``` arm-none-eabi-gcc -o rootled.mo -mcpu=cortex-m4 -mthumb -Wl,-z,max-page-size=0x4 -shared -fPIC -e main -nostdlib -e main ledArduino.o ledled.o ``` 对啦,这个就是目标文件,放在了root目录下。这个目录下已经有些文件了,我们看看: [attach]904[/attach] 假设这个就是程序(hello.mo和led.mo),那么是否把这个目录放到板子上它就可以运行?我们可以通过一个工具把这个文件夹转换成一个二进制文件,并最终把这个二进制文件烧写到RT-Arduino目标板的闪存上。 我们在module目录下执行这个命令: ``` c:Python27python.exe mkromfs.py --binary --addr 0x08080000 root ``` 然后就会在module目录下看到root.bin文件。好吧,把这个文件烧写到板子上,因为目前还没有boot loader工具,只能暂时使用SWD仿真器进行了。 烧写完毕后,该运行这个程序了。对了,我们刚才不是把这个目录直接烧写到板子里吗,我们通过shell(串口线)来看看文件系统下是否有这个文件: 在shell下执行ls()命令列出目录看看: [attach]905[/attach] 果真有!目录、文件(hello.mo、led.mo)一个不差。那么我们开始执行它,继续输入命令: ``` exec(“led.mo”) ``` [attach]906[/attach] 程序起来了,灯在开始周期性的闪烁!
bloom5
2012-03-07
这家伙很懒,什么也没写!
强力关注
prife
2012-03-07
这家伙很懒,什么也没写!
前排留名呀
softwind
2012-03-07
这家伙很懒,什么也没写!
怎么实现的呢,应用模块加载?和Arduino怎么联系起来的呢?不太明白。
bernard
2012-03-07
这家伙很懒,什么也没写!
>怎么实现的呢,应用模块加载?和Arduino怎么联系起来的呢?不太明白。 --- You got it.
grissiom
2012-03-07
这家伙很懒,什么也没写!
原来 Arduino 的下载方式是怎样的?如果要是能省略中间的步骤,直接下载就好了~
bernard
2012-03-07
这家伙很懒,什么也没写!
>原来 Arduino 的下载方式是怎样的?如果要是能省略中间的步骤,直接下载就好了~ --- 从上面的步骤可以看到,Arduino程序编译后会被下载到内部文件系统中,那么后续的就清晰了,通过串口、U盘、无线等等方式下载到文件系统中即可。
grissiom
2012-03-08
这家伙很懒,什么也没写!
>>原来 Arduino 的下载方式是怎样的?如果要是能省略中间的步骤,直接下载就好了~ > >--- > > > >从上面的步骤可以看到,Arduino程序编译后会被下载到内部文件系统中,那么后续的就清晰了,通过串口、U盘、无线等等方式下载到文件系统中即可。 --- 嗯,这个明白~ 我的意思是 Arduino 原来不是也有个下载按钮的么。如果能编译完之后点一下那个下载按钮,然后咣咣咣就下载到板子里运行了,不用自己在手工做文件系统了,就完美了 [s:160]
撰写答案
登录
注册新账号
关注者
0
被浏览
12.8k
关于作者
bernard
这家伙很懒,什么也没写!
提问
414
回答
5940
被采纳
76
关注TA
发私信
相关问题
1
[项目]搞个开源的硬件项目
2
硬件计划贴,及时更新,欢迎提意见
3
软件计划贴,及时更新,欢迎提意见::WMA,MOUNT,LWIP等问题急需解决.
4
MMS协议
5
定点的wma解压库-libwma
6
QQ群记录 [20090821]
7
STM32网络收音机PCB报名征集
8
第一版调试记录
9
第二版硬件讨论
10
RADIO项目相关模块规格--欢迎大家自己做板时规格与此兼容,减少重复劳动
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
开源共生 商业共赢 | RT-Thread 2024开发者大会议程正式发布!
2
【24嵌入式设计大赛】基于RT-Thread星火一号的智慧家居系统
3
RT-Thread EtherKit开源以太网硬件正式发布
4
如何在master上的BSP中添加配置yml文件
5
使用百度AI助手辅助编写一个rt-thread下的ONVIF设备发现功能的功能代码
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
WIZnet_W5500
UART
ota在线升级
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
SFUD
keil_MDK
rt_mq_消息队列_msg_queue
MicroPython
ulog
C++_cpp
本月问答贡献
踩姑娘的小蘑菇
7
个答案
3
次被采纳
a1012112796
19
个答案
2
次被采纳
张世争
9
个答案
2
次被采纳
rv666
6
个答案
2
次被采纳
用户名由3_15位
13
个答案
1
次被采纳
本月文章贡献
程序员阿伟
9
篇文章
2
次点赞
hhart
3
篇文章
4
次点赞
RTT_逍遥
1
篇文章
5
次点赞
大龄码农
1
篇文章
5
次点赞
ThinkCode
1
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部