msp432快速入门第四节之新建空工程(从keil新建工程)

zyg 2年前 (2022-09-22) 阅读数 952 #MCU开发

(一)相对路径和绝对路径的区别

  之前写的程序都是绝对路径,因为TI用的是绝对路径,需要修改的文件比较多,所以没改,但是后来发现点击鼠标实在令人厌烦,遂决定修改为相对路径,这篇推文记录了这个过程!
相对路径和绝对路径的主要区别就是能否自由移动工程,keil的路径一般都是基于工程存在,那个特别长的路径正是因为TI的某些文件中的相对路径过长导致的,如下:
null
  这个路径够长了吧! 而且多个文件中都有这种路径,复制起来过于烦人,所以最好还是直接从keil建立新的工程比较好,下面会指出如何创建新的空工程。

(二)从Keil创建新工程

1. 建立空工程文件夹

  首选建立新的工程文件夹 命名为: empty demo
然后在文件夹中建立四个文件夹 分别为
Bsp: 用于存放板级支持包以及一些文档 常用文件
Keil: 存放keil的工程文件
Library: 存放CMSIS接口文件以及TI的库文件
User: 用于存放main.c以及其他的中断isr.c .h文件和其他用户代码

如下:
null
BSP中存放如下文件:
null
第一个是一些声明
第二个则是开发文档
第三个就是自己写的一些设备驱动文件
keil文件夹中暂时是空的,我们还没有建立工程
library文件夹有两个文件:
null
CMSIS是ARM的接口文件,主要是arm的内核文件,比如cm4.h之类的文件.还有编译的选项设置等等,都在library的CMSIS文件夹中,在CMSIS文件夹中我们建立一个include文件夹,用于存放CMSIS的接口文件;
ti就是TI官方给的驱动文件,比如驱动库和一些启动文件.keil的设置文件.烧写flash的配置文件等等,比较多,之后再详细说明
User文件夹中只有三个文件,分别是这main.c isr.c isr.h文件,这三个是中断的入口文件以及主函数文件;

2. 为文件夹添加文件

我们需要准备一个在第三节教程中的空工程:
a.我们找到bsp文件夹,把整个BSP文件夹替换即可,这些都是通用的文件;
b.然后我们为library文件夹中添加文件,我们首先进入原先工程的source文件夹中,然后进入 third_party(英语是是第三方的意思)文件夹,然后进入CMSIS文件夹,进入include文件夹,找到我们需要复制的第三方文件到新建的空工程文件夹中,如下:
null
第一个,第二个,第三个都是是编译有关的文件,指明当前工程需要的编译器版本,编译选项等等,第四个是内核文件,第五个是armv7的mpu使用文件;
然后我们需要为ti添加文件,仿照TI的来即可,我们直接去原先工程的ti文件夹中把msp432p4xx直接复制过来就行,但是需要删减些东西,msp432p4xx文件夹内容如下:
null
每个文件夹中保留的内容如下:
(1) driverlib中的文件需要全部保留
null
(2)inc中需要保留msp432的soc系统文件
null
(3)link_file中次级文件夹为keil 在其中保留一个sct文件即可
这个是keil的链接文件,我们知道从开始写程序到生成bin文件包括了预处理 编译 汇编 链接 这个就是最后一个环节的参数文件,但是一般我们在安装好keil的pack后,默认使用的是keil的系统链接文件,所以这个文件仅仅保留备用
null
(4)rom中文件如下,有一个次级文件夹,存放下载配置文件
null
null
(5)最后一个文件夹中是启动文件(汇编)以及系统文件
null
null
这些就是文件夹中需要保留的全部文件了。

3. 建立新的工程并配置

  (1)打开keil,点击project -> new uVision Project 然后把工程存放在keil的文件夹中即可,工程名字自定即可。然后选择器件,直接选择msp432p401r即可,之后出现CMSIS的中间件选择,我们把这个窗口关闭,之后由自己手动添加即可。
  (2)配置魔术棒
Target:配置主频48MHz,勾选微lib库
null
output选项卡如下:
null
配置C/C++选项卡:
null
头文件需要包含进去:
null
配置下载器选项:
null
记得在详细setting中勾选下载后直接运行(reset and run)!
  (3)为keil添加文件以及文件树
null
null
null
null
null
null
(4)解决长长的相对路径问题
编译下,把出现问题的路径替换就行,需要将前边的长文件夹树替换为空格,然后把自己的文件添加进去,main函数中添加好自己的初始化文件,编译后就大功告成了! 中间可能会有一个extern C的错误,百度下就能解决,

(三)工程展示

null
这样就不用再使用那个很长的路径了,还可以自由移动复制工程,这一节就完成了!
建立好的空工程可以从一篇单独的博文下载;

版权声明

本文仅代表作者观点。
本文系作者发表,未经许可,不得转载。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

yanguo

yanguo

管理员
作者文章
最新文章
标签列表
    欢迎你第一次访问网站!