• STM32开发环境搭建-linux
    • 交叉编译工具链安装方法一
    • 交叉编译工具链安装方法二
    • arm-none-eabi说明
    • 硬件开发工具

    STM32开发环境搭建-linux

    作者:nieyong

    Crazepony飞控主板使用STM32作为主控制器,下面主要介绍如何在ubuntu系统下进行STM32固件的开发/编译/下载。

    对STM32开发需要在ubuntu系统下搭建arm嵌入式开发的交叉编译工具链。测试的系统为ubuntu 14.04。

    交叉编译工具链安装方法一

    STM32处理器使用gcc-arm-none-eabi-交叉编译链。使用wget下载交叉编译工具链到本地,并且解压缩到~/bin/目录下。

    1. wget https://launchpad.net/gcc-arm-embedded/4.7/4.7-2013-q1-update/+download/gcc-arm-none-eabi-4_7-2013q1-20130313-linux.tar.bz2
    2. mkdir ~/bin

    修改~/.bashrc文件,将交叉编译工具链的路径添加到当前用户的默认搜索路径下。并且使用source命令使其马上生效。

    1. echo -e "\nPATH=\$PATH:$HOME/bin/gcc-arm-none-eabi-4_7-2013q1/bin" >> ~/.bashrc
    2. source ~/.bashrc

    可以使用type命令检测交叉编译工具是否安装成功。例如检测其arm-none-eabi-gcc命令,可以看到其在刚才安装的~/bin目录下检测到。

    1. type arm-none-eabi-gcc
    2. arm-none-eabi-gcc /home/ny/bin/gcc-arm-none-eabi-4_7-2013q1/bin/arm-none-eabi-gcc

    交叉编译工具链安装方法二

    方法一需要手动下载gcc-arm-none-eabi-工具链压缩包,解压缩,然后手动配置工具链的地址系统默认路径下。该方法适合几乎所有的Linux系统,例如fedora/ubuntu/debian等。对于ubuntu用户,可以直接使用apt包管理工具进行安装。

    • 由于gcc-arm-none-eabi-没有包含在ubuntu默认支持的包内,需要添加一个支持gcc-arm-none-eabi-的源:
    1. sudo add-apt-repository ppa:terry.guo/gcc-arm-embedded
    • 更新添加的源:
    1. sudo apt-get update
    • 安装gcc-arm-none-eabi-工具链
    1. sudo apt-get install gcc-arm-none-eabi

    使用type命令检查是否安装成功,如果出现下面的提示,那么就说明安装成功,可以使用。

    1. $ type arm-none-eabi-gcc
    2. arm-none-eabi-gcc /usr/bin/arm-none-eabi-gcc

    arm-none-eabi说明

    arm相关的交叉编译工具链由很多,例如arm-linux-eabi,arm-none-eabi。STM32处理器使用的是arm-none-eabi。

    1. arm-none-eabiarm-linux-eabi等的区别:
    2. arm-linux-eabi 用于编译arm linux内核代码。
    3. arm-none-eabi 不指名操作系统,可以是linux, 也可以是vxworks等,arm-none-eabi 不包含 __linux__ 等特定宏,所以往往编译linux 内核的时候通不过,不支持那些跟操作系统关系密切的函数,比如fork(2),使用的是newlib这个专用于嵌入式系统的C库。
    4. arm-none-linux-eabi 用于Linux的,使用Glibc

    硬件开发工具

    Crazyflie电路原理图使用的KiCad,KiCad以一个开源的EDA工具,并且跨平台,在windows和linux下都能够使用。

    KiCad的home page:http://www.kicad-pcb.org/。在ubuntu下的安装:

    1. sudo apt-get install kicad