文档章节

使用arduino开发环境来开发普通单片机开发板

Okimbin
 Okimbin
发布于 2014/02/12 00:26
字数 494
阅读 539
收藏 1

       arduino开发板正常情况下是通过在代码中嵌入bootloader代码,利用单片机的IAP功能通过USB口来实现程序下载。其实通过合理的设置产生程序的hex或者bin文件然后用下载器下载到单片机里也可以实现程序下载,这样可以利用arduino的开发环境和开源资料来对市面上其他的普通单片机开发板进行程序开发。本文就以MapleIDE开发普通STM32单片机程序为例来进行说明。

       在arduino开发环境中如果在lib\preferences.txt文件最后一行增加build.path=“存储路径”,则按住shift编译之后会在对应的文件夹里产生hex或者bin文件。但是此文件由于含有bootloader的启动过程因此直接下载进单片机中是不能运行的,还需要做如下的设置:

       1.在hardware\leaflabs\boards.txt中增加STM32F103RBT6开发板型的参数如下,参数可以具体因单片机不同而修改

mapleJTAG.name=LeafLabs Maple Rev 3+ to JTAG

mapleJTAG.upload.file_type=bin

mapleJTAG.upload.maximum_size=128000

mapleJTAG.upload.ram.maximum_size=20000

mapleJTAG.upload.flash.maximum_size=128000

mapleJTAG.upload.usbID=1EAF:0003

mapleJTAG.upload.altID=1

mapleJTAG.upload.uploader=dfu-util

mapleJTAG.upload.auto_reset=true

mapleJTAG.build.board=maple

mapleJTAG.build.mcu=STM32F103RB

mapleJTAG.build.family=cortex-m3

mapleJTAG.build.f_cpu=72000000L

mapleJTAG.build.core=maple

mapleJTAG.build.submdl=stm32f103

mapleJTAG.build.vect=VECT_TAB_BASE

mapleJTAG.build.linker=maple/jtag.ld

mapleJTAG.build.using=armcompiler

mapleJTAG.build.density=STM32_MEDIUM_DENSITY

mapleJTAG.build.error_led_port=GPIOA

mapleJTAG.build.error_led_pin=5

     2.注意maple\jtag.ld中关于程序存储空间的关键内容如下:

MEMORY

{

  ram (rwx) : ORIGIN = 0x20000000, LENGTH = 20K

  rom (rx)  : ORIGIN = 0x08000000, LENGTH = 128K

}

       完成上述设置后就可以进行程序开发,开发完程序后采用串口下载软件即可将程序下载进STM32单片机中,注意STM32常用的MCU-ISP串口下载软件有时候对.bin的文件支持并不好,此处推荐uISP for STM32的下载软件。


bootloader参考资料:

  1. 解决方案:http://forums.leaflabs.com/topic.php?id=10278

  2. 另一种解决方法: http://www.geek-workshop.com/thread-3355-1-1.html

  3. 源代码:https://github.com/leaflabs/maple-bootloader  

  4. 官网介绍: http://leaflabs.com/docs/bootloader.html

© 著作权归作者所有

Okimbin
粉丝 2
博文 22
码字总数 4457
作品 0
海淀
私信 提问
315Mhz、433Mhz无线遥控信号的解码分析和模拟

摘要 前段时间学习无线电的同时了解到arduino是作为技能尚未成熟技术宅的我继树莓派又一个不错的选择。于是花了200元购得3块arduino开发板(2nano&1uno)和其他传感器等,同时看到了315M超再生...

广岛秋泽
2016/06/02
0
0
Arduino、arm、树莓派、单片机四者有什么不同?

1 . Arduino Arduino是一款便捷灵活、方便上手的开源电子原型平台,包含硬件(各种型号的Arduino板)和软件(Arduino IDE)。它适用于爱好者、艺术家、设计师和对于“互动”有兴趣的朋友们。(...

孟浩奇
2016/02/25
366
0
基于STM32(ARM Cortex M3)的Arduino——Spurce (支持Eclip...

很多电子专业的学生,或者刚刚入行的电子工程师都有一个困惑。电子行业范畴这么大,这么多细分行业,不知该如何抉择。诸如硬件、软件、Layout 、单片机、 ARM ……这么多名词让人眼花缭乱,职...

soliddigi
2011/09/18
2.9K
0
【物联网(IoT)开发】Arduino 简介

Arduino 的开源、开放、廉价、简单、跨平台等特点使其快速发展起来,成为学习微控制器的首选,成为物联网(IoT)开发的重要组成部分,通过Arduino我们可以从各种传感器感知世界,也可以控制各种...

微wx笑
2016/09/17
0
0
Arduino 兼容开发板--Microduino

Microduino 是 Arduino 的兼容开发板。 Microduino 采用 U 型 27pin Microduino 接口规范,尺寸小巧,长25.4mm X 宽27.94mm,仅一枚1元人民币硬币的大小。轻量化的设计让Microduino在对尺寸、...

匿名
2013/05/14
7.8K
0

没有更多内容

加载失败,请刷新页面

加载更多

PCB设计-Allegro软件入门系列-铺铜操作(下)

铺铜是PCB很常见的操作,PCB的敷铜一般都是覆地铜,增大地线面积,有利于地线阻抗降低,使电源和信号传输稳定,在高频的信号线附近敷铜,可大大减少电磁辐射干扰,起屏蔽作用。 本讲讲解啊一...

demyar
3分钟前
1
0
如何通过WASI SDK 在Linux上编译ZXing C++

Mozilla在今年三月份的时候公布了WASI。WASI的目标就是让WebAssembly在任何地方都可以运行,而不仅仅像现在这样只能运行在Node.js和Web浏览器中。WASI目前依然处于初级阶段,这篇文章分享下如...

yushulx
5分钟前
1
0
.Net界面开发神器—DevExpress官方汉化包免费下载!还在等什么?

点击获取DevExpress v19.1.7新版试用下载 DevExpress Localization Service允许您创建一组自定义的附属程序集,要将语言包添加到程序集中,请查看本文中为大家列出的对应版本的汉化包,下载并...

FILA6666
5分钟前
2
0
php生成二维码

        header('Content-Type: image/png');        //清除缓冲区,防止之前面不知道的情况下被加头部信息导致不显示图片内容        ob_clean();        $...

横着走的螃蟹
10分钟前
2
0
伪类和伪元素

伪类和伪元素 伪类和伪元素,对于绝大多数同学来说,都是耳熟能详的名字,但确实又有很多人搞不清楚它们之间的区别,以致于混淆概念。而当概念都混淆的时候,也往往意味着你不会经常使用它,...

不负好时光
13分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部