/*
操作系统:Ubuntu16.04
硬件平台:原子Stm32F767+7‘RGB屏幕
其他操作系统与开发板搭建环境基本差不多,注意的地方我会提到的。
*/
一、软件安装
l VSCode
为什么用VSCode,相信大家都知道,没用过的同学下载下来用用。(推荐)
这个软件不管是什么系统都有,安装比较简单,不再赘述。
贴一张VSCode的图
资源管理器+和vs studio一样的代码高亮+集成终端
l Arm-none-eabi-gcc
Windows下安装傻瓜式的就不说了。
下面说下Ubuntu下安装方法:
1>解压gcc-arm-none-eabi-5_4-2016q3-20160926-linux.tar.bz2
$ tar -xvf gcc-arm-none-eabi-5_4-2016q3-20160926-linux.tar.bz2
2>
将解压得得文件夹复制到/usr/bin
$ sudo cp -r gcc-arm-none-eabi-5_4-2016q3 /usr/bin
3>
添加环境变量
$ vim /etc/profile
添加:
export PATH=/usr/bin/gcc-arm-none-eabi-5_4-2016q3/bin:$PATH
4>
使环境变量生效
$ source /etc/profile
$ reboot
5>测试
$ arm-none-eabi-gcc -v
出现如下信息说明成功
二、建立工程
就拿我的F7来说,我用的是最新的V1.6的HAL库
大体跟之前差不多,添加了些LL库的文件
其实呢,这么多LL库的文件并不是所有都用得到,参考官方的模板例程,也就使用了3个如图:
参考官方模板我们建立自己的工程结构
大体是这样的一个结构,大家可以根据自己的想法构建。 要注意的就是一下几点
启动文件:用GCC编译所需的启动文件跟再MDK编译的启动文件是不同的具体在Cube库的这里
里面就是常用开发环境用的启动文件。
然后就是就是一些CMSIS标准所需的头文件
根据自己板子的型号可以删除一些不必要的文件。
其中cmsis_gcc.h是用gcc编译所需的头文件。
工程目录到这一步就差不多了。
三、编写Makfile
首先在HAL库文件下新建一个Makfile,为的就是将HAL库编译成一个静态的lib.
代码如下
CC=arm-none-eabi-gcc
AR=arm-none-eabi-ar
###########################################vpath %.c Src
CFLAGS = -g -O2 -Wall
CFLAGS +