第2章 移植LiteOS到STM32物联网_第1页
第2章 移植LiteOS到STM32物联网_第2页
第2章 移植LiteOS到STM32物联网_第3页
第2章 移植LiteOS到STM32物联网_第4页
第2章 移植LiteOS到STM32物联网_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章移植LiteOS到STM32Chapter2PortingLiteostoStm32《物联网操作系统技术与应用》制作人张亚军

本章将介绍HuaweiLiteOS实验所需的开发环境及基本配置。硬件使用浙江华为NB-Iot全栈实验实训箱,该实训箱主控板采用STM32开发板;在软件方面,通过STM32CubeMX软件配置生成STM32开发板初始化裸机工程代码,在此基础上再使用Keil5集成开发环境(IDE)编辑、编译并移植LiteOS到STM32。前言01040302学习目标能够描述LiteOS实验所需的软硬件环境能够安装及配置STM32CubeMX和Keil5能够分析LiteOS源码的目录结构及其主要作用能够修改LiteOS移植过程中的相应配置文件目录开发环境IDE概述 STM32开发板简介LiteOS源码文件夹内容介绍2.12.22.3CONTENTS开发环境IDE概述2.1IDEOverview

集成开发环境(IntegratedDevelopmentEnvironment)简称IDE,是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。IDE集成了代码编写、分析、编译、调试等功能,是一体化的开发软件。所有具备这一特性的软件或者软件套(组)都可以称作集成开发环境。目前,市场上常用的STM32微处理器开发的IDE有Eclipse、IAR、LiteOSStudio、KeiluVision5等,本书使用KeiluVision5作为开发IDE,用于编辑、编译、链接、调试程序代码,并烧录程序到STM32开发板。另外,为生成STM32开发板初始化代码,还需要使用STM32CubeMX软件。2.1

开发环境IDE概述KeiluVision5是Keil公司(ARM公司之一)推出的KeilMDKv5,该版本使用uVision5IDE集成开发环境,是目前针对ARM微控制器,尤其是基于ARMCortex-M内核的微控制器最佳的一款集成开发工具。KeiluVision5主界面如图2-1所示:2.1

开发环境IDE概述图2-1KeiluVision5主界面STM32CubeMX是意法半导体(ST)推出的STM32芯片图形化配置工具,是基于java环境运行的一个插件(安装STM32CubeMX软件之前,需要先安装java运行环境),用于STM32产品的配置及使用图形化向导生成C初始化代码,可大大减少开发工作的时间和成本。STM32CubeMX主界面如图2-2所示:2.1

开发环境IDE概述图2-2STM32CubeMX主界面STM32CubeMX配置流程:1)选择芯片系列、型号、封装引脚,新建工程;2)配置SYS、RCC、USART等引脚信息;3)时钟配置;4)设置工程名称、路径,编程环境,芯片和固件包等信息;5)生成C初始化代码,可以在KEIL、IAR、GCC等开编译器中使用。2.1

开发环境IDE概述任务描述安装STM32CubeMX和KeiluVision5软件,搭建IDE开发环境,掌握STM32CubeMX和KeiluVision5的基本配置能力。任务2-1开发环境IDE安装及配置STM32开发板简介IntroductiontoSTM32DevelopmentBoard2.22.2

STM32开发板简介

开发板是用来进行嵌入式系统开发的电路板,STM32开发板以STM32系列微控制器(MCU)为主控芯片,集成了存储器、输入设备、输出设备、数据通路/总线和外部资源接口等一系列硬件组成。华为NB-Iot全栈实验实训箱主控板采用STM32开发板,如图2-34所示,MCU型号为STM32L431VCTb,该芯片的最大时钟频率为80MHz,LQFP100封装,程序存储器大小为256K,数据RAM大小为64K,数据RAM类型为SRAM。图2-34华为NB-Iot全栈实验实训箱主控板

任务描述

通过配置STM32CubeMX软件,生成STM32开发板裸机工程代码。

说明:裸机工程可以为之后移植物联网操作系统LiteOS提供硬件配置文件和外设驱动文件,同时可以测试开发板的基本功能。任务2-2生成STM32的裸机工程模板LiteOS源码文件夹内容介绍LiteOSSourceCodeFolders2.32.3

LiteOS源码文件夹内容介绍

华为LiteOS源码有develop和master两个版本,由于master版本是最稳定的发布版本,华为官方建议使用master版本。

打开LiteOS源码文件夹,可以看到其中又包含了很多文件及文件夹,下面来了解主要文件夹及其子文件夹的作用。LiteOS源码核心文件夹的主要内容如表2-1所示。1.arch文件夹arch文件夹存放LiteOS支持的硬件体系结构相关的接口文件,通常由汇编语言和C语言联合编写。这些接口文件与硬件密切相关,不同的硬件对应不同的接口文件,编写这些接口文件的过程称为移植,移植的过程通常由LiteOS和MCU原厂人员来完成,移植好的接口文件存放在arch文件夹中。本章所讲的“移植”其实是“使用LiteOS官方的移植”。2.kernel文件夹kernel文件夹中存放LiteOS基础内核代码,是LiteOS内核的核心。3.components文件夹components文件夹存放除内核之外的第三方组件,如:agent_tiny、lwip、lwm2m等。4.demos文件夹demos文件夹中存放的是供开发人员测试LiteOS内核的demo,是内核功能测试相关的例程代码。2.3

LiteOS源码文件夹内容介绍

5.targets文件夹targets文件夹中存放板级工程代码,含原厂芯片驱动。LiteOS已经为一些半导体厂商的评估板写好程序,这些程序被放在targets文件夹中。表2-1LiteOS源码核心文件夹的主要内容介绍

任务描述登录HuaweiLiteOS官方网站获取LiteOS源码,并将其移植到STM32开发板芯片中,实现芯片/开发板与外设驱动程序的适配。说明:对于嵌入式设备,由于资源有限,且芯片型号和外设差异较大,所以物联网操作系统无法像Windows/Linux那样适配集成所有驱动,因此通常会先适配部分芯片/开发板。为了让操作系统运行在其他芯片/开发板上,此时就需要移植。移植时不需要把整个LiteOS源码都放到工程文件中,只需把源码中的核心部分单独提取出来,否则工程的代码量会太大。LiteOS有两种移植方案:接管中断和非接管中断方式。接管中断的方式,是由LiteOS创建和管理中断,需要修改stm32启动文件,移植比较复杂。STM

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论