这一段时间找到CoIDE,发现其真的挺好用,编辑界面比Keil功能强大。因此把实际操作过程记录下来。

CoIDE  是CooCox专业打造的一款免费的ARMCortexMCU嵌入式集成开发环境(Integrated Development Environment,IDE)。CoIDE集成了CoBuilder和CoDebugger,适用于编译、烧写及调试嵌入式系统应用。它为ARM Cortex-M系列的开发者提供了一套完整的集成开发环境,包括工程管理、编辑、编译工具、调试器。自2010年8月份正式发布第一版本CoIDE V1.0.0,目前稳定版本是V1.7.8。

其特点如下:

  • 免费的集成开发环境
  • 集成ARM GCC编译器和CDT编辑器
  • 支持doxygen语法规范,可自动生成帮助文档
  • 基于互联网以组件库为核心的嵌入式开发平台
  • 集成嵌入式操作系统CoOS
  • 支持主流的Cortex M0,M3,M4,M0+芯片
  • 可定制的图形化用户界面
  • 支持程序下载,在FLASH或RAM中调试
  • 外设寄存器同步更新和查看

1、由于CoIDE是基于eclipse开发的,其基础是Java开发,因此必须安装Java运行环境,才能安装和运行CoIDE. Java Runtime Environment(JRE),

下载地址:http://www.java.com/en/download/manual.jsp ,根据电脑系统类型选择32位还是64位。这个安装比较简单,一路下一步就好了。

2、到官方网站下载CoIDE,选择V1.7.8版本:

下载地址:http://www.coocox.org/software/coide.php 如果以后需要使用新版本,再更换! 这个安装也比较简单,一路next就好了。

3、下载免费GUN编译工具,

下载地址为: https://launchpad.net/gcc-arm-embedded/+download 下载安装编译交叉工具链gcc-arm-none-eabi-4_7-2013q3-20130916-win32.exe。

这个安装也简单,运行后提示选择语言,选择简体中文后,安装界面变为中文界面,一路下一步,直至安装完成。

4、安装完成后,桌面和开始菜单中都会有COIDE的图标,双击运行CoIDE,第一次需要加载和配置很多东西,打开时间稍慢,打开后初始界面如下。

5、由于该IDE需要手动选择配置编译器,因此选择使用我们前面安装了的GUN编译器,当然也可以选择其它家的(前提是已安装)。

点击菜单Project->Select Toolchain Path,界面如下

6、该编译工具自带使用说明,pdf格式,100多页,介绍详细,使用简单,大部分都是截图说明。在开始界面可以看到User Guide

7、以STM32051开发板为例,点击Project->new Project,创建工程名称为STM32F051。可以选择chip手动选择新品型号,也可以选择Board,,根据开发板类型选择,最后点击finish.

8、工程创建好后,通过Board方式创建的可以在Repository看到该开发版的信息.

推荐使用chip方式创建工程,使用chip方式创建工程后,可以看到库选择

9、添加GPIO和LED blinking例程代码,如下修改工程配置后,编译

10、在线调试,

点击debug按钮,或者快捷键Ctrl+F5,链接下载成功后自动进入main函数。在这个界面可以使用单步跟踪调试功能。全速运行,可以看到开发版上的LED灯循环闪动。

11、工程目录和文件的添加

在创建好的工程中添加目录和文件还是很方便的,在要添加的目录右键,选择Add Group或者Add Files即可,目录可以嵌套,目录可以整体拖动,创建好的目录和添加的文件自动按照字母顺序排序。

12、keil工程移植

在COIDE中,自动使用的是ST官方驱动库,STM32F10x使用的是V3.5版本,STM32F0系列使用的V1.2版本,因此如果之前的工程或者新建工程使用的版本库一致,原有代码基本无需改动,把原来的应用程序文件加载到这个工程目录即可。

CoIDE在STM32系列单片机中的使用实践的更多相关文章

  1. STM32系列单片机IO口模式设置

    STM32单片机的每组IO口都有4个32位配置寄存器用于配置GPIOx_MODER, GPIOx_OTYPER, GPIOx_OSPEEDR和GPIOx_PUPDR,2个32位数据寄存器用于配置输入和 ...

  2. 8、16、32-BIT系列单片机区别与特点

    一.8位单片机 8031/8051/8751是Intel公司早期的产品 1.8031的特点 8031片内不带程序存储器ROM,使用时用户需外接程序存储器和一片逻辑电路373,外接的程序存储器多为EPR ...

  3. STM32系列ARM单片机介绍

    STM32系列基于专为要求高性能.低成本.低功耗的嵌入式应用专门设计的ARM Cortex-M3内核.按性能分成两个不同的系列:STM32F103"增强型"系列和STM32F101 ...

  4. stm32开发笔记(二):stm32系列使用V3.5固件库的帮助文件以及GPIO基本功能(一)

    前言   stm32系列是最常用的单片机之一,不同的版本对应除了引脚.外设.频率.容量等'不同之外,其开发的方法是一样的.  本章讲解使用库函数使用GPIO引脚功能.   补充   本文章为多年前学习 ...

  5. stm32开发笔记(三):stm32系列的GPIO基本功能之输出驱动LED灯、输入按键KEY以及Demo

    前言   stm32系列是最常用的单片机之一,不同的版本对应除了引脚.外设.频率.容量等'不同之外,其开发的方法是一样的.  本章讲解使用GPIO引脚功能驱动LED灯和接收Key按钮输入.   STM ...

  6. STM32L系列单片机内部EEPROM的读写

    STM32L系列单片机内部提供了EEPROM存储区域,但实质上,其FLASH也是EEPROM类型,只不过有一块区域被开放出来专门用作EEPROM操作而已.STM32L的EEPROM使用寿命设计为100 ...

  7. AT89C 系列单片机解密原理

    单片机解密简单就是擦除单片机片内的加密锁定位.由于AT89C系列单片机擦除操作时序设计上的不合理.使在擦除片内程序之前首先擦除加密锁定位成为可能.AT89C系列单片机擦除操作的时序为:擦除开始---- ...

  8. 单片机中printf函数的重映射

    单片机中printf函数的重映射 一.源自于:大侠有话说 1.如果你在学习单片机之前学过C语言,那么一定知道printf这个函数.它最最好用的功能 除了打印你想要的字符到屏幕上外,还能把数字进行格式化 ...

  9. Keil MDK STM32系列(九) 基于HAL和FatFs的FAT格式SD卡TF卡读写

    Keil MDK STM32系列 Keil MDK STM32系列(一) 基于标准外设库SPL的STM32F103开发 Keil MDK STM32系列(二) 基于标准外设库SPL的STM32F401 ...

随机推荐

  1. catalog备份数据库及RMAN存储脚本

    环境说明: 提前配置好两个库的监听与tnsnames.oraIP:10.100.25.13 为目标数据库  IP:10.100.25.14 为恢复目录数据库(catalog database) 以下操 ...

  2. chp-adapter 文件结构

    1.需要接口给chp推送数据的Bean,写到/chp-adapter/src/main/java/com/creditharmony/adapter/service 文件夹中,并添加父类,供chp业务 ...

  3. SQL Server 开发-语法学习

    一.定义变量 --简单赋值 declare @a int print @a --使用select语句赋值 ) select @user1='张三' print @user1 ) print @user ...

  4. [Linux] 安装JBoss - CentOS

    CentOS安装Jboss 7 AS方法:(安装java跳过) 1.首先下载JBoss 7 AS的zip文件. 2.使用SSH,上传到CentOS中.(如何使用的是wget命令下载,可以跳过些步),这 ...

  5. 【linux】之相关命令

    防火墙 ) 重启后生效 开启: chkconfig iptables on 关闭: chkconfig iptables off ) 即时生效,重启后失效 开启: service iptables s ...

  6. 黄聪:GeckoWebBrowser多窗口独立cookie

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  7. mysql-5.7.13-win32 安装

    *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...

  8. AJAX跨域解决方案

    从AJAX诞生那天起,XMLHttprequest对象不能跨域请求的问题就一直存在,这似乎是一个很经典的问题了,是由于javascript的同源策略所导致. 解决的办法,大概有如下几种: 1. 使用中 ...

  9. C#位操作(转)

    在C#中可以对整型运算对象按位进行逻辑运算.按位进行逻辑运算的意义是:依次取被运算对象的每个位,进行逻辑运算,每个位的逻辑运算结果是结果值的每个位.C#支持的位逻辑运算符如表2.9所示. 算符号 意义 ...

  10. 转I2s

    转自http://blog.csdn.net/ce123/article/details/6919954 I2S音频总线学习(二)I2S总线协议 一.I2S总线概述 音响数据的采集.处理和传输是多媒体 ...