FVM安装及配置

一、下载fvm 包

git:Release fvm 3.1.7 · leoafarias/fvm · GitHub

解压到本地文件夹,然后添加环境变量

管理员模式打开cmd,查看是否成功

fvm --version

二、安装Dart SDK

下载Dart SDK:Dart for Windows

三、安装GIT

四、指定FVM下载路径

fvm config --cache-path D:\fluttersdk

五、开始下flutter sdk

查看可以下载的版本

fvm --releases

下载指定版本,期间需保证github可以连接

fvm install 3.22.3

安装后可以查看到版本

在执行,下载sdk

fvm install 3.22.3 --setup

设置为全局

fvm global 3.22.1

检查flutter环境

fvm flutter doctor

六、配置vscode

安装dart、flutter扩展插件,指定版本

fvm use 3.22.3

初始化项目依赖

fvm flutter put get

下选择运行平台,然后运行项目

fvm flutter run

### 配置达芬奇软件中的 FVM 模块 达芬奇软件通常用于汽车电子控制单元(ECU)的开发和配置,尤其是在 AUTOSAR 架构中。FVM(Freshness Value Management,新鲜度值管理)模块在达芬奇中的配置主要涉及安全通信中的新鲜度管理,确保数据在传输过程中不会被重放攻击。以下是一般配置步骤和关键参数设置: #### 1. 配置 FVM 模块的基本参数 在达芬奇工具中打开 ECU 配置项目后,找到 FVM 模块并进行以下配置: - **FVM 实例名称**:为 FVM 模块实例命名,通常根据 ECU 的功能命名。 - **FVM Mode**:选择 FVM 的工作模式(例如,Master 或 Slave 模式)。Master 模式负责生成新鲜度值,而 Slave 模式负责验证接收到的新鲜度值。 - **Freshness Value Length**:设置新鲜度值的长度,通常为 16 位或 24 位,具体取决于通信协议(如 CAN-FD)的要求。 #### 2. 配置 FVM 的同步机制 FVM 模块需要与远程节点同步新鲜度值,确保双方使用相同的计数器值。 - **Sync Counter Length**:设置同步计数器的长度,通常为 8 位或 16 位。 - **Reset Counter Length**:设置重置计数器的长度,用于标识同步周期或重置事件。 - **Message Counter Length**:设置消息计数器的长度,用于跟踪每个安全 PDU 的发送次数。 #### 3. 配置 FVM 的触发条件 FVM 模块的计数器会在特定条件下更新,确保新鲜度值的动态变化。 - **Sync Trigger Conditions**:定义同步触发条件,如周期性触发、KL15 上电、密钥更新等。 - **Reset Trigger Conditions**:定义重置触发条件,如 TripCounter 达到最大值、BusOff 恢复等。 #### 4. 配置 FVM 的存储机制 为了确保新鲜度值在 ECU 重启后仍然有效,FVM 模块需要将计数器值存储在非易失性存储器(NVM)中。 - **NVM Block Configuration**:配置用于存储 FVM 计数器的 NVM 块,确保在 ECU 关闭时保留当前计数器值。 - **NVM Read/Write Timing**:设置 NVM 读写时机,确保在适当的时间更新存储值。 #### 5. 配置 FVM 的通信接口 FVM 模块需要与通信栈(如 SecOC 模块)进行交互,确保新鲜度值能够正确插入到安全 PDU 中。 - **Communication Interface**:选择 FVM 使用的通信接口(如 CAN、CAN-FD)。 - **PDU Group Configuration**:配置FVM 相关的 PDU 组,确保每个安全 PDU 在发送前都经过 FVM 处理。 #### 6. 配置 FVM 的错误处理机制 FVM 模块需要具备处理错误和异常情况的能力,确保系统在异常情况下仍能保持安全。 - **Error Handling Strategy**:定义 FVM 在检测到新鲜度值不匹配或同步失败时的处理策略,如记录错误、触发重置等。 - **Timeout Handling**:设置同步超时时间,确保在规定时间内完成同步操作。 #### 7. 配置 FVM 的调试和日志功能 为了便于调试和验证,FVM 模块通常提供日志和调试接口。 - **Debug Interface**:启用 FVM 的调试接口,记录新鲜度值的变化和同步状态。 - **Log Level Configuration**:设置日志级别,确保在不同开发阶段记录适当的调试信息。 #### 8. 生成代码并集成到项目中 完成配置后,使用达芬奇工具生成代码,并将其集成到项目中进行测试和验证。 ```c // 示例代码:FVM 模块初始化 void Fvm_Init(void) { // 初始化 FVM 模块 Fvm_ConfigType *config = &Fvm_Config; Fvm_ModuleState = FVM_STATE_INITIALIZED; // 初始化计数器 Fvm_SyncCounter = config->SyncCounterInitialValue; Fvm_ResetCounter = config->ResetCounterInitialValue; Fvm_MessageCounter = config->MessageCounterInitialValue; } ``` ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值