【芝山物联】LM3S811自学笔记-2(从点亮LED灯开始之创建一个空白工程)
2016-10-26 22:45
295 查看
本期自学笔记是以快速入门为目的(需要有一定的Keil开发经验),大致讲解Keil环境下的开发流程以及工作方式。因为内容略多,分成两次讲解。坑略大,缓更。
对于创建工程,TI官方的光盘套件中Documentation目录下Quickstart-Eval-Kit-Keil.PDF即有详细的说明,我们可以以此为参考,顺便补充一些细节上的问题。如果没有这个PDF文件可以在百度上直接搜索文件名下载。
STEP-1:在创建工程之前我们得进行一些准备工作。首先我们需要针对LM3S系列的开发相关的固件库开发包,这个开发包可以从官网(http://www.ti.com/tool/sw-lm3s)上进行下载,下载后可以得到一个.exe文件,执行它可以解压得到一个名为StellarisWare的文件夹,其目录结构如下图所示,分别存放了包括用户指南、库函数以及示例工程等文件,我们的开发将会依赖于它进行。各个目录或文件的具体功能未来将会一一解释。
STEP-2:先给大家讲解一下我个人的项目结构风格,如图所示可分为两部分:一是用户源文件目录src,该目录用于存放用户的源文件(有时还存放设备的启动文件);二是名为StellarisWare的固件库函数目录,这个目录的功能相当于STM32的STM32F10x_FwLib,用于存放一些官方的硬件驱动库函数与硬件宏定义。以此为方向我们再展开创建工程的细致讲解。
【后注】启动文件的添加可在创建工程项目过程中通过设置运行时环境代替!详看后续步骤!
STEP-3:为和Up主已有项目文件区分,首先我们需要在硬盘中创建一个名为proj_2文件夹用于存放本期自学笔记所创建项目的所有相关文件。
STEP-4:在该目录下分别创建如图所示的四个文件夹,分别命名为obj,src,user和StellarisWare。obj文件夹用于存放MDK在编译过程中产生的大量的中间文件,src文件夹用于存放用户的源文件以及启动文件,user文件夹用于存放项目结构管理文件,StellarisWare文件夹用于存放官方的固件库函数源文件。相对严谨的文件结构有利于后期的维护与开发。
STEP-5:接着我们开始向这些目录中添加一些文件。先在src目录下创建一个名为main.c的源文件用于进行之后的代码编写;然后将官方开发包中StellarisWare\inc以及StellarisWare\driverlib两个目录直接复制到我们项目目录下的StellarisWare文件夹中。在此可以注意的是官方的driverlib目录可能存在的如下图所示的一些MDK项目文件,这些文件时官方用于生成免二次编译的静态链接库driverlib-cm3.lib而生成的,我们复制的时候可以不需要复制它们以减小我们项目文件的整体体积,最后复制启动文件StellarisWare>>examples>>project>>startup_rvmdk.S至我们项目目录下的StellarisWare文件夹中。到此步为止还不需要打开MDK进行操作。
STEP-6:从此步开始我们转入MDK进行操作。打开MDK后,执行如下操作:Project>>New uVision Project,在之后弹出的窗口中项目组织文件的路径定位至我们刚刚创建的user下,在此Up主把项目命名为proj_2,点击【保存】完成项目的创建。这是MDK会弹出一个如图所示的设备选择界面,选择Texas Instruments目录下的LM3S811。倘若不熟悉MDK的元件库添加可自行百度相关教程或者私信我。
接着MDK会弹出一个设置运行时环境的界面,我们只需选中如图所示的选项即可,此步的功能是提供一个启动文件,不可忽略!
项目完成初步创建后的目录结构如图所示:
STEP-7:右击工程中的【Target 1】目录,点击【Manage Project Item】选项,进入如下界面进行目录的增加修改与重命名。
此步完成后的结果如图所示:
STEP-8:分别双击src与StellarisWare目录添加文件,向StellarisWare目录添加文件时只需添加driverlib目录下的.c文件即可。至此我们完成了一个LM3S项目文件的创建。
【本讲完结】
一些细节问题:
<1>Q1:建好空白工程并且编译之后为什么出现“error: L6236E: No section matches selector - no section to be FIRST/LAST.”的报错信息?
A1:这是因为系统中没有添加启动文件所致,其后缀名为.s,同样的报错也可能出现在STM32这样的Cortex-M3内核单片机的开发过程中。对此我们只需要在官网的开发包中示例项目下该复制并添加该启动文件至自己的工程目录下即可。启动文件的路径为StellarisWare>>examples>>project>>startup_rvmdk.S
添加启动文件之后编译器已经不再报错了( 图中的warning信息是用户源程序不完整所致,与本文无关)
对于创建工程,TI官方的光盘套件中Documentation目录下Quickstart-Eval-Kit-Keil.PDF即有详细的说明,我们可以以此为参考,顺便补充一些细节上的问题。如果没有这个PDF文件可以在百度上直接搜索文件名下载。
STEP-1:在创建工程之前我们得进行一些准备工作。首先我们需要针对LM3S系列的开发相关的固件库开发包,这个开发包可以从官网(http://www.ti.com/tool/sw-lm3s)上进行下载,下载后可以得到一个.exe文件,执行它可以解压得到一个名为StellarisWare的文件夹,其目录结构如下图所示,分别存放了包括用户指南、库函数以及示例工程等文件,我们的开发将会依赖于它进行。各个目录或文件的具体功能未来将会一一解释。
STEP-2:先给大家讲解一下我个人的项目结构风格,如图所示可分为两部分:一是用户源文件目录src,该目录用于存放用户的源文件(有时还存放设备的启动文件);二是名为StellarisWare的固件库函数目录,这个目录的功能相当于STM32的STM32F10x_FwLib,用于存放一些官方的硬件驱动库函数与硬件宏定义。以此为方向我们再展开创建工程的细致讲解。
【后注】启动文件的添加可在创建工程项目过程中通过设置运行时环境代替!详看后续步骤!
STEP-3:为和Up主已有项目文件区分,首先我们需要在硬盘中创建一个名为proj_2文件夹用于存放本期自学笔记所创建项目的所有相关文件。
STEP-4:在该目录下分别创建如图所示的四个文件夹,分别命名为obj,src,user和StellarisWare。obj文件夹用于存放MDK在编译过程中产生的大量的中间文件,src文件夹用于存放用户的源文件以及启动文件,user文件夹用于存放项目结构管理文件,StellarisWare文件夹用于存放官方的固件库函数源文件。相对严谨的文件结构有利于后期的维护与开发。
STEP-5:接着我们开始向这些目录中添加一些文件。先在src目录下创建一个名为main.c的源文件用于进行之后的代码编写;然后将官方开发包中StellarisWare\inc以及StellarisWare\driverlib两个目录直接复制到我们项目目录下的StellarisWare文件夹中。在此可以注意的是官方的driverlib目录可能存在的如下图所示的一些MDK项目文件,这些文件时官方用于生成免二次编译的静态链接库driverlib-cm3.lib而生成的,我们复制的时候可以不需要复制它们以减小我们项目文件的整体体积,最后复制启动文件StellarisWare>>examples>>project>>startup_rvmdk.S至我们项目目录下的StellarisWare文件夹中。到此步为止还不需要打开MDK进行操作。
STEP-6:从此步开始我们转入MDK进行操作。打开MDK后,执行如下操作:Project>>New uVision Project,在之后弹出的窗口中项目组织文件的路径定位至我们刚刚创建的user下,在此Up主把项目命名为proj_2,点击【保存】完成项目的创建。这是MDK会弹出一个如图所示的设备选择界面,选择Texas Instruments目录下的LM3S811。倘若不熟悉MDK的元件库添加可自行百度相关教程或者私信我。
接着MDK会弹出一个设置运行时环境的界面,我们只需选中如图所示的选项即可,此步的功能是提供一个启动文件,不可忽略!
项目完成初步创建后的目录结构如图所示:
STEP-7:右击工程中的【Target 1】目录,点击【Manage Project Item】选项,进入如下界面进行目录的增加修改与重命名。
此步完成后的结果如图所示:
STEP-8:分别双击src与StellarisWare目录添加文件,向StellarisWare目录添加文件时只需添加driverlib目录下的.c文件即可。至此我们完成了一个LM3S项目文件的创建。
【本讲完结】
一些细节问题:
<1>Q1:建好空白工程并且编译之后为什么出现“error: L6236E: No section matches selector - no section to be FIRST/LAST.”的报错信息?
A1:这是因为系统中没有添加启动文件所致,其后缀名为.s,同样的报错也可能出现在STM32这样的Cortex-M3内核单片机的开发过程中。对此我们只需要在官网的开发包中示例项目下该复制并添加该启动文件至自己的工程目录下即可。启动文件的路径为StellarisWare>>examples>>project>>startup_rvmdk.S
添加启动文件之后编译器已经不再报错了( 图中的warning信息是用户源程序不完整所致,与本文无关)
相关文章推荐
- STM32CubeMX 1 创建一个新工程 利用时钟点亮LED KEIL5 Jlink配置
- maven 学习笔记(三)创建一个较复杂的 eclipse+android+maven 工程
- Node.js 学习笔记--- (2)创建一个简单的博客工程
- pixhawk自学笔记之创建一个应用程序(按官网)
- IAR创建一个led流水灯工程的流程
- 【芝山物联】LM3S811自学笔记-1(FT2232D驱动安装教程)
- (JAVA自学笔记)创建一个对象都在内存中做了什么事情
- STM32F103学习笔记(二) 创建工程模板+点亮LED+蜂鸣器(IO口的输出)
- iOS学习笔记11--Xcode创建一个纯代码的工程
- cocos2d-x学习笔记(2)在同一个工程里创建多个Cocos2d-x项目
- libiec61850 自学笔记 01 --- 创建一个61850服务器
- Xcode6 怎么创建一个不带storyboard的空白工程?
- 安卓自学笔记:5:用ImageView创建一个图片浏览器
- 一个小白从零基础自学Android编程笔记之如何创建菜单
- maven 学习笔记(三)创建一个较复杂的 eclipse+android+maven 工程
- 今天开了一个博客,开始写我的自学笔记了!
- 安卓自学笔记:9:用AdapterViewFlipper创建一个可以自动播放的图片库
- 安卓自学笔记:12:用SearchView创建一个搜索框
- 从点亮一个LED开始,Cortex-A9裸机程序设计
- ADS1.2创建一个新的工程点亮LED灯 基于TX2440开发板