钢琴上的汽车软件
汽车电子软件开发高级工程师,负责过多个主机厂和零部件厂的项目开发,在自动驾驶、车联网领域有近7年的经验,目前专注于AUTOSAR系统开发和应用
展开
-
AUTOSAR OS的启停
目标硬件必须在OS启动之前被初始化OS在StartOS()调用之前不会运行tdown Hook在执行ShutdownOS() API调用期间被调用。原创 2024-05-17 09:05:43 · 19 阅读 · 0 评论 -
AUTOSAR OS调度表讲解
调度表提供了一种在配置时静态规划一系列操作的方法调度表与一个AUTOSAR OS计数器相关联,可以指定持续时间,并包含一个或多个到期点调度表可以通过下面方式与全局tick源同步:隐式同步,其中驱动调度表的计数器是全局时间源显示同步,其中驱动调度表的计数器由本地计数器驱动,并通过告知操作系统全局滴答源的当前值手动同步表。原创 2024-05-11 08:46:44 · 134 阅读 · 2 评论 -
AUTOSAR OS Alarm讲解
使用中断ISR可以构建以不同速率激活任务的系统。然而,对于复杂的系统,这种方式效率不高且不切实际。alarm(警报)提供了一种更方便、更灵活的调度系统的方式。一个计数器一个或多个与计数器关联的alarmalarm指定当达到特定的计数器值时要执行的动作。系统中的每个计数器都可以附加任意数量的alarm。当计数器的值等于附加在该计数器上的警报值时,称该警报已经过期。在到期时,OS将执行与警报相关的操作。动作可以是激活一个任务,执行一个警报回调例程,设置一个事件或驱动一个软件计数器。原创 2024-04-22 14:12:10 · 304 阅读 · 0 评论 -
AUTOSAR OS Event讲解
在AUTOSAR系统中,event(事件)用于向任务发送信号信息。事件可以为Extended task提供多个同步点,如下图:extended task可以等待事件,这将导致任务进入等待状态。当系统中的任务或ISR设置事件时,等待任务将进入就绪状态。当它成为最高优先级的就绪任务时,OS将选择它来运行。事件由与其关联的extended task拥有。通常,extended task将作为一个无限循环运行,其中包含对其拥有的事件的一系列受保护的等待调用。因此,事件机制允许我们构建事件驱动的状态机。原创 2024-04-18 09:13:26 · 276 阅读 · 0 评论 -
AUTOSAR OS Counter讲解
Counter(计数器)以tick为单位记录操作系统中发生了多少“事情”。tick(滴答)是一个抽象的单位。时间,例如毫秒,微妙,分钟等,然后计数器计算过去了多少时间旋转,例如以度或分钟为单位,计数器计算物体旋转了多少按钮按下,计数器计算按钮按下多少次错误,计数器计算错误发生的频次中断(有时是任务)用于驱动一个计数器。该驱动程序负责进行正确的OS API调用来滴答计数器,或者告诉OS计数器已经滴答到一个所需的值。原创 2024-04-22 08:52:00 · 66 阅读 · 0 评论 -
AUTOSAR Resource讲解
访问由任务和中断共享的硬件或者数据是不可靠的且危险的。这是因为当低优先级的任务或者中断更新共享数据时可能产生抢占,即这是一种竞争条件。访问共享数据的语句序列成为临界区。为了提供对临界区中引用的代码和数据的安全访问,我们需要强制互斥。即必须确保在临界段期间,系统中没有其他任务或者2类中断能够抢占当前正在执行的任务。AUTOSAR操作系统提供了基于资源(Resource)的互斥机制。Resource只是一个二进制信号量。当一个任务或2类中断获得资源时,其他任务或者中断无法获得该资源。原创 2024-04-17 13:11:43 · 61 阅读 · 0 评论 -
AUTOSAR Interrupt讲解
在SuspendOSInterrupts()之后,除了SuspendAllInterrupts()/ResumeAllInterrupts()对和SuspendOSInterrupts()/ResumeOSInterrupts()对之外的API调用不被允许。在SuspendAllInterrupts()之后,不允许调用SuspendAllInterrupts()/ResumeAllInterrupts()和SuspendOSInterrupts()/ResumeOSInterrupts()之外的API。原创 2024-04-15 14:12:08 · 171 阅读 · 0 评论 -
AUTOSAR Task快速熟悉手册
必须同时执行许多不同活动的系统称为并发系统。这些活动可能有一些软件部分,因此提供它们的程序必须并发执行。这些程序必须在必要时进行合作,例如,当它们需要共享数据时。实时系统中的每个并发活动都由一个表示。大多数应用程序代码存在于任务中。如果您有许多必须同时执行的任务,则需要提供一种允许并发的方法。一种方法是为每个任务设置一个单独的处理器。您可以使用并行计算机,但是这种解决方案对于许多应用程序来说过于昂贵。原创 2024-04-12 09:19:44 · 309 阅读 · 0 评论 -
AUTOSAR OS详细介绍及配置说明(更新版20240115)
AUTOSAR OS扩展了OSEK/VDX标准中的操作系统,所以本文结合OSEK/VDX的标准来介绍AUTOSAR OS,并借助Vector Configurator讲解AUTOSAR OS的配置。源于德语,英文意思是:“车载电子设备的开发系统和接口”,它是一个标准,用来产生嵌入式操作系统的规范,通讯协议栈,和汽车网络管理协议,也产生其他相关的规范。OSEK被设计来提供整车的各种电子控制单元的软件标准架构。原创 2024-01-16 08:49:40 · 322 阅读 · 1 评论