在Mac OS X中搭建STM32开发环境(2)
本文原创于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)的更多相关文章
- 在Mac OS X中搭建STM32开发环境(3)
本文原创于http://www.cnblogs.com/humaoxiao,非法转载者请自重! 在上两篇文章中,我们先后编译和安装了ST-Link2和交叉编译工具,在大家确认安装成功以后 ...
- 在Mac OS X中搭建STM32开发环境(1)
本文原创于http://www.cnblogs.com/humaoxiao,非法转载者请自重! 本文方法必须好用!绝不坑爹!看了N多英文资料才搞明白的,适用于STM32F4DISCOVERY评估板,带 ...
- Mac OS X下搭建Android开发环境(包括SDK和NDK)
资源准备: JDK Eclipse Android SDK Android NDK ADT CDT ANT 搭建Android SDK开发环境: 1.JDK安装,要求版本>1.5, Mac O ...
- 如何在Mac OS系统下搭建Java开发环境 配置Java环境变量
1. 打开终端 在finder里面搜索(这台MAC)查找终端 2. 在cdlouiedeAir:~ cdlouie$(cdlouie是我的电脑用户名) 后面输入sudo vim /etc/pr ...
- 在Mac OS X中使用VIM开发STM32(2)
本文原创于http://www.cnblogs.com/humaoxiao,非法转载者请自重! 在我先前的博文⎣在Mac OS X中使用VIM开发STM32(1)⎤中,我们安装完成了MACVIM,这一 ...
- 在Mac OS X中使用VIM开发STM32(1)
本文原创于http://www.cnblogs.com/humaoxiao,非法转载者请自重! 在我先前的博文⎣在Mac OS X中搭建STM32开发环境⎤中,我们在Mac中DIY出了最 ...
- VS Code 搭建stm32开发环境
MCU免费开发环境 一般芯片厂家会提供各种开发IDE方案,通常其中就包括其自家的集成IDE,如: 意法半导体 STM32CubeIDE NXP Codewarrior TI CCS 另外也可以用ecl ...
- mac 下 用 glfw3 搭建opengl开发环境
mac 下 用 glfw3 搭建opengl开发环境 下载编译 glfw3 Build Setting 里面, Library Search Paths -> 设置好编译 glfw 库的路径 H ...
- 在 Ubuntu 13.10 中搭建Java开发环境 - 懒人版
本文记录我在Ubuntu 13.10中搭建Java开发环境. 本文环境: Ubuntu 13.10 x64运行在Win7下的VMware Workstation 10中. 1. 安装JDK与JRE s ...
随机推荐
- Android提高21篇之二:SurfaceView的基本使用方法
上次介绍MediaPlayer的时候稍微介绍了SurfaceView,SurfaceView由于可以直接从内存或者DMA等硬件接口取得图像数据,因此是个非常重要的绘图容器,这次我就用两篇文章来介绍Su ...
- android 带表头,左右两个联动的ListView
package com.rytong.mylist; import java.util.ArrayList; import java.util.HashMap; import java.util.Li ...
- 使用Atomikos Transactions Essentials实现多数据源JTA分布式事务--转载
原文:http://www.ite/topic/122700 9.17 update:使用NonXADataSourceBean. Mysql在5.0版本和Connecter/J5.0版本后提供了XA ...
- JVMInternals--reference
This article explains the internal architecture of the Java Virtual Machine (JVM). The following dia ...
- Component migration documentation
Component migration documentation The following is a list of migration documents for components we s ...
- 分享原创可复用且非侵入性代码生成工具(for .net)
入行IT十年了,这是本人第一次网上’献丑‘.迫于工作压力,花了大半年时间写了这个生成器以辅助开发.如有价值请多多给予建议,谢谢 好了,废话少说,开动! QA. 1.为什么要用代码生成器? 当然是为了快 ...
- vb.net写的odbc连接dsn数据源和ole链接oracle的小例子
最近由于工作需要开始接触vb2010,也叫vb.net.相比vb6.0有面向对象编程的优势.同时接触一门新语言,要更快的实际应用起来,链接数据库是必不可少的.之前用vba写过一个售书工具,正好可以拿来 ...
- 在IOS中 NSRange类详解
NSRange的定义 typedef struct _NSRange { NSUInteger location; NSUInteger length; } NSRange; NSRange是一个结构 ...
- Android_Menu_PopupMenu
layout.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" x ...
- sysctl
/proc/sys目录下存放着大多数内核参数,并且可以在系统运行时进行更改,不过重新启动机器就会失效./etc/sysctl.conf是一个允许改变正在运行中的Linux系统的接口,它包含一些TCP/ ...