图解AUTOSAR(六)——服务层(Service Layer)、复杂驱动(Complex Drivers)

AUTOSAR的服务层包括系统服务、存储服务和通信服务,如下图黄色区域所示。一、系统服务系统服务是一组模块和函数,这些模块和函数可以被所有软件层模块使用。比如操作系统(包括定时器服务)和错误管理。系统服务的实现与单片机、ECU硬件以及应用程序有部分关联,其上层接口与单片机和ECU硬件无关。其内部结...

2018-05-20 11:40:53

阅读数:2246

评论数:0

STM32库函数编程思路总结及其与寄存器编程的对比剖析

一、STM32库函数编程思路总结1、基于STM32库函数的开发过程进行具体的项目开发前,做好项目创建工作,通常包括如下步骤:(1)新建工程项目的文件夹和子文件夹(如user、output、listing等)(2)使用MDK新建(或打开项目),选择目标CPU、添加CMSIS核心、STM32启动代码和...

2018-05-19 21:54:58

阅读数:954

评论数:2

图解嵌入式LINUX的内核结构

根据内核所完成的任务不同,LINUX内核可以分为以下5个部分。1、进程管理进程管理的主要任务是创建、销毁进程,并对进程与外部之间的联系进行处理。不同进程间的通信由进程调度(也叫CPU调度器)来处理,这本身也是进程管理的一部分。2、内存管理内存作为计算机主要资源之一,是否能高效管理内存是决定系统性能...

2018-05-17 16:08:59

阅读数:658

评论数:0

嵌入式Linux底层系统的组成、举例对比WINDOWS和LINUX系统工作过程来说明各组成部分的功能

一、嵌入式LINUX底层系统主要包括引导加载程序、LINUX内核、设备驱动程序以及文件系统4部分。1、引导加载程序包括固化在固件(firmware)中的boot代码(可选)和BootLoader两部分。2、LINUX内核特定于嵌入式板子的定制内核以及内核启动参数。3、设备驱动程序设备驱动的作用是将...

2018-05-17 14:59:39

阅读数:234

评论数:0

图解AUTOSAR(五)——微控制器抽象层(MCAL)

微控制器抽象层位于AUTOSAR分层模型中BSW最底层,包含内部驱动,可以直接访问微控制器和片内外设。更进一步地,MCAL又可以分为微控制器驱动、存储器驱动、通信驱动和I/O驱动四个部分,各部分又由具体的与微控制器硬件相对应的驱动模块组成。如下图所示。1、微控制器驱动微控制器驱动由通用定时器驱动(...

2018-05-14 21:31:16

阅读数:3279

评论数:0

图解AUTOSAR(四)——基础软件层(BSW)

AUTOSAR软件体系结构包含了完全独立于硬件的应用层(Application Layer)和与硬件相关的基础软件层(Basic Software,BSW),并在两者中间设立了一个运行时环境(Run Time Environment),从而使两者分离,形成了一个分层体系架构。一方面,OEM可以专注...

2018-05-14 14:38:49

阅读数:8332

评论数:0

图解AUTOSAR(三)——方法论

AUTOSAR为汽车电子软件系统开发过程定义了一套通用的技术方法,即AUTOSAR方法论。该方法描述了从系统底层配置到ECU可执行代码产生过程的设计步骤,如下图所示。AUTOSAR设计和开发流程分为三个阶段:系统配置、ECU设计与配置阶段、代码生成阶段。第一阶段:定义系统配置文件,这是系统设计者或...

2018-05-13 21:37:38

阅读数:3499

评论数:15

图解AUTOSAR(二)——分层模型及标准化的应用接口

(一)AUTOSAR分层模型为了实现应用程序和硬件模块之间的分离,汽车电子软件架构被抽象成四层:由上至下依次为:应用层(Application Layer)、运行时环境(Run Time Environment,RTE)、基础软件层(Basic Software,BSW)以及微控制器(Microc...

2018-05-13 20:30:11

阅读数:3583

评论数:0

图解AUTOSAR(一)——简介及目标

AUTOSAR是由全球各大汽车整车厂、汽车零部件供应商、汽车电子软件系统公司联合建立的一套标准协议,是对汽车技术开发一百多年来的经验总结。从2003年起,拟定了一个符合汽车电子软件开发的、开放的以及标准化的软件架构。该架构旨在改善汽车电子系统软件的更新与交换,同时更方便有效地管理日趋复杂的汽车电子...

2018-05-13 19:56:06

阅读数:5025

评论数:3

用内存的视角来剖析C/C++语言中的变量、数组、结构、指针等概念的本质

对于C/C++中的很多概念从内存的视角可以深入理解它们的本质注:对于多个连续的字节存储,根据CPU平台以及开发环境的不同,分为大端和小端存储。如下图所示,存储int类型的变量a=0xABCDEFAA(4个字节)时,图1是小端存储,图2是大端存储。                          ...

2018-05-08 21:28:21

阅读数:77

评论数:0

详细讲解了使用STM32的GPIO口控制LED灯亮灭的应用实例,包括工程的项目创建过程、配置目标选项页,并提供源代码的下载(具有详细的注释)

库函数驱动外设的应用实例:应用STM32的GPIO控制LED灯的亮灭例题:使用STM32的GPIOB口控制8个LED灯的亮灭。STM32有7个GPIO口,每个GPIO口有16个引脚,使用其中的8-15引脚对8个LED灯进行控制,可以实现闪亮、跑马灯、流水灯等效果。开发工具为Keil MDK5(最新...

2018-05-08 10:53:33

阅读数:210

评论数:0

详细介绍STM32驱动程序库STM32F1xx_DFP中的每一个文件含义及其作用

嵌入式应用程序的开发可以基于微控制器厂商提供的驱动程序库,也可以针对外设寄存器直接编写驱动程序。使用厂商提供的驱动程序库进行开发,简单、快捷,兼容性好,便于移植,但代码略多;直接针对寄存器编程进行开发(建议利用头文件stm32f10x.h定义的寄存器结构和位定义),费时耗力,但能够深入理解原理,代...

2018-05-07 21:24:09

阅读数:1435

评论数:0

Keil MDK5软件包的组成、Cortex微控制器软件接口标准CMSIS,重点介绍CMSIS-CORE的组成和使用

嵌入式系统的应用开发需要基于目标机-宿主机的交叉编译系统,在集成开发环境的支持下进行,应用程序通常采用高级编程语言C/C++进行编写。使用MDK开发工具进行STM32微控制器的应用开发需要安装软件包,软件包包括设备驱动程序库STM32F1XXX_DFP.XXX.pack(对于Keil MDK5而言...

2018-05-07 11:51:35

阅读数:526

评论数:0

Keil MDK5项目建立步骤及可能出现的错误解决方法

一、项目建立步骤首先我们要建立自己的项目文件夹,在这里我在电脑中建立了“STM32-project”在这其中建立了实例文件夹”example“,然后在example文件夹新建了“USER”文件夹用作存放用户代码如“main”等。好了项目文件夹就基本建立好了接下来使用KEIL5来新建项目了。在我们建...

2018-05-06 22:19:15

阅读数:688

评论数:0

Keil MDK5的安装及破解详细步骤

安装及破解Keil MDK5首先是下载安装文件与破解文件,这个不详细说明。你将会得到这两个文件!双击第一个安装文件!点击Next>>打勾,然后Next>>选择安装路径,建议默认即可。Next&g...

2018-05-06 21:44:49

阅读数:2330

评论数:0

嵌入式软件开发流程

根据使用的开发工具套件不同,软件开发流程会有差异,但主要步骤大致相同。对于使用宿主机(PC)的集成化开发环境,软件开发流程一般包括创建项目、添加文件、编译连接、下载调试等步骤,如下图所示。图1:嵌入式软件开发流程(1)创建工程项目:在配置硬件设备和安装软件开发工具后,就可以开始创建工程项目,通常需...

2018-05-06 20:16:33

阅读数:2441

评论数:0

嵌入式系统概述

嵌入式系统的定义有很多,国内一般采用的定义为:嵌入式系统是以应用为中心,以计算机技术为基础,软件、硬件可剪裁,以适用于应用系统对功能、可靠性、成本、体积、功耗等要求严格的专用计算机系统。嵌入式系统具有3个基本特点:嵌入性、专用性、计算机系统。硬件方面,为了能够嵌入具体的设备,嵌入式系统的硬件集成度...

2018-05-06 16:43:24

阅读数:152

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭