STM32的开发环境有很多总,官方手册也提供了IAR Embedded Workbench、MDK-ARM和TrueSTUDIO这3种。今天我试用了CooCox CoIDE,是免费的集成开发环境,同TI公司提供的Code Composer Studio CCS一样,基于Eclipse和GCC的全功能集成开发环境(IDE),两者的界面都差不多,用惯了CCSv5的话,就很容易上手了。下面开始我的试用。
1.下载并安装CooCox CoIDE:CooCox CoIDE V1.7.5      9/29/2013更新
下载地址:http://www.coocox.org/CoIDE/CoIDE_Updates.htm,下面是界面:

2.首先你需要自己下载安装编译交叉工具链gcc-arm-none-eabi-4_7-2013q3-20130916-win32.exe。下载地址:https://launchpad.net/gcc-arm-embedded/+download

安装完之后的目录:

3.配置CoIDE的编译器,选择Project->Select Toolchain Path

选择你先前安装工具链的目录:例如我的是D:\\Program Files (x86)\\GNU Tools ARM Embedded\\4.7 2013q3\\bin

4.接下来开始创建工程了,一步步按照下面操作,简单点击下就行了,省了好多事儿!


按照我下面的图打上勾,我第一个测试的GPIO控制

接下来点击Build:

啊哦!怎么会有warning呢?好吧,先解决下。当然找度娘啦!

找到出现警告的原因后,解决办法如下。(个人方法,仅供参考)


再来编译下,没有警告了。

5.接下来就是编写程序了[code]#include \"stm32f0xx.h\"
#include \"stm32f0xx_rcc.h\"
#include \"stm32f0xx_gpio.h\"

GPIO_InitTypeDef GPIO_InitStructure;

int main(void)
{
        uint32_t times;
  /* GPIOC Periph clock enable */
  RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOC, ENABLE);

/* Configure PC8 and PC9 in output pushpull mode */
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
  GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
  GPIO_Init(GPIOC, &GPIO_InitStructure);

while (1)
  {
    /* Set PC8 and PC9 */
    GPIO_SetBits(GPIOC, GPIO_Pin_8);
        /* Delay some time */
        for(times = 0; times < 500000; times++);
    GPIO_SetBits(GPIOC, GPIO_Pin_9);
        for(times = 0; times < 500000; times++);

GPIO_ResetBits(GPIOC, GPIO_Pin_8);
        for(times = 0; times < 500000; times++);
        GPIO_ResetBits(GPIOC, GPIO_Pin_9);
        for(times = 0; times < 500000; times++);
  }
}
[/code][code]
[/code]
6.你也可以查看官方提供的例程

7.总结:有人问这么多的开发环境,该怎么选择呢?其实你大可以每款软件都尝试用一下,根据自己的口味来选择。比如人家分享的心得,在Ubuntu下开发STM32,其实也是基于Eclipse和GCC,这就涉及到了开源了。我喜欢开源。过两天有时间也配置下Ubuntu13.10下的STM32F0的开发环境,图文并茂哦!

STM32F0308开发环境的选择--CooCox CoIDE篇的更多相关文章

  1. Java开发环境的搭建01——Eclipse篇(Windows)

    搭建环境是换项目组和新入职的开发入项都必须面临的一件事情,搭搭环境,一天就过去了...本着不浪费生命不做重复的无用功,在这里写写环境搭建的基本功,这篇是介绍Java环境搭建,常见的开发IDE无非就两种 ...

  2. 个人PHP开发环境的选择与搭建

    入职一个多月,重新调整了一下自己电脑的开发环境,现在写出来,算是作为自己的笔记. 如果你是该文章的读者,请忍受文章内的所有小章节都没有具体的步骤. 因为平时还要打游戏(划掉),所以电脑系统一直是Win ...

  3. 深度学习开发环境搭建教程(Mac篇)

    本文将指导你如何在自己的Mac上部署Theano + Keras的深度学习开发环境. 如果你的Mac不自带NVIDIA的独立显卡(例如15寸以下或者17年新款的Macbook.具体可以在"关 ...

  4. 机器学习 - 开发环境安装pycharm + tensorflow集成篇

    继续上篇的pyspark集成后,我们再来看看当今热的不得了的tensorflow是如何继承进pycharm环境的 参考: http://blog.csdn.net/include1224/articl ...

  5. 一、React Native 搭建开发环境(1)(Mac OS - IOS项目篇)

    React Native是Facebook推出的一个开发IOS和安卓APP的技术.至于更多的详情,这里不再描述,大家可以自行百度它的定义. 原因:由于我想在一台电脑上同时开发IOS和Android两个 ...

  6. Java开发环境的搭建02——IntelliJ IDEA篇(Windows)

    1.IntelliJ IDEA的下载与安装 IntelliJ IDEA简称IDEA,由JetBrains公司开发,是java语言开发的集成环境,也是目前业界被公认的最好的java开发工具之一.尤其在智 ...

  7. Android开发环境搭建篇详尽的教程实例汇

    原文链接:http://android.eoe.cn/topic/android_sdk 一.android开发环境搭建图文教程整理篇: 1.Android开发环境搭建全程演示(jdk+eclip+a ...

  8. Direct3D11学习:(一)开发环境配置

    转载请注明出处:http://www.cnblogs.com/Ray1024   从今天开始,开启一个新的系列:Direct3D11的学习教程. 因为一直对3D方面比较感兴趣,最近决定开始学习D3D知 ...

  9. 「C语言」Windows+EclipseCDT下的C语言开发环境准备

    之前写过一篇 「C语言」在Windows平台搭建C语言开发环境的多种方式 ,讨论了如何在Windows下用DEV C++.EclipseCDT.VisualStudio.Sublime Test.Cl ...

随机推荐

  1. 修改sqlplus提示符

    如图所示 : 修改 提示符为 username(sid_serial#)@instance_name ,这样其实很方便的 以下是步骤 在11g中glogin.sql 文件是不存在的,取而代之的是 lo ...

  2. Spring学习之代理

    Spring的核心就是IOC和AOP IOC就是控制反转:   就是用配置文件的方式给javabean 赋值. 正常的在程序里;用new 的方式创建一个对象的时候,他就固定了值, 如果是注入的方式的话 ...

  3. 暑假集训(2)第一弹 -----Is It A Tree?(Poj308)

    A - Is It A Tree? Crawling in process... Crawling failed Time Limit:1000MS     Memory Limit:10000KB  ...

  4. QListWidget 删除选中项目

    void MainWindow::on_action_Del_triggered() { QList<QListWidgetItem*> selectedItems = ui->li ...

  5. 访问Access数据库(有多个数据库时 体现多态)

    如果想编写单机版MIS.小型网站等对数据库性能要求不高的系统,又不想安装SQLServer,可以使用Access(MDAC),只要一个mdb文件就可以了.使用Access创建mdb文件,建表.OleD ...

  6. 为什么aspx这么“慢”

    首先你要明白什么viewstate:由系统生成的一个隐藏域,用来进行页面状态保持的 里面存放着关于判断页面是否提交的Ispostback,和一些关于服务器控件的状态和数据: (说明下 ,ViewSta ...

  7. 疯狂学习java web

    因工作需要,疯狂学习java web,只是这么多年一直从事C++开发,突然之间要接手同事的那么一大堆代码,真有无从下手的感觉,首先是要学习html,然后是js, 然后是jsp,当然还有各种框架,想想就 ...

  8. linux ptheard 生产者消费者

    ;     {           {          printf(         pthread_mutex_lock(&mutex);            != g_iBufSiz ...

  9. 【笔记-前端】div+css排版基础,以及错误记录

    现在的网站对于前端的排版已经逐渐不使用<table>,而是使用div+css. 使用这种方法的最大好处就在于在维护页面时,可以只维护css而不去改动html. 可是这种方式对于初学者来说可 ...

  10. php 魔术方法

    PHP5.0后,php面向对象提成更多方法,使得php更加的强大!! 一些在PHP叫魔术方法的函数,在这里介绍一下:其实在一般的应用中,我们都需要用到他们!! 1.__construct() 当实例化 ...