AUTOSAR从入门到精通-Autosar 中断机制(四)

本文详细介绍了AUTOSAR操作系统中的中断机制,包括中断的分类(Category 1和Category 2)以及中断服务程序(Interrupt Service Routines)。重点讲解了中断优先级、中断配置、中断处理函数的实现,以及中断的启用、禁用和资源管理。内容涵盖了中断在单级和多级平台上的不同处理方式,以及中断服务程序如何与OS交互,确保高效和安全的中断处理。
摘要由CSDN通过智能技术生成

目录

前言

知识储备

AUTOSAR OS

AUTOSAR OS与OSEK OS的关系

AUTOSAR OS的对象

原理

事件机制与资源管理

1、事件机制

2资源管理

中断Interrupts

Interrupts

单级和多级平台 Single-Level and Multi-Level Platforms

中断服务程序 Interrupt Service Routines

Category 1 and Category 2 Interrupts

Category 1 Interrupts

Category 2 Interrupts

Interrupt Priorities

User Level 用户等级

OS Level

 Interrupt Configuration 中断配置

Vector Table Generation

Implementing Interrupt Handlers 实现中断处理函数

Category 1 Interrupt Handlers

Category 2 Interrupt Handlers

Dismissing Interrupts

Writing Efficient Interrupt Handlers 编写高效的中断处理程序

Enabling and Disabling Interrupts

Saving Register Sets

Summary

错误处理、跟踪与调试

1 钩子例程

2 错误处理(ErrorHook)

 3 系统启动(StartupHook)

4 系统关闭(ShutdownHook)

5 系统保护(ProtectionHook)

 6 调试

 CCP协议开始/断开/设置/获取

1.开始/终止数据传输(START_STOP)

​​​​​​​2.断开(DISCONNECT)

​​​​​​​3.设置当前通信状态(SET_S_STATUS)

4.获取当前通信状态(GET_S_STATUS)

​​​​​​​5.建立checksum表(BUILD_CHKSUM)

​​​​​​​6.清空内存(CLEAR_MEMORY)

​​​​​​​7.编程(PROGRAM)

​​​​​​​​​​​​​​8.字节数据编程(PROGRAM_6)


 

前言

AUTOSAR(汽车开放式系统架构)是全球汽车行业主要原始设备制造商、供应商及工具和软件服务商的开发合作联盟。该联盟成立于2003年年中,旨在推动建立汽车电子系统软件架构的标准。AUTOSAR旨在简化汽车电子软件的联合开发,降低成本和加速产品面市时间,提高软件质量,并提供安全系统设计所需的机制。AUTOSAR重新定义了嵌入式汽车软件的编写方式,从而实现了对软件组件的重复使用、交换、升级和整合,过程十分简便。由此,各种应用情况变为现实,从第三方软件与动力传动系统ECU整合,到重复使用底盘的功能和传感器信号参数,再到复制和移动车身控制器上的软件组件,都可在AUTOSAR的平台上得以实现。

汽车电子领域的软件主要属于嵌入式软件。因此,其发展阶段类似于其他嵌入式系统的软件发展。由于受限于嵌入式硬件本身资源的匮乏,各种硬件产品的种类繁多和各自差异,以及整体嵌入式系统软件的逐步发展,起初的软件设计开发主要是封闭式的。这样有助于开发针对于特定硬件体,充分优化利用资源而特定设计的软件系统。这样的软件系统,

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
这里的NM主要是针对Can协议的网路管理。 AUTOSAR CanNM的核心思想主要归纳为以下两条: 1.  如果节点需要保持通信,则节点需要周期的发送NMPDUs,否则停止发送NMPDUs 2.     如果总线上的所有节点不需要使用总线,那么总线上过了一段时间没有NMPDUs时,则会进入Bus-Sleep Mode。   工作模式和状态   CanNm一共有三个工作模式 1.  Network Mode 2.  PrepareBus-Sleep Mode 3.  Bus-Sleep Mode 模式的改变应该通过回调函数通知上层。 下面单独说每种模式   (1)Network Mode Network Mode又包括三个内部状态 1. Repeat Message State 2. Normal Operation State 3. Ready Sleep State ①Repeat Message State 这个模式被用来确保从Bus-Sleep or Prepare Bus-Sleep到Network Mode的节点被总线上面其他节点发现。这个状态可以用来检测总线上的节点。 当进入Repeat Message State时,节点应该开始传送NMPDUs。 在Repeat Message State时,当NM-Timeout Timer溢出,CanNm模块应该重载Timer。 CanNm模块应该在Repeat Message State 下保持一段时间,这段时间可以通过CANNM_REPEAT_MESSAGE_TIME来进行配置。 当离开Repeat Message State的时候,如果节点需要通信,则进入Normal Operation State;如果节点不需要通信,则进入Ready Sleep State。并且清空Repeat Message Bit。   ②Normal Operation State 这个状态可以保持总线处于唤醒状态。从Ready sleep state进入这个状态的时候应该发送NMPDUs。 在Normal Operation State当NM-Timeout Timer溢出,CanNm模块应该重载Timer。 如果节点不需要使用通信,则网络应该被释放,节点应该进入Ready Sleep State。 如果节点接收到Repeat Message Request Bit,则节点进入Repeat Message State。如果节点自身需要进入Repeat Message State,则该节点进入Repeat Message State并且设置Repeat Message Request Bit。   ③ReadySleep State 这个状态是为了如果本节点已经准备释放总线,而其他节点还需要使用总线的时候,在这个状态下等待其他总线上的节点进入Perpere Bus-Sleep Mode。进入这个状态之后,CanNm模块应该停止NMPDUs的传送。 如果NM-Timeout Timer溢出,节点将会进入Prepare Bus-Sleep Mode。 如果该节点需要使用总线,则节点进入Nomal Operation State。 如果节点接收到Repeat Message Request Bit,则节点进入Repeat Message State。如果节点自身需要进入Repeat Message State,则该节点进入Repeat Message State并且设置Repeat Message Request Bit。 (2)PrepareBus-Sleep Mode   这个状态是为了等待总线上的所有节点能够在进入Bus-Sleep Mode之前,有时间停止节点的active状态如清空队列中为发送的报文。在Prepare Bus –Sleep Mode下,所有节点都静默下来。 当节点进入PrepareBus Mode时,应该通知上层应用。通过配置CANNM_WAIT_BUS_SLEEP_TIME参数,可以改变节点在PrepareBus-Sleep Mode停留的时间,在这段时间之后节点将会进入其他状态。 在Prepare Bus-Sleep Mode下面接收到NMPDU或者被上层应用请求通信时,节点将进入Network Mode中的Normal operation State。   (3)Bus-SleepMode   Bus-Sleep Mode的目的是当没有消息被传送的时候可以减少能量的消耗。在Bus-Sleep Mode下面,节点可以被唤醒(如本地唤醒源和CAN线唤醒源)。CANNM_TIMEOUT_TIME+CANNM_WAIT_BUS_SLEEP_TIME两个参数在整个总线上面的节点都应该时一样的配置,保证了总线上的节点能够统一的进行休眠。 当进入Bus-Sleep Mode时候,应该通知上层应用。 在Bus-Sleep Mode下,如果成功接收到NMPDU,CAN NM模块应该调用Nm_NetworkStartIndication。 如果CanNm_PassiveStartUp被调用,则CAN NM模块进入Network Mode 中的Repeat Message State。 ———————————————— 版权声明:本文为CSDN博主「cococenstar」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/cococenstar/article/details/84096689
### 回答1: AUTOSAR从入门到精通电子书是一本介绍汽车软件架构技术的指南。该书深入浅出地介绍了AUTOSAR的概念、原理、设计和实现。AUTOSAR是一种面向基于电子控制单元(ECU)的汽车系统软件开发的集成解决方案,可以极大地提高汽车软件的开发效率和质量。 本书首先介绍了AUTOSAR的基础知识,包括其背景、发展历程、架构等内容。然后详细讲解了AUTOSAR的软件组件、服务、接口、通信机制等核心技术。此外,还介绍了AUTOSAR的开发流程、工具链以及实例应用等方面的内容。 本书内容通俗易懂,适合初学者。同时,对于有一定AUTOSAR基础的读者也能够提供深入的学习与思考。本书深入剖析了AUTOSAR的内部机理和实现细节,以及相关方案和应用。本书并提供了丰富的案例研究,包括通讯协议、驱动器等等,帮助读者更好地理解AUTOSAR的应用特点。同时本书还提供免费的代码、工具和资料链接,让读者可以深入实践、加深理解。 总之,AUTOSAR从入门到精通电子书是一本方便、实用、全面的AUTOSAR学习指导书籍,是AUTOSAR软件架构技术领域中不可或缺的参考资料。 ### 回答2: AUTOSAR( Automotive Open System Architecture)是一种在汽车行业中使用的软件体系结构标准,在整个车辆的电子系统中起到核心的作用。由于AUTOSAR在汽车行业中被广泛使用,所以从入门到精通AUTOSAR具有非常重要的意义。 对于初学者,AUTOSAR从入门到精通这本电子书非常适合他们。该电子书作者系统讲解了AUTOSAR的基本概念和架构,以及如何应用AUTOSAR实现电子控制单元(ECU)的设计和开发。初学者可以因此建立起完整的AUTOSAR概念并掌握其基本概念和基本功能。此外,该电子书还包括了许多实例展示AUTOSAR用法,面向不同的应用场景,使初学者能够更快地掌握技能。 对于中级和高级的AUTOSAR开发人员,该电子书也提供了许多高级主题和应用程序来展示和解释AUTOSAR的高级用法。高级主题包括如何使用AUTOSAR配置工具(例如AUTOSAR Builder),软件模块、服务接口的API、通信接口等内容,使高级人员进一步了解AUTOSAR更深层次的应用。 总之,AUTOSAR从入门到精通这本电子书是非常有价值的资料,能帮助初学者全面了解AUTOSAR,掌握其基本知识和技能。同时,它也对中级和高级AUTOSAR开发人员提供了深层次的技术指导,帮助他们更高效地设计和开发电子系统。 ### 回答3: Autosar从入门到精通电子书,是一本关于汽车电子系统Autosar的全面指南。这本电子书涵盖了Autosar的核心概念、架构、设计以及工具和应用。该电子书适合想要深入学习Autosar的汽车工程师、软件开发人员和学生。 该电子书首先介绍了Autosar的概念和历史,之后讲述了Autosar的架构,并详细介绍了Autosar软件组件、服务和接口。它还介绍了如何创建和组织Autosar软件组件以及如何使用Autosar开发工具来支持软件开发流程。 书中还包括了一些实践案例,让读者可以深入了解如何实际应用Autosar来开发汽车电子系统。它还提供了一些Autosar的最佳实践,让读者可以更好地掌握Autosar的应用。 总的来说,Autosar从入门到精通电子书涵盖了Autosar的所有方面,可以帮助汽车工程师和开发人员深入理解Autosar,从而更好地开发和设计汽车电子系统。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

格图素书

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值