自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

分享AutoSAR软件架构和开发笔记,记录从小白到精通的汽车电子与软件的学习经历。

  • 博客(412)
  • 收藏
  • 关注

原创 【Adaptive AutoSAR总目录】- AP从入门到精通实战系列课程【持续更新中...】

是比较有深度的经典AutoSAR的解读作品,结合工具和代码,细扣每个知识点!订阅后可咨询技术问题!🔗《AutoSAR BSW高阶配置》

2023-07-27 01:12:40 1267

原创 总目录- AutoSAR BSW高阶配置【持续更新中...】

是比较有深度的经典AutoSAR的解读作品,结合工具和代码,细扣每个知识点!订阅后可咨询技术问题!AutoSAR BSW高阶配置。

2023-03-28 23:11:27 2214

原创 总目录- AutoSAR从入门到精通实战系列课程【持续更新中...】

欢迎大家订阅《AutoSAR入门和实战系列》,开始前博主先列出AutoSAR学习的大纲,同时这也可以作为大家学习AutoSAR的参考。想学习和及以及的同学们,可以订阅本博客,本博客一直持续更新中。如果想深入或从本质上学习和理解AutoSAR,打开此链接后,,点击左下方【立即订阅】订阅专栏!!!】......

2021-10-14 23:15:39 42979 8

原创 22【AUTOSAR自适应平台设计的概述01】杂项概念介绍

本小课题主要是让读者对AUTOSAR自适应平台设计的思路有个宏观的概念,不拘泥于具体的技术细节。

2024-12-26 00:19:36 97

原创 【EthIf-14】EthIfGeneral容器配置-02

阅读此部分代码,搞清楚代码分为几个section,大概瞄一眼就好,不用深究其含义,只需有一个宏观的层次结构的映像即可。

2024-12-24 23:29:18 128

原创 【EthIf-13】EthIfGeneral容器配置-01

下面是EthIfGeneral配置参数的类图,比较重要的参数就是配置:

2024-12-24 22:53:00 130

原创 【EthIf-12】以太网接口的中断模式帧接收代码解析

类似,唯一的区别是EthIf 模块通过Eth_RxIrqHdlr中断回调函数来监听网络上传入的以太网帧。

2024-12-17 21:23:08 57

原创 【EthIf-11】以太网接口的轮询模式帧接收代码解析

【代码】【EthIf-11】以太网接口的轮询模式帧接收代码解析。

2024-12-16 21:52:42 58

原创 【EthIf-10】以太网接口的中断模式帧传输代码解析

以太网接口的中断模式帧传输与以太网接口的轮询模式帧传输发送流程相似,唯一的区别是在中断。

2024-12-16 21:04:33 49

原创 【EthIf-09】以太网接口的轮询模式帧传输代码解析

轮询模式下,以太网接口 向上层提供和供上层主动调用,实现新的帧发送。

2024-12-15 21:50:37 73

原创 【c/c++】uint8_t **的用处

【代码】【c/c++】uint8_t **的用处。

2024-12-15 19:56:59 285

原创 【EthIf-08】以太网接口通信初始化序列代码解析

【代码】【EthIf-08】以太网接口通信初始化序列代码解析。

2024-12-15 18:42:14 79

原创 【EthIf-07】以太网接口中初始化序列代码解析

为了说明以太网接口的操作,包括其与上层 BSW 模块和底层以太网控制器驱动程序的交互,我们可以创建序列图来描述帧传输和接收等基本操作。

2024-12-14 18:04:28 50

原创 【EthIf-06】以太网接口中实现对虚拟局域网 (VLAN) 的支持

以太网接口中要支持对虚拟局域网 (VLAN) ,要满足以下需求:VLAN 标记:将 VLAN 信息添加到以太网帧结构中。帧发送和接收:修改功能以包括发送和接收期间 VLAN 标签的处理。过滤:根据VLAN ID实现过滤。【all BSW modules above the Ethernet Interface shall not realize any difference between physical Ethernet controllers and virtual control

2024-12-14 17:27:31 105

原创 【EthIf-05】 Ethernet Interface main function

EthIf的主要功能:

2024-12-14 16:28:18 67

原创 【EthIf-04】 EthIf_CtrlIdx控制器索引

上层的模块访问以太网接口模块「EthernetInterface」,以太网接口模块通过以太网驱动程序层与多个以太网控制器交互的。

2024-12-14 16:13:21 61

原创 【EthIf-03】 EthernetInterface软件栈的文件组织结构

上图为《AUTOSAR_SWS_EthernetInterface【v2.2.0 】》给出的EthernetInterface软件栈的文件组织结构,本文主要关注arccore代码中已存在的文件的功能和作用,不知道的小伙伴可以查看🔗。

2024-12-13 22:20:56 122

原创 【EthIf-01】EthIf的文件结构

ls -R 查看目录EthIf的文件结构,包含四个目录, 一个make file文件,具体如下所示:

2024-12-12 21:32:13 264

原创 【EthIf-02 】EthIf编译脚本 communication/EthIf/EthIf.mod.mk

它是Ethernet Interface (EthIf) components的makefile文件。

2024-12-09 22:16:02 778 1

原创 21【Adaptive AutoSAR 源码解析01】通信中间件技术总览

具体特定技术的中间件协议(dds,someip)通过继承ProxyFactory,来使用ara::com::InstanceIdentifier。

2024-09-10 00:17:10 182

原创 【uml】graph_legend中的类图怎么看

带红色边框的方框表示未显示所有继承/包含关系的已记录的结构或类。如果图表不适合指定的边界,则图表将被截断。如果一个类包含或被另一个类使用,则使用紫色虚线箭头。箭头标有指向的类或结构可通过其访问的变量。黄色虚线箭头表示模板实例与其实例化的模板类之间的关系。箭头标有实例的模板参数。蓝色箭头用于可视化两个类之间的公共继承关系。带黑色边框的方框表示已记录的结构或类。带灰色边框的方框表示未记录的结构或类。实心灰色方框表示生成图表的结构或类。深绿色箭头用于受保护的继承。深红色箭头用于私有继承。

2024-09-09 23:22:26 197

原创 What are the differences between protected and private inheritance?

【代码】What are the differences between protected and private inheritance?

2024-09-09 23:14:42 276

原创 20【通信管理之c++基础01】std::future

【代码】【通信管理之c++基础01】std::future。

2024-09-09 21:37:53 105

原创 string字符会调用new分配堆内存吗

gcc的string默认大小是32个字节,字符串小于等于15直接保存在栈上,超过之后才会使用new分配。

2024-09-08 14:03:31 389 1

原创 【linux软件基础知识】等待队列

prepare_to_wait() 和 prepare_to_wait_exclusive() 函数将进程状态设置为作为第三个参数传递的值,然后分别将等待队列元素中的独占标志设置为 0(非独占)或 1(独占),最后将等待队列元素 wait 插入到等待队列头 q 的列表中。一旦进程被唤醒,它就会执行 finish_wait() 函数,该函数再次将进程状态设置TASK_RUNNING(以防唤醒条件在调用 schedule() 之前变为真),并从等待队列列表中删除等待队列元素(除非唤醒函数已经完成此操作)。

2024-08-13 00:01:06 169

原创 A const member function

【代码】A const member function。

2024-07-17 22:08:06 239

原创 Writing Bazel rules: data and runfiles

Bazel has a neat feature that can simplify a lot of work with tests and executables: the ability to make data files available at run-time using data attributes. You may have seen these in rules like this:Bazel 有一个巧妙的功能,可以简化测试和可执行文件的大量工作:使用数据属性在运行时使数据文件可用。

2024-07-14 16:53:12 1062

原创 Writing Bazel rules: library rule, depsets, providers

在上一篇文章中,我们构建了一个 go_binary 规则,该规则从源列表编译并链接 Go 可执行文件。这次,我们将定义一个 go_library 规则,该规则可以编译其他库和二进制文件可以依赖的 Go 包。本文重点介绍相互通信以构建可由链接器(或类似链接器的操作)使用的依赖关系图的规则。所有代码均来自 v2 分支上的 github.com/jayconrod/rules_go_simple。再说一次,您不需要了解 Go 就可以理解这一点。我只是用 Go 作为例子,因为这就是我的工作。

2024-07-14 15:45:00 1011

原创 Writing Bazel rules: simple binary rule

例如,如果您要求进行fetch_repo_test构建,Bazel 将构建一个图,其中fetch_repo_test节点分别依赖于fetch_repo_test.go、:fetch_repo_lib并@org_golang_x_tools_go_vcs//:vcs通过srcs、embed和deps边。好的,今天我们已经讲完了所有的理论。go_binary 在 _go_binary_impl 函数中实现(在此处作为第一个参数传递),Bazel 将在分析阶段针对构建的每个 go_binary 目标调用该函数。

2024-07-13 09:25:26 945

原创 bazel基础知识

构建系统,而不是构建生成器(直接调用编译器)【A build system, not a build generator (invokes directly the compiler)】具有完整的测试功能(测试报告、片状测试处理等)【With full of functionality for testing (test reports, flaky tests handling, etc.)】Bazel核心是用Java编写的,规则和宏是用Starlark编写的【Bazel core is written

2024-07-09 16:53:32 1820

原创 【bazel】 一文读懂Starlark

当我们编写工作区和构建文件时,我们使用一种名为 Starlark 的语言进行编码,它是 Python 的一种自定义变体。现在,对于所有 Python 开发人员来说,请保持您的敬意。Starlark 是 Python 的一种变体 - 即该语言的受限版本。这是专门为 Bazel 设计的。它旨在具有确定性,并设计为并行运行,例如在完全不同的机器上的核心上运行。因此,您最喜欢的一些语言功能可能已被剔除。例如,对于 Starlark,类已从语言中提取。您不能使用 import 语句。相反,您使用自定义加载函数。

2024-07-07 17:32:24 1135

原创 【bazel】 创建BazelRC 文件

当您的构建需要几个选项时,您可以创建一个 bazelrc 文件并使用它来将配置选项传递给您的构建。bazelrc 是一个名为 .bazelrc 的隐藏文件。您可以在该文件中提供构建选项,这些选项将应用于所有构建,但您也可以为不同的配置指定标志。这样,您可以在构建时选择配置。

2024-07-07 17:06:56 1194

原创 Variables Reference for vscode

Visual Studio Code 支持在调试、任务配置文件以及一些特定的设置中使用变量替换。这些变量可以使用 ${variableName} 语法在 launch.json 和 tasks.json 文件的某些键和值字符串中使用。

2024-06-30 21:40:36 624

原创 Debugging using Visual Studio Code

对于其他语言和运行时的调试(包括 PHP、Ruby、Go、C#、Python、C++、PowerShell 等),可以在 VS Code Marketplace 中查找调试器扩展,或在顶层的"运行"菜单中选择"安装其他调试器"。您可以在"变量参考"中查看所有预定义变量的完整列表,或者在 launch.json 的字符串属性中使用 IntelliSense (Ctrl+Space) 来浏览可用的变量。可以在"运行和调试"视图的"变量"部分查看变量的值,或者将鼠标悬停在编辑器中变量的源代码上查看。

2024-06-30 18:30:47 874

原创 Configure C/C++ debugging

launch.json 文件用于在 Visual Studio Code 中配置调试器。Visual Studio Code 会生成一个 launch.json (位于项目的 .vscode 文件夹下),其中几乎包含了所有必需的信息。要开始调试,您需要填写 program 字段,指定要调试的可执行文件的路径。这必须同时在 launch 和 attach (如果您计划随时附加到正在运行的实例)配置中指定。生成的文件包含两个部分,一个配置了 launch 调试,另一个配置了 attach 调试。

2024-06-30 12:12:42 916

原创 Bazel plugin for Visual Studio Code

默认情况下,此扩展不会在格式化期间自动修复 lint 警告(lint可用于描述在任何一种电脑程式语言中,用来标记原始码中有疑义段落的工具),但您可以通过启用 Bazel:Buildifier Fix on Format 设置来选择此功能。如果您将 Bazel 安装在系统路径之外的位置,或者您希望在 IDE 中使用其他版本,则应将 Bazel:可执行文件设置设置为 Bazel 可执行文件的位置。单击调试器中的“停止”按钮将终止正在调试的 Bazel 进程,从而允许您停止当前构建。

2024-06-29 23:54:11 1402 1

原创 Using Clang in Visual Studio Code

您可以在tasks.json中定义多个构建任务,并且标记为默认的任务就是播放按钮使用的任务。默认情况下,clang++ 使用 C++98 标准,该标准不支持 helloworld.cpp 中使用的初始化。请确保用“运行 helloworld.cpp”部分中提供的代码块替换您的 task.json 文件的全部内容。最常见的错误原因(例如未定义的 _main,或尝试链接为未知的不支持的文件格式构建的文件等)是当您开始构建或开始调试时 helloworld.cpp 不是活动文件时发生的。

2024-06-29 14:56:44 1080

原创 bazel :Output Directory Layout

Doesn’t collide if multiple users are building on the same box.如果多个用户在同一个盒子上建造则不会发生冲突。Supports building in multiple workspaces at the same time.支持同时在多个工作区中构建。Supports building for multiple target configurations in the same workspace.支持在同一个工作区中构建多个目标配置。

2024-06-23 17:56:56 771

原创 bazel build ‘...‘

By running bazel build ‘…’,您可以构建整个基于 Bazel 的项目,利用 Bazel 的缓存、增量构建和并行执行功能来优化构建过程。此命令是构建和开发基于 Bazel 的应用程序和库的常用起点。

2024-06-23 00:29:41 485

原创 怎么确定编译器使用的c++版本

【代码】怎么确定编译器使用的c++版本。

2024-06-22 22:53:44 144

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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