本文原创于http://www.cnblogs.com/humaoxiao,非法转载者请自重!

    在上一篇文章中,我们在OSX中编译了ST-Link2调试工具,并且简单的对其功能进行了测试。在这篇文章中,我们安装交叉编译工具。

    提前声明,当我提到“用户文件夹”时,指的就是你的用户文件夹,拿我自己举例子,我的用户名是apple,我的用户文件夹绝对地址就是/Users/apple。如果你的用户名是pear,那你的用户文件夹就是/Users/pear。非常简单,在终端,我们可以直接输入“cd”命令来跳转到自己的用户文件夹。以下所有例子都是以我的用户文件夹做例子的,切记在使用时更换成你自己的用户文件夹。KEEP THIS IN MIND!

(二)安装STM32F4交叉编译器

(1)打开网站 https://launchpad.net/gcc-arm-embedded/+download

    在这里,我们下载第一个 gcc-arm-none-eabi-4_8-2013q4-20131218-mac.tar.bz2即可,这是已经编译好的交叉编译工具,免去了我们的编译之苦(随后的文章中会给出编译过程,敬请期待),如果你愿意多尝试一下的话,也可以下载src源码包自己尝试编译。

    (2)将压缩包解压到你的用户文件夹(~/)中

    文件夹名字可能跟我现在的名字不同,不要紧,因为这些东西保不准啥时候就更新了,我们把解包出来的文件夹统一命名为gcc-arm-none-eabi,这样以后就方便了

    我们可以看一下gcc-arm-none-eabi的文件夹结构:

    在这里,最重要的就是gcc-arm-none-eabi/bin文件夹下的这些编译和调试工具了,最最常用的当然就是arm-none-eabi-gcc啦!

(3)添加交叉编译器的用户环境变量

    那么,我们为什么要添加用户环境变量呢?因为现在我们只是把编译器放到了自己的用户文件夹里,但是系统要调用的时候,根本找不到它们在哪。我们很火大,为什么系统你就不能自己找呢?系统也很火大,要是我自己什么都能找到,那你硬盘里的那些Mao Pian怎么办!所以僵持之下,我们还是手动给这些编译器添加环境变量吧:)

    OK,要想找到我们用户环境变量,很简单,只需在终端输入

cd ~/

ls -a

    出来一大堆东西,我们找到文件.profile,这就是我们要找的东西,如果没有的话也不用着急,手动创建一个即可。

    用任何编辑器打开它均可,我使用vim打开它:

vim .profile

打开后不管文件是否为空,在文件的最后添加两行:

export PATH=/Users/apple/gcc-arm-none-eabi/bin:$PATH

export PATH=/Users/apple/stlink.git:$PATH

    在这里,需要把上面的apple换成你自己的用户名,如果不明白请看本文开头部分,一定不要搞错了。

    非常简单吧,第一行是把我们交叉编译器所在文件夹的绝对地址添加到了环境变量中。第二行是顺便把我们上一篇中使用的ST-Link2工具所在的文件夹也添加到环境变量中。

    保存退出,重新启动终端使设置生效。

(4)验证配置是否正确

    在终端直接输入echo $PATH

    我这边打印出来的信息是

    /Users/apple/stlink.git:/Users/apple/gcc-arm-none-    eabi/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin

    他们以冒号分割,大家可以看到前两个路径是我们刚刚添加进去的,说明环境变量添加成功!

    挺有意思的吧?所有的东西都在我们的控制之下,这种感觉好极了:)

 

在下一篇中,我们将编译一个小例子,使用st-flash工具烧写bin文件,实现点亮一个led的功能。

------------------------------------

大家可以+关注我的博客,以便得到最新的文章。

------------------------------------

打字不易,转载请注明出处(http://www.cnblogs.com/humaoxiao/p/3576732.html),谢谢。

在Mac OS X中搭建STM32开发环境(2)的更多相关文章

  1. 在Mac OS X中搭建STM32开发环境(3)

       本文原创于http://www.cnblogs.com/humaoxiao,非法转载者请自重!     在上两篇文章中,我们先后编译和安装了ST-Link2和交叉编译工具,在大家确认安装成功以后 ...

  2. 在Mac OS X中搭建STM32开发环境(1)

    本文原创于http://www.cnblogs.com/humaoxiao,非法转载者请自重! 本文方法必须好用!绝不坑爹!看了N多英文资料才搞明白的,适用于STM32F4DISCOVERY评估板,带 ...

  3. Mac OS X下搭建Android开发环境(包括SDK和NDK)

    资源准备:  JDK Eclipse Android SDK Android NDK ADT CDT ANT 搭建Android SDK开发环境: 1.JDK安装,要求版本>1.5, Mac O ...

  4. 如何在Mac OS系统下搭建Java开发环境 配置Java环境变量

    1. 打开终端   在finder里面搜索(这台MAC)查找终端   2. 在cdlouiedeAir:~ cdlouie$(cdlouie是我的电脑用户名) 后面输入sudo vim /etc/pr ...

  5. 在Mac OS X中使用VIM开发STM32(2)

    本文原创于http://www.cnblogs.com/humaoxiao,非法转载者请自重! 在我先前的博文⎣在Mac OS X中使用VIM开发STM32(1)⎤中,我们安装完成了MACVIM,这一 ...

  6. 在Mac OS X中使用VIM开发STM32(1)

       本文原创于http://www.cnblogs.com/humaoxiao,非法转载者请自重!     在我先前的博文⎣在Mac OS X中搭建STM32开发环境⎤中,我们在Mac中DIY出了最 ...

  7. VS Code 搭建stm32开发环境

    MCU免费开发环境 一般芯片厂家会提供各种开发IDE方案,通常其中就包括其自家的集成IDE,如: 意法半导体 STM32CubeIDE NXP Codewarrior TI CCS 另外也可以用ecl ...

  8. mac 下 用 glfw3 搭建opengl开发环境

    mac 下 用 glfw3 搭建opengl开发环境 下载编译 glfw3 Build Setting 里面, Library Search Paths -> 设置好编译 glfw 库的路径 H ...

  9. 在 Ubuntu 13.10 中搭建Java开发环境 - 懒人版

    本文记录我在Ubuntu 13.10中搭建Java开发环境. 本文环境: Ubuntu 13.10 x64运行在Win7下的VMware Workstation 10中. 1. 安装JDK与JRE s ...

随机推荐

  1. 在ubuntu上面配置nginx实现反向代理

    1.下载nginx    官网:http://nginx.org/en/download.html    直接在服务器上下载 wget http://nginx.org/download/nginx- ...

  2. 项目androidAnt编译打包Android项目

    时间紧张,先记一笔,后续优化与完善. Ant编译打包Android项目 在Eclipse中对Android项目停止编译和打包如果项目比较大的话会比较慢,所以改为Ant工具来停止编译和打包 Ant环境配 ...

  3. (原)C++解析XML生成类对象_v1.0 函数指针

    要写一个xml解析,解析后获得到的数据变成各个类的对象. 解析有现成的库,使用tinyxml,但是解析出来的类库如何变成各个类的对象, 例如一下这个xml, <musics> <mu ...

  4. 四、Socket之UDP异步传输文件-用控件显示文件传输进度

    上一篇文章三.Socket之UDP异步传输文件中,实现了多文件的传输和MD5校验,还显示了文件传输过程中的信息,在这一篇文章中,将介绍怎样实现传输文件的进度显示和实现选择保存文件路径. 首先,来实现一 ...

  5. php 获取远程图片

    一 function gethttpimage($url){      set_time_limit(0);      if(!empty($url)){        $imgUrl=date('Y ...

  6. Database API

    Database API Introduction Basic Usage Selects Joins Aggregates Raw Expressions Inserts Updates Delet ...

  7. CSS3 旋转的八卦图

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. 基于JQuery实现相同内容合并单元格[转]

    <script type="text/javascript"> jQuery.fn.rowspan = function(colIdx) { //封装的一个JQuery ...

  9. Windows服务定时运行,判断当前时间是否在配置时间段内

    /// <summary> /// 判断程序是否在设置运行时间内 /// </summary> /// <param name="startTime" ...

  10. scala学习笔记:理解并行集合par

    scala> (1 to 5).foreach(println(_)) 1 2 3 4 5 scala> (1 to 5).par.foreach(println(_)) 3 1 4 2 ...