• 等级
  • 118165 访问
  • 24 原创
  • 34 转发
  • 45319 排名
  • 33 评论
  • 82 获赞

运行嵌入式操作系统时,MMU的作用及工作过程

MMU(MemoryManagementUnit)是内存管理单元的简称,读者朋友在学习嵌入式的时候应该听说过µCLinux,这是适合没有MMU的微控制器使用的嵌入式Linux操作系统,比如ARM7。由于没有MMU,所以在µCLinux上实现多任务功能是一个非常棘手的问题。从而引出了本节的关注点:MMU的作用是什么?简单地说,MMU的作用有两点:地址翻译、内存保护。1、地址翻译...

2019-04-17 22:19:54

ARM 内核SP,LR,PC寄存器的理解

ARM内核SP,LR,PC寄存器深入理解ARM的这三个寄存器,对编程以及操作系统的移植都有很大的裨益。1、堆栈指针r13(SP):每一种异常模式都有其自己独立的r13,它通常指向异常模式所专用的堆栈,也就是说五种异常模式、非异常模式(用户模式和系统模式),都有各自独立的堆栈,用不同的堆栈指针来索引。这样当ARM进入异常模式的时候,程序就可以把一般通用寄存器压入堆栈,返回时...

2019-04-16 23:31:18

基于CAN总线的汽车诊断协议UDS的开发重点

一、意义为了指导开发工程师,正确的使用诊断模块,快速开发出满足车厂要求的诊断功能。二、诊断模块介绍此诊断模块根据ISO-14229-1文档,并结合部分车厂的文档进行开发,使用面向对象的思路进行设计,将模块需要处理的所有事情封装在模块内部,留出模块处理过程接口和配置接口供调用接口的工程师使用。通过调用配置接口,可以配置我们想要的功能。通过调用处理过程接口,诊断模块便能提供诊断服务,无需其他...

2019-04-15 15:24:13

5G和车联网的本质联系

说到车联网,相信大家一定不会陌生。现在不管是汽车制造商、销售商,还是阿里腾讯这样的互联网企业,都会经常提到它。简单来说,车联网就是把汽车连起来,组成网络。不过,从宏观上来说,车联网其实是一个非常庞大的体系。很多人了解的车联网,可能只是车联网体系的一小部分而已。今天,我想对车联网进行一个全面介绍,希望能够讲清楚车联网的相关概念,帮助大家具体、客观、理性地...

2019-04-13 10:24:10

51单片机程序执行流程(STARTUP.A51管理Main函数的执行)

单片机是没有上操作系统的东西,在keil中编写的代码都是裸机代码,深入编写裸机代码有助于了解硬件的特性。若不是硬件特性已定的情况之下的其它流程都是代码作祟。忽然想到来探探51单片机的执行流程。这个念头起源于最初见到每个51程序里面的主函数里面最终都挂一个while(1);语句。为何要加一句while死循环让程序停留在main函数中呢。将while(1);语句去掉有什么影响么?...

2019-03-23 22:10:54

毫米波雷达系统构成、测量原理(测距、测速、角速度)

毫米波雷达的特点、优点、缺点;毫米波雷达测距原理,测速原理,角速度测量原理;毫米波雷达系统架构。毫米波雷达:ADAS/自动驾驶核心传感器毫米波的波长介于厘米波和光波之间,因此毫米波兼有微波制导和光电制导的优点:1)同厘米波导引头相比,毫米波导引头具有体积小、质量轻和空间分辨率高的特点;2)与红外、激光等光学导引头相比,毫米波导引头穿透雾、烟、灰尘的能力强,传输距离...

2019-03-02 18:40:23

毫米波雷达(一)

什么是毫米波雷达  毫米波是指波长介于1-10mm的电磁波,波长短、频段宽,比较容易实现窄波束,雷达分辨率高,不易受干扰。毫米波雷达是测量被测物体相对距离、现对速度、方位的高精度传感器,早期被应用于军事领域,随着雷达技术的发展与进步,毫米波雷达传感器开始应用于汽车电子、无人机、智能交通等多个领域。  目前各个国家对车载毫米波雷达分配的频段各有不同,但主要集中在24GHz和77GHz,少数国...

2019-03-02 18:33:52

CAN网关

CAN网关及CAN信号转发机制CAN网关上节课,我们讲到了CAN网关,其实准确的说不能叫CAN网关,应该叫网关或者汽车网关,因为网关不仅处理CAN网络,还处理LIN网络.主要是为了配合本系列教程及区分于以太网网关,所以才取名叫CAN网关.CAN网关的外形结构大概外形如上,偶有差异,大小如香烟烟盒,有60,70多个PIN脚...

2019-03-01 15:51:09

整车CAN网络拓扑图

什么是智能硬件与ECU?何为智能硬件,就是包含智能控制单元的硬件,比如发动机,发动机上有一块儿专门负责控制发动机进气量,喷油量,排气量的控制单元,这块单元相当于发动机的大脑.他具有信号发送,信号接收,参数存储等基本功能,这个控制单元就是ECU.ECU(ElectronicControlUnit)电子控制单元,是汽车专用微机控...

2019-03-01 15:25:15

DTC状态位

从汽车ECU中读取储存的DTC(故障码)时,除了故障码本身,还可以读出很多其他的信息,包括优先级、发生次数计数器、发生时的里程和时间,以及本文中所讲的状态位(DTCstatus)。这个状态位包含1个byte,这里面的8个bit都有各自的含义,但是这8个bit不一定都要使用,各个主机厂可以根据自己的需求使用其中的几个,当然也可以全部使用。下图是UDS对DTCstatus这8个bit的定义...

2019-02-20 14:22:37

UDS请求和响应的数据帧格式

1.简单的通信机制其实诊断通信的机制很简单,可以类比client-server通信方式,即客户端发送request,服务器收到request之后进行处理,然后向客户端发送response。但是,诊断协议有自己的特色,它规定了在request和response的格式,在收到request的时候要做格式的检查。同时由于寻址方式的不同,有无sub-function的支持等,也会影响request和...

2019-02-20 10:13:48

Visual Studio Debug---Breakpoint(Visual Studio断点剖析一)

断点,可以说是Debug过程中最常用的功能。但是大家最熟悉最经常使用的可能就是普通的断点。其实,关于断点,VisualStudio有很多的高级功能,有些简直就是调试利器啊。本次教程将介绍VisualStudio关于断点的更多高级玩法。1.普通断点为了保证内容完整性,还是要说下普通断点。设置普通断点的方法很简单,就是在代码行的左边栏灰色区域点击或者把光标放在某代码...

2019-02-01 14:51:46

程序编译的4个过程

0.引言hello.c(源程序)是一条高级C语言程序,虽然它是以一种易读的形式,让人们容易理解。但是,它却无法直接驱动硬件CPU直接执行。为了我们编写的hello.c程序可以被执行,驱动硬件电路工作,hello.c程序必须经过一些列处理步骤,将源程序转化为可执行性的目标程序。而我们知道,机器语言就是处理器可以直接理解(与生俱来就能理解)的编程语言,机器语言有时也被叫做原生代码(Native...

2019-01-11 15:00:11

15765协议剖析

ISO15765网络层协议分析ISO15765网络层的功能主要有:(1)为上层的应用层提供接口服务。(2)进行内部操作。为上层服务提供接口从而实现数据交流;主要有为对等实体间的通信提供分段、重组和流控制这几种方法方法。(3)网络层中的时间控制。 网络层原语服务分析对于为上层提供服务,网络层一共定义了以下3个原语服务 通过这三种原语服务可以与上层服...

2018-12-28 10:42:16

Vector诊断系统开发流程及其工具链

1、制定诊断规范(需求、协议)--------------CANdelaStudio将诊断规范转化为诊断数据库文件cdd,是整个流程的核心;2、软件代码实现--------------------将诊断规范形成诊断代码;3、诊断功能验证-------------------CANDiva进行诊断功能自动验证,自动生成测试用例。测试诊断规范在ECU中的实现和集成情况;4、诊断测试----...

2018-12-27 10:28:38

The Data Types of AUTOSAR(数据类型)

AUTOSAR规定了以数据类型的方式通过Port传递数据。这些数据类型以不同的抽象级别被定义:(1)应用数据类型:从应用逻辑的角度描述数据。计算公式(算法)描述了从物理(值)范围到内部数字(位)级别的映射关系。SWC中的数据类型映射定义了实现数据类型和应用数据类型之间的映射关系。(2)实现数据类型:被SWC和RTE所使用。AUTOSAR定义了一些标准的数据类型,如uint8/uint16等...

2018-12-17 16:35:38

Port类型

SWC的AUTOSARInterface是通过Port定义的。如下几种不同的Port对应于不同的功能:(1)SWC通过Sender-ReceiverPorts接收或者发送数据。(2)SWC通过Client-ServerPorts实现或者调用服务(操作)。(3)ParameterPorts定义的数据可作为ECU的标定数据,这些数据可以被多个SWC访问。(4)Non-volat...

2018-12-17 13:09:10

AUTOSAR方法论剖析

AUTOSAR方法(也被称为AUTOSAR方法论)描述了可以被遵循的工作流程,这一流程包含了从系统配置到最终ECU执行代码的生成。下图中用工作行为和工作产品描述了这一工作流程。专用的AUTOSAR工具(比如DaVinciDeveloper和DaVinciConfiguratorPro)可以支持相应的工作行为。为了在不同的工具中交换工作产品,AUTOSAR定义了一个缜密的XML文件...

2018-12-13 14:59:48

AUTOSAR系统设计

由于AUTOSAR的分层模型,因此我们可以在不考虑具体ECU的情况下进行ECU或者车辆的功能设计。此时,ECU被看作一个由相互联系的软件组件所组成的系统。每个SWC的接口都被正式定义了。Sender/Receiverports用于规定SWC的输出或者输入数据,Client/Serverports用于规定SWC需要的或者提供的服务。SWC的实现架构也通过运行体被正式定义,它们在特定事件发生时...

2018-12-13 10:47:01

AUTOSAR分层模型

在AUTOSAR中,ECU软件被抽象分类为基础软件(BSW)、运行时环境(RTE)和应用层(ECU功能实现,SWC)。基础软件主要包含了标准的软件模块,也集成了特殊的固定,如复杂驱动。微控制器抽象层(MCAL)包含了跟硬件相关的驱动程序,可以用来访问内存、通信和I/O等。ECU抽象层负责提供统一的访问接口实现对通信、内存或I/O的访问,从而无需考虑这些资源由微处理器提供还是由外部设备提供,...

2018-12-13 10:30:16

GavinChen-ED

关注
  • 计算机软件
  • 中国 上海 黄浦区
奖章
  • 持之以恒