- 博客(109)
- 资源 (4)
- 问答 (1)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 AutoSAR入门到精通讲解-总目录
一、AutoSAR-CP建立一套优秀的软件底层代码,使得各大主机厂都能通用,同时使汽车软件开发更加标准化、规范化、安全化、快速化和经济化。
2022-09-06 11:53:06
6650
4
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Linux Kernel入门到精通系列讲解 - 总目录
在学习Linux Kernel之前,需要先准备开发环境,方便后续进行开发。可以根据自身情况,选择性阅读该章节。学习该章节之前,你应该了解一下网络概念,明白为什么要讲这些,才能更有方向的去理解学习。Linux ARM平台开发系列讲解(设备树篇) 4.1.1 设备树的原理详解。本项目完全开源,仅供学习使用,如需其他用途,请与本人联系。),本章节你可以学习到。摄像头V4L2子系统、Linux kernel常用的子系统等,ARM架构、RISCV架构、Uboot等。
2022-03-14 15:53:14
8849
3
原创 Linux Kernel入门到精通系列讲解(RV-Kernel 篇) 5.6 在kernel 中实现系统复位和系统关机驱动
上一章节`Qemu`篇我们已经实现了我们`SOC`的`power reset`和 `power down` 寄存器,本章节我们就在`Linux driver`中去实现它
2024-06-23 21:37:22
161
1
原创 Linux Kernel入门到精通系列讲解(QEMU-虚拟化篇) 2.6 Qemu实现power控制器,实现reboot和halt指令
将一些杂项的实例归入了misc目录,里面都是一些没有统一标准,用户自定义的。4. 在Naruto Pi中加入Power IP。里面我们可以写一个简单的寄存器去实现该功能。,每一家的芯片基本都不一样,所以也归纳入。指令还无法复位或者下电,所以需要添加。我们就把一个寄存器的功能设置会调用。3. 创建MISC IP。2. Qemu杂项驱动。,思路和真实芯片差不多。本章节我们想要给我们的。控制器,由于现在我们的。syscon
2024-06-22 22:41:03
131
原创 Linux Kernel入门到精通系列讲解(RV-Kernel 篇) 5.5 RTC设备编写与实现
4. Linux kernel RTC子系统goldfish_rtc driver分析。电脑,会需要时间,还比如 我们的手机、平板,都需要时间;驱动基本就是应用层需要什么数据你给什么数据就行,基本必须实现的就是。3.2 Linux kernel RTC 设备描述符讲解。中看到他的具体实现,也可以根据他的寄存器描述直接在。5. 将驱动添加进kernel和测试RTC驱动。系统来说,时间是一个非常重要的功能;之类的函数接口,接下来我们就开始讲解如何写。,所以我们直接移植设备树即可。,他的寄存器很简单,你可以从。
2024-06-15 21:27:22
238
原创 Linux Kernel入门到精通系列讲解(QEMU-虚拟化篇) 2.5 Qemu实现RTC设备
的IP,这样你学起来才会事半功倍,不然啥都没有,神来了也写不出来东西呀,对吧。后,会变得相对精准,最后,在加之前你可能会问为什么我会选这个。得基础条件,剩下得都只是添砖加瓦,本小节我们将添加。加进去,这里我只想说,一般情况,我建议选要么有。2. 添加RTC的基地址和中断号。都通了,目前可以说已经具备学习。小节),我们已经把整个。的时间戳会很奇怪,加了。3. 添加RTC实例。
2024-06-13 22:39:41
291
原创 Linux Kernel入门到精通系列讲解(RV-Kernel 篇) 5.4 添加GPU和Framebuffer显示设备
的基本功能全部实现了,接下来,我们会不断探索,引入一些高级驱动,哇咔咔,真厉害,本章节比较简单,我们使用之前我们的。启动了,后面我们就可以做一些图形界面输出的应用了。图像输出,后续我找到资料学完了我们继续深入。窗口,并且多了七只小企鹅,一只小企鹅代表一个。4. 添加virtio gpu启动参数。3. kernel添加GPU和DRM。我没深入了解过,所以我们仅限于使用。5.重新编译kernel 并启动。上一章节我们已经成功的移植完。,到此,我们已经把我们。,我们就用其中一组模拟。
2024-06-10 21:45:08
147
原创 Linux Kernel入门到精通系列讲解(RV-Kernel 篇) 5.3 从零移植 busybox,基于RISC-V
上一章节我们已经成功启动了`Ubuntu`,但是由于`Ubuntu`占用系统空间过大,所以我转向占用较小的`busybox`,预计就占用`30M`左右。开始移植busybox,基于riscv64
2024-06-10 19:08:05
270
原创 Linux Kernel入门到精通系列讲解(RV-Kernel 篇) 5.2 从零移植 Ubuntu,基于RISC-V
之前,我们要知道几个概念,这样有助于后续移植。2. kernel和rootfs的调用关系。已经跑起来了,接下来我们就移植。3. 移植ubuntu。4. 运行ubuntu。6. 吐槽ubuntu。
2024-06-10 16:18:32
349
原创 Linux Kernel入门到精通系列讲解(RV-Kernel 篇) 5.1 从零移植 Linux kernel,基于RISC-V
上一章节我们已经将`u-boot`部署好了,本章节,我们将从零移植`Naruto-Pi`的`Linux kernel`,移植通用`RISCV`很简单,在移植之前,大家也可以参考我之前写的文章,
2024-06-10 15:41:09
542
原创 Linux Kernel入门到精通系列讲解(RV-U-boot 篇) 4.3 U-boot中加入virtio和fw_cfg
2. 设备树中添加virtio和fw_cfg设备信息。3. 编译设备树及其u-boot。集成好了,这章节我们就将其在。4. 更改运行脚本参数。
2024-05-27 23:19:37
135
原创 Linux Kernel入门到精通系列讲解(QEMU-虚拟化篇) 2.4 创建Virtio和fw_cfg虚拟化环境
启动传递一些参数给虚拟机就会非常方便,比如我们这里就把创建。编译直接调用我写得脚本即可,本章节添加结束,接下来我们将在。是一个开源的虚拟化软件,可以模拟完整的计算机系统,包括。提供的传递参数给内核的虚拟ip,这里我们也添加下这个。2. QEMU添加Virtio和fw_cfg。中的一部分,主要用于优化虚拟机与宿主机之间的。给跑起来了,如果感兴趣的小伙伴可以去看看。2.2 创建virtio和fw_cfg。中去验证我们所添加的东西,请跳转。,键盘、鼠标等设备虚拟化。到这个阶段,我们已经把。,后面我们如果想通过。
2024-05-27 22:38:50
325
原创 Linux Kernel入门到精通系列讲解(RV-U-boot 篇) 4.2 RISC-V从零移植自己的Uboot
5. 添加Naruto platform U-boot编译选项。4.2 添加Naruto Pi board config文件。分区,方便后续创建更多的设备,并且从零开始移植一个属于。4. 创建Naruto platform U-boot。3.3 修改trusted domain源码。2.2 当前Image存储划分(LMA)移植成功了,本章节我们将会重新规划。2.3 当前程序运行划分(VM)3.1 修改lowinit源码。3.2 修改opensbi源码。3. 根据新地址分配修改源码。上一章节我们已经成功从。
2024-05-26 19:12:53
167
原创 Linux Kernel入门到精通系列讲解(RV-U-boot 篇) 4.1 RISC-V快速移植启动一个U-boot
是否完成了移植,所以我们先不改任何配置,下一章节,我将会带着从零开始添加一块自己的。的可以先跳回去学,因为它们是互相依赖的关系。根目录下执行下列命令(我这里由于我编写了脚本,我直接执行了。在很久以前,我其实已经在本专栏很详细的分析过。之前的阶段已经初始化完毕了,所以我们不需要。删除,修改后的设备树如下(注意,我们是依赖。,这里我们由于是快速体验,顺便也验证。仓库里面的脚本,如果使用的是我提供的。官网自行下载,也可以使用我们的。地址开始启动的,设备树位置是在。,它们的设计理念都差不多,对。
2024-05-18 21:27:10
268
原创 Linux Kernel入门到精通系列讲解(OpenSBI 篇) 3.3 OpenSBI 源码分析之domain
上一章节已经分析过了domain的入口和它做了些什么,具体可以返回上一章节查看,这一章节主要分析一下它里面的部分细节。设备树中该属性主要是配hart 是否支持cold boot,这个之前也讲过。由于我们使用了设备树,先来看一下设备树中,是怎么去配置。4. OpenSBI Naruto Pi的使用。这种,这是配置各个模块的内存空间的,很好理解。分成了两个域,参数里可以看到哪几个。的初始化流程,这一章节我们单独把。打算负责功能安全类似的,,这个很好理解,不说了。上一章节我们讲完了整个。涉及到了多核可以实现。
2024-05-09 22:08:13
306
原创 Linux Kernel入门到精通系列讲解(OpenSBI 篇) 3.2 OpenSBI 源码分析之初始化
不支持就走warm boot,注意了,这里的cold和warm并非实际意义上的冷启动和热启动,我的理解他应该叫做。汇编将所有为初始化做准备的条件都准备好了,正式进入初始化步骤,本小节就继续讲解初始化过程。,这样在初始化的时候它会调用相对应的回调函数,然后去初始化我们的配置。打印我们配置的信息这里就不分析了,就是把刚刚我们初始化的成果打印出来。的运行模式,这个模式是有之前汇编里传进来的,对于。采用平台的方式去配置初始化的一些外设,以。更合适,因为它就是初始化的多于少的区别。初始化,其它的外设初始化不是。
2024-05-08 22:53:44
218
原创 Linux Kernel入门到精通系列讲解(OpenSBI 篇) 3.1 OpenSBI 源码分析之汇编
接下来的这段汇编非常的长,它主要是去将每一个hart的信息做初始化或者保存,比如从设备树中获取的下一级boot的地址,权限模式等。程序的传入参数,一般用不到,我理解应该是自定义,暂时没找到地方去使用后面这三个参数。函数预先初始化部分操作,一般就是来获取设备树的指针。传入的值,如果用宏定义了设备树的路径,则将其首地址覆盖到。采用的是设备树启动,所以这里一定要去获取设备树地址。模式,另外两种未曾涉及过,暂时不深入讲解。下,能够进行一些硬件的初始化操作,加上。段,设置堆栈,临时异常处理函数,就是让。
2024-05-07 23:40:02
254
原创 Linux Kernel入门到精通系列讲解(QEMU-虚拟化篇) 2.3 创建OpenSBI虚拟化环境
前几章节在创建虚拟机时存在几个小问题,这里我纷纷列出来,如果不做的话,可能会导致。上一章节我们已经添加了几个外设,这一章节我们打算为移植。,方便用户快速移植,同时也提供了三种模式,具体我会在。具体完整实现可以参考代码仓库。移植章节介绍,本章节仅仅是修改Qemu。移植步骤,请点击总目录,查看。)程序,它提供了许多开源的。改动差不多就是这些,具体的。做环境准备,顺便修复一些。程序,他负责加载跳转。
2024-04-28 23:09:56
129
原创 Linux Kernel入门到精通系列讲解(QEMU-虚拟化篇) 2.2 新增加CPU外设之UART、中断控制器和pFLASH
可以看到,串口已经输出了数据,到这里,说明前面你都移植成功了,如果失败的,继续仓库仓库源码,然后根据我写的步骤去实现。(平台中断控制器),具体实现如下,直接复制粘贴即可,需要注意中断控制器的基地址的修改。已经初始化完成了,具体实现可以查看代码仓库,本章节我们将在上一章节的基础之上去增加。后的第一个代码存储区)、中断控制器和。里面都有支持,后面可以直接移植。5.编写测试程序和链接脚本测试。中断控制器的注册很简单,在。3.添加pFLASH。
2024-04-21 20:50:16
230
原创 Linux Kernel入门到精通系列讲解(QEMU-虚拟化篇) 2.1 新增加一个RISC-V CPU(NARUTO-PI)
如下是我初始化的一些设备,具体实现如下,后续还会初始化更多外设,这里我贴的源码可能多初始化了一些外设,不要紧,大家可以看代码仓库,代码仓库的更多,反正只要知道每一步干了啥,后续自己想添加外设也知道怎么添加就行。,他主要是实现将刚刚我们创建的实例去做初始化并且还初始化一些外设之类的,比如。空间代码如下,很简单,就两行代码,具体看下面代码。即可,里面很丰富,至少我找三人都验证过,照着做就能成功。,我这里就不做他的介绍了,我主要介绍怎么去使用它的。结构体,主要配置名字,类和两个函数,一个是。
2024-04-21 19:56:14
487
原创 Linux ARM平台开发系列讲解(QEMU-体验篇) 1.2 新添加一个Linux kernel设备树
用了一个默认的设备树文件,该章节呢我们就把这个默认的设备树文件增加进入我们的。文件,将我们的Makefile加入编译列表,修改后内容如下,末尾增加了一行。,但是细心的小伙伴就会发现,我们用默认的。源码中,以后就用设备树的方式构建源码。3. 在kernel中添加新的SOC。是没有找到设备树源文件的,但是又发现。4. 在kernel中添加设备树。可以看到,我们已经输出了新的。启动时候它使用了设备树。2. 导出DTB文件。
2024-04-14 17:00:24
418
原创 Linux ARM平台开发系列讲解(QEMU-体验篇) 1.1 编译QEMU 构建RISC-V64架构 运行Linux kernel
8.6 复制Linux kernel module到rootfs。10. 完整启动Linux kernel和挂载rootfs。8.4 配置rootfs(注意所有文件路径自定义即可)的使用,这样也方便环境统一调试,本章节就讲解如何在。注意,如果需要环境变量永久生效,可以把下面命令写入。位机器,以及两个平台上的应用程序,如果不使用。在开始编译之前需要部署一下依赖,安装以下依赖。简直太适合不过了,所以,我打算开一章节来教。5.2 编译交叉编译工具链源码。文件,以下命令的路径都是之前。等),重点是免费,用来学。
2024-04-13 23:11:29
299
原创 Linux ARM平台开发系列讲解(u-boot篇) 5.1 u-boot的启动流程分析(ARMv8-a)
1. 概述对于嵌入式来说,bootload对于开发人员来说并不陌生,但是在不同芯片架构中,bootload程序所做的一些操作是有所不同的,比如常见的STM32Cotex-M和RK3568之间的启动流程所做的操作是有所不同的。本小节就来概述一下U-boot2. 源码下载U-boot3. 基础知识了解各种架构的bootload,都需要掌握一些基础知识,比如汇编亦或者一些关键词,接下来就先了解一下关键词,方便后续学习起来不会误解。U-boot本质上就是一个单片机程序,所以对应不同的硬件设计和CPU。
2024-03-31 21:49:18
476
原创 Linux ARM平台开发系列讲解(CAN) 2.14.4 FlexCAN Controller 介绍
编写驱动时一些注意的点基本都讲解完了,下一章节就会开始编写驱动,所以该章节还是非常重要的,需要理解好才能在下一章节顺利理解。,这一点在嵌入式中是必须养成的习惯。下面我就简略介绍一下。开始,这样你才知道它有哪些功能,这样也才能去写。可能有删减,略有不同是正常的,参考实际即可。,理解它所说的这些模式到底是什么意思,比如。协议,部分厂家在此基础上还衍生出各自的。使用章节的读者应该多多少少感受到了,在。也做了统一集成框架,本章节,就以。初始化的步骤如下,注意初始化。有很多家的,常见的就是。,所以不同的芯片里面的。
2023-02-20 23:26:54
494
1
原创 Linux ARM平台开发系列讲解(GMSL摄像头篇)1.3 MAX9295 GMSL注意事项
就是这样的结构,官方给出的构造如下,这里需要配置摄像头的电源开关,摄像头和。芯片是串行器,一般可能会集成在摄像头内部,比如这里提到的。2. MAX9295给摄像头上电。
2023-02-17 23:14:30
1883
2
原创 Linux ARM平台开发系列讲解(CAN) 2.14.3 CANFD协议介绍
1. 概述前面章节介绍了CAN2.0协议,CAN现在主要是用在汽车领域,随着CAN的发展, 又衍生除了CANFD协议,该协议是在CAN的基础之上进行了升级,CAN2.0的最高速率是1Mbps,有限的速率导致CAN总线上负载率变高,所以CANFD就出现了,CANFD目前最高支持10Mbps。除此之外,CANFD还拥有动态波特率数据传输的特点(CAN2.0与CANFD物理层完全相同)。学习该章节前建议配合前面CAN2.0协议章节一起看。2. CANFD使用场景前面提到了CANFD。
2023-02-17 22:48:53
1228
原创 Linux ARM平台开发系列讲解(调试篇) 1.2.2 如何编译IMX8MPUS-SDK
1. 概述今天给大家介绍一下米尔科技IMX8MPLUS的SDK,由于走的是NXP原厂的yocto,所以可以说是极其难用,坑特别多,但是想到可能有看我写的文章的同学用的该开发板,我觉得应该记录一下,能帮一个是一个吧,本来想回家继承祖业,但是又想继续搞技术,所以又开始回归行业,最近由于在开发新的芯片,所以文章更新速度慢了一些,希望以后我开发的芯片有小伙伴有机会用到吧,哈哈哈,言归正传,开始介绍。2. 资源下载链接可以根据下面链接下载本章节所有资源,都已经测试完毕。3. 构建yocto使用yocto构建。
2023-02-10 23:59:45
860
2
原创 Linux ARM平台开发系列讲解(调试篇) 1.7.1 RK3399Pro环境搭建及其编译
的获取和编译烧录方法,帮助快速上手。6. 更换文件系统为Ubuntu。3. SDK编译环境搭建。4. SDK解压及其编译。
2022-10-11 14:08:56
840
2
原创 Linux ARM平台开发系列讲解(调试篇) 1.3.2 RK3399移植Ubuntu文件系统步骤
1. 概述由于项目需要,需要在RK3399上移植Ubuntu文件系统,前面章节也细讲过Ubuntu的移植,可以去参考本专栏的,当然本篇也会细讲RK3399上移植Ubuntu的过程。2. 文件系统下载Ubuntu的文件系统Ubuntu官方已经帮我们编译好了,我们只需要去做一些移植工作即可,镜像可以在Ubuntu官网下载,。如下图,下载版本。3. 解压Ubuntu文件Ubuntu03_ubunturoot4. 在主机Ubuntu里安装QEMUQEMU相当于要启动Ubuntu的虚拟机,将其挂载到PC。
2022-09-25 21:30:46
1763
原创 Linux ARM平台开发系列讲解(网络篇)1.9 以太网帧格式IEEE802.3介绍
作为驱动开发人员,如果是纯设备开发,理论上不需要了解这些协议也能开发,但是要提升为一个高手,有些知识是必须去理解消化的,该章节就讲解一下以太网帧格式(字段比较,结果相同表示帧有效,结果不同接收方认为发生了错误,进而将帧丢弃。如下图所示,每层数据向下传输时都会进行封装,帧有效数据来源于上级网络层。),广播发送给所有设备,而组播只发送给网络中一组类似的节点。这是网络层传递给数据链路层的帧,其长度为。字段中,不能包含广播地址或组播地址。表示的是有效数据长度,并不包含填充(,循环冗余校验)结果的帧的帧尾。
2022-09-21 16:20:33
702
原创 Linux ARM平台开发系列讲解(调试篇) 1.4.3 S32G274A CAN和LLCE CAN调试
1. 概述本章节讲述这颗芯片中的CAN和LLCE CAN模组调试步骤,本章节使用的板卡为NXP官方,有15路LLCE CAN和4路普通CAN2. 设备树配置CAN,设备树默认是开启CAN的,但有一路CAN1LLCE CAN3. 驱动编译中,LLCE CAN驱动默认是关闭不加载的,所以需要手动添加编译,具体可以参照用户手册,但是手册里也没有提到,这里总结一下研究成功的步骤。LLCE CAN由四部分驱动去构成,分别为LLCE CAN驱动、LLCE CAN报文日志驱动、LLCE核心驱动和LLCE。
2022-09-15 15:22:07
1535
原创 Linux ARM平台开发系列讲解(CAN) 2.14.2 CAN调试工具安装及其使用
1. 概述在Linux ARM芯片下,一般情况,SOC内部会自带CAN的驱动设备驱动开发人员基本只需要设备树里使能一下,基本就能用了,所以,掌握调试CAN的方法更为关键。本章节就讲述一些调试CAN的工具和使用方法。2. 工具安装。
2022-09-15 11:30:13
1060
原创 Linux ARM平台开发系列讲解(CAN) 2.14.1 CAN基础协议分析
1. 概述CAN的全称为,也就是控制局域网络,简称为CAN。CAN最早是由德国BOSCH(博世)开发的,目前已经是国际标准(ISO 11898),是当前应用最广泛的现场总线之一。BOSCH主要是做汽车电子的,因此CAN一开始主要是为汽车电子准备的,事实也是如此,CAN协议目前已经是汽车网络的标准协议。当然了,CAN不仅仅应用于汽车电子,经过几十年的发展,CAN协议的高性能和高可靠性已经得到了业界的认可,目前除了汽车电子以外也广泛应用于工业自动化、医疗、工业和船舶等领域。学习CAN。
2022-09-13 15:20:52
682
2
原创 Linux ARM平台开发系列讲解(互斥体) 3.5.1 Linux内核互斥体描述
互斥访问表示一次只有一个线程可以访问共享资源,不能递归申请互斥体。就可以使用信号量进行互斥访问了,虽然可以通过信号量实现互斥,但是。提供了一个比信号量更专业的机制来进行互斥,它就是互斥体—驱动的时候遇到需要互斥访问的地方建议使用。中也有互斥体,将信号量的值设置为。2. 互斥锁的API。
2022-09-08 17:53:30
242
原创 Linux ARM平台开发系列讲解(信号量) 3.4.1 Linux内核信号量描述
的时候说明停车场满了。停车场满的时你可以等一会看看有没有其他的车开出停车场,当有车开出停车场的时候停车数量就会减一,也就是说信号量减一,此时你就可以把车停进去了,你把车停进去以后停车数量就会加一,也就是信号量加一。但是,信号量的开销要比自旋锁大,因为信号量使线程进入休眠状态以后会切换线程,切换线程就会有开销。,那么这个信号量就是计数型信号量,计数型信号量不能用于互斥访问,因为它允许多个线程同时访问共享资源。因此,可以通过信号量来控制访问共享资源的访问数量,如果要想进房间,那就要先获取一把钥匙,信号量值减。
2022-09-08 17:25:46
236
原创 Linux ARM平台开发系列讲解(自旋锁) 3.3.1 Linux内核自旋锁描述
1. 概述原子操作只能对整形变量或者位进行保护,但是,在实际的使用环境中怎么可能只有整形变量或位这么简单的临界区。举个最简单的例子,设备结构体变量就不是整型变量,我们对于结构体中成员变量的操作也要保证原子性,在线程A对结构体变量使用期间,应该禁止其他的线程来访问此结构体变量,这些工作原子操作都不能胜任,需要本节要讲的锁机制,在Linux内核中就是自旋锁。2. 自旋锁特性分析。
2022-09-08 15:04:38
473
原创 Linux ARM平台开发系列讲解(原子操作) 3.2.1 Linux内核原子操作
首先看一下原子操作,原子操作就是指不能再进一步分割的操作,表面上的含义是当一个原子变量被操作时,不可能有第二个线程或进程在对其操作,在没有原子操作的概念的时候,大多数都是使用标志位或者状态机去防止内存竞争,有了原子锁,就可以使用原子锁去解决类似的应用场景。的结构体来完成整形数据的原子操作,在使用中用原子变量来代替整形变量,此结构体定义在。函数,只不过原子位操作不像原子整形变量那样有个。的数据结构,原子位操作是直接对内存进行操作,没有抢到原子变量,执行了原子变量繁忙的逻辑。,说明设备被占用,返回。
2022-09-08 10:43:18
605
原创 Linux ARM平台开发系列讲解(Linux并发与竞争) 3.1.1 Linux并发与竞争概述
当然是内存啊,可以把共同要访问的这段内存叫做临界区,所谓的临界区就是共享数据段,对于临界区必须保证一次只有一个线程访问,也就是要保证临界区是原子访问的,我们都知道,原子是化学反应不可再分的基本微粒,这里的原子访问就表示这一个访问是一个步骤,不能再进行拆分。如果多个线程同时操作临界区就表示存在竞争,我们在编写驱动的时候一定要注意避免并发和防止竞争访问。系统是个多任务操作系统,会存在多个任务同时访问同一片内存区域,这些任务可能会相互覆盖这段内存中的数据,造成内存数据混乱。就先拿到了临界区的资源,线程。
2022-09-07 12:25:24
549
原创 AutoSAR入门到精通讲解 (AppL) 2.1 AutoSAR-CP AppL概述
中(实际上汽车里面也是这么做的)。将车灯开关、调光控制器和左右顶灯(这里我只画了一个)放到一个。中由车身顶部的一个芯片控制;将左右车门开关(这里我只画了一个)和车门开关逻辑单元放到专用的车门。成员之间不是直接通信的,它们之间的通信是通过虚拟功能总线(,分别位于车身前部的车门控制器和位于车身顶部的顶灯控制器。的通信就是通过外部总线(一般为。2. AppL的成员结构。3. SWC成员间的通信。在最上层,该章节就描述一下。
2022-09-06 19:48:59
4264
3
原创 AutoSAR入门到精通讲解 (AuroSAR-CP描述) 1.1 AutoSAR-CP简介
MATLAB:主要是应用层做算法用的,比较方便实用:主要用来搭建设计APPL的框架架构: 主要用来配置BSW和自动生成RTE的返回总目录。
2022-09-06 15:16:06
22560
4
求一个MCU驱动RTL8211F-CG的驱动或者配置自适应的步骤
2021-11-04
TA创建的收藏夹 TA关注的收藏夹
TA关注的人