0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

NVRAM Manager(NVM)模块详细介绍

工程师邓生 来源:汽车电子嵌入式 作者:Tomas Li 2022-09-20 09:06 次阅读

前言

存储协议栈负责ECU中非易失性数据的存储管理。存储协议栈的分享包括NVM、MemI、Ea、Fea、Eep、Fls模块的详细介绍及代码分析,具体的项目实战请关注本号的后续文章,本篇为NVRAM Manager(NVM)模块详细介绍篇(三)。

eb3a684a-387d-11ed-ba43-dac502259ad0.png

正文

4.API详解

如下表所示,NVM的API接口主要分为几大类型。

eb8f2a2e-387d-11ed-ba43-dac502259ad0.png

4.1同步请求函数 Synchronous requests

4.1.1NvM_Init

函数原型:

void NvM_Init(

const NvM_ConfigType* ConfigPtr

)

ec092202-387d-11ed-ba43-dac502259ad0.png

函数参数:

ConfigPtr:指向选定配置集的指针。

函数描述:用来重置所有内部变量的服务。

函数NvM_Init应将所有内部变量,例如队列、请求标志、状态机,重置为其初始值。它应在内部发出“初始化完成”的信号,例如,以启用作业处理和队列管理。

函数NvM_Init不应修改永久RAM块内容或调用显式同步回调,因为这将在NvM_ReadAll上完成。

函数NvM_Init应将NVM_BLOCK_DATASET类型的所有NVRAM块的数据集索引设置为零。

函数NvM_Init不得初始化其他模块(假设底层层已经初始化)。

提示:耗时的NVRAM块初始化和根据块描述符设置应该由NvM_ReadAll请求完成。

4.1.2 NvM_SetBlockProtection

函数原型:

Std_ReturnType NvM_SetBlockProtection(

NvM_BlockIdType BlockId,

boolean ProtectionEnabled

)

ec3a9b16-387d-11ed-ba43-dac502259ad0.png

函数返回值:

E_OK: The block was enabled/disabled as requested

E_NOT_OK: An error occured.

函数参数:

BlockId:块标识符唯一地标识一个NVRAM块描述符。NVRAM块描述符包含有关单个NVRAM块的所有所需信息

ProtectionEnabled:TRUE: Write protection shall be enabled

FALSE: Write protection shall be disabled

函数描述:用于设置/重置NV块的写入保护的服务。

功能NvM_SetBlockProtection通过在相应的NVRAM块的管理部分设置写保护属性,为相应的NV块设置/重置写保护。

NvM模块的环境应在调用函数NvM_SetBlockProtection之前已初始化NvM模块。

4.1.3 NvM_GetErrorStatus

函数原型:

Std_ReturnType NvM_GetErrorStatus(

NvM_BlockIdType BlockId,

NvM_RequestResultType* RequestResultPtr

)

ec77e3a4-387d-11ed-ba43-dac502259ad0.png

函数返回值:

E_OK:已成功读取与块相关的错误/状态信息。

E_NOT_OK:发生错误。

函数参数:

BlockId:块标识符唯一地标识一个NVRAM块描述符。NVRAM块描述符包含有关单个NVRAM块的所有所需信息。

函数描述:提供以下服务来读取与块相关的错误/状态信息。

函数NvM_GetErrorStatus应在NVRAM块的管理部分中读取与块相关的错误/状态信息。NVRAM块的状态/错误信息应由以前或当前的异步请求来设置。

NvM模块的环境应在调用函数NvM_GetErrorStatus之前已初始化NvM模块。

4.1.4 NvM_CancelJobs

函数原型:

Std_ReturnType NvM_CancelJobs(

NvM_BlockIdType BlockId

)

函数返回值:

E_OK:该作业已被成功地从队列中删除。

E_NOT_OK:在队列中找不到该作业。

函数参数:

BlockId:块标识符唯一地标识一个NVRAM块描述符。NVRAM块描述符包含有关单个NVRAM块的所有所需信息。

函数描述:服务取消所有等待NV块的作业。

函数NvM_CancelJobs应取消指定NV块的队列中所有待定的作业。如果被请求,则对已取消的块的结果类型为NVM_REQ_CANCELED

当前处理的作业将在NvM_CancelJobs调用之后继续。

如果请求被接受,功能NvM_CancelJobs的工作应提前将指定NVRAM块的块特定请求结果设置为NVM_REQ_CANCELED。

提示:目的只是在清理阶段清空队列,以防终止或重新启动分区,以避免稍后结束作业通知。

4.2异步单块请求 Asynchronous single block requests

4.2.1NvM_ReadBlock

函数原型:

Std_ReturnType NvM_ReadBlock(

NvM_BlockIdType BlockId,

void* NvM_DstPtr

)

函数返回值:

E_OK:请求已被接受。

E_NOT_OK:请求未被接受

函数参数:

BlockId:块标识符唯一地标识一个NVRAM块描述符。NVRAM块描述符包含有关单个NVRAM块的所有所需信息。

NvM_DstPtr:指向RAM数据块的指针

函数描述:将NV块的数据复制到其相应的RAM块的服务。

函数NvM_ReadBlock将接管给定的参数,将读请求放入作业队列中并返回。

4.2.2NvM_WriteBlock

函数原型:

Std_ReturnType NvM_WriteBlock(

NvM_BlockIdType BlockId,

const void* NvM_SrcPtr

)

函数返回值:

E_OK:请求已被接受。

E_NOT_OK:请求未被接受

函数参数:

BlockId:块标识符唯一地标识一个NVRAM块描述符。NVRAM块描述符包含有关单个NVRAM块的所有所需信息。

NvM_SrcPtr:指向RAM数据块的指针

函数描述:将RAM块的数据复制到其相应的NV块的服务。

NvM_WriteBlock函数应测试相应RAM块管理部分的NV块的写入保护属性。如果出现故障,应报告NVM_E_WRITE_PROTECTED/(在生产过程中)错误。

4.2.3 NvMEraseNvBlock

函数原型:

Std_ReturnType NvM_EraseNvBlock(

NvM_BlockIdType BlockId

)

函数返回值:

E_OK:请求已被接受。

E_NOT_OK:请求未被接受

函数参数:

BlockId:块标识符唯一地标识一个NVRAM块描述符。NVRAM块描述符包含有关单个NVRAM块的所有所需信息。

函数描述:要擦除NV块的服务。

4.3异步多块请求 Asynchronous multi block requests

4.3.1NvM_ReadAll

函数原型:

void NvM_ReadAll(

void

)

函数描述:启动一个多块读取请求。

多块服务NvM_ReadAll应提供两种不同的功能:

-- 初始化所有NVRAM块的管理数据

-- 将数据复制到永久RAM块,或为相应配置的NVRAM块调用显式同步回调(NvM_ReadRamBlockFromNvm)。

函数NvM_ReadAll将向NvM模块发出请求信号并返回。NVRAM Manager将延迟处理请求的ReadAll直到所有单个块作业队列为空。

4.3.2 NvM_WriteAll

函数原型:

void NvM_ReadAll(

void

)

函数描述:启动一个多块写入请求。

函数NvM_WriteAll的作业应将永久RAM块的内容同步到它们相应的NV块上,或者在关闭时调用显式同步回调(NvM_WriteRamBlockToNvm)。

如果NVRAM block ID 1(包含内存布局的配置ID)被标记为“在NvM_WriteAll期间写入”,则NvM_WriteAll函数的作业将在最后一步(最后一次写操作)写入该block,以防止在写操作过程中发生掉电故障时内存布局不匹配。

函数NvM_WriteAll应向NvM模块发出请求信号并返回。NVRAM管理器应延迟请求的处理,直到所有单个块作业队列为空。

4.3.2NvM_CancelWriteAll

函数原型:

void NvM_CancelWriteAll(

void

)

ecf252ec-387d-11ed-ba43-dac502259ad0.png

函数描述:

取消正在运行的NvM_WriteAll请求。

4.4回调函数

4.4.1 NvM_JobEndNotification

函数原型:

void NvM_JobEndNotification(

void

)

函数描述:底层内存抽象使用该函数表示作业结束,没有错误。

回调函数NvM_JobEndNotification被底层内存抽象用来指示作业结束。

注:作业结束时关于内存抽象的通知成功:

- -- Read finished & OK

- -- Write finished & OK

- -- Erase finished & OK

这个例程可以在中断上下文中被调用,这取决于调用函数。所有内存抽象模块都应该配置为使用相同的模式(回调/轮询)。

如果通过NvMPollingMode禁用了轮询模式,NvM模块只能提供回调函数NvM_JobEndNotification。NvM_JobEndNotification功能受常用配置参数的影响。

4.5期望的接口 Expected Interfaces

4.5.1必需的接口

ed52c3c0-387d-11ed-ba43-dac502259ad0.png

4.5.2可配置的接口

Single block job end notification

函数原型:

Std_ReturnType NvM_SingleBlockCallbackFunction(

uint8 ServiceId,

NvM_RequestResultType JobResult

)

函数返回值:

E_OK:回调函数已成功处理

任何其他:回调函数已处理失败

函数参数:

ServiceId: NVRAM Manager服务的唯一服务ID。

JobResult: 覆盖以前处理的单块作业的请求结果。

函数描述:每个块回调例程通知上层异步单块请求已经完成。

Multi block job end notification

函数原型:

void NvM_MultiBlockCallbackFunction(

uint8 ServiceId,

NvM_RequestResultType JobResult

)

函数参数:

ServiceId: NVRAM Manager服务的唯一服务ID。

JobResult: 覆盖以前处理的单块作业的请求结果。

函数描述:公共回调例程,通知上层一个异步的多块请求已经完成。

Callback function for block initialization

函数原型:

Std_ReturnType InitBlockCallbackFunction(

void

)

函数返回值:

E_OK:回调函数已成功处理

任何其他:回调函数已处理失败

函数描述:每个块回调例程,当需要在RAM中恢复默认数据时,NvM模块将调用该块回调例程,即使配置了ROM块。

注意:在这里,如果没有配置ROM块,应用程序应该将默认数据复制到RAM块,并且/或者它可以设置一些标志来知道默认数据已经恢复。

5.服务接口 Service Interfaces

本章是对NvM模块规范的补充。尽管该规范的其他部分定义了相应的基本软件模块的行为和c接口,但本章以SWC模板的形式指定了相应的AUTOSAR服务。这里描述的接口将在VFB上可见,并用于生成应用程序软件和NvM模块之间的RTE。

5.1 Client-Server-Interfaces

5.1.1 NvM_Admin

eea139c8-387d-11ed-ba43-dac502259ad0.png

eed1563a-387d-11ed-ba43-dac502259ad0.png

5.1.2 NvM_Mirror

efac1374-387d-11ed-ba43-dac502259ad0.png

f04ef65c-387d-11ed-ba43-dac502259ad0.png

f072a476-387d-11ed-ba43-dac502259ad0.png

f1948a04-387d-11ed-ba43-dac502259ad0.png

5.1.3 NvM_NotifyInitBlock

f1c9084c-387d-11ed-ba43-dac502259ad0.png

5.1.4 NvM_NotifyJobFinished

f1f55bd6-387d-11ed-ba43-dac502259ad0.png

5.1.5 NvM_Service

f23f3dfa-387d-11ed-ba43-dac502259ad0.png

5.2 Implementation Data Types

5.2.1 NvM_RequestResultType

f2a48c82-387d-11ed-ba43-dac502259ad0.png

f2cf62c2-387d-11ed-ba43-dac502259ad0.png

5.2.2 NvM_BlockIdType

f30d0fc8-387d-11ed-ba43-dac502259ad0.png

f33cea40-387d-11ed-ba43-dac502259ad0.png

5.2.3 ConstVoidPtr

f37f34ea-387d-11ed-ba43-dac502259ad0.png

f5b07bd4-387d-11ed-ba43-dac502259ad0.png

5.3 Ports

5.3.1 NvM_PAdmin_{Block}

f5eb7eb4-387d-11ed-ba43-dac502259ad0.png

5.3.2 NvM_PM_{Block}

f625df8c-387d-11ed-ba43-dac502259ad0.png

f67365d6-387d-11ed-ba43-dac502259ad0.png

5.3.3 NvM_PNIB_{Block}

f6e6aa8c-387d-11ed-ba43-dac502259ad0.png

5.3.4 NvM_PNJF_{Block}

f70f2606-387d-11ed-ba43-dac502259ad0.png

f79d2c80-387d-11ed-ba43-dac502259ad0.png

5.3.5 NvM_PS_{Block}

f7d0f3f8-387d-11ed-ba43-dac502259ad0.png

6.NVM配置

NvMBlockDescriptor: 容器的管理结构,配置组成一个给定的NVRAM块管理类型。它的多样性描述了配置的NVRAM块的数量,每一个块需要配置。NVRAM块描述符压缩在NVRAM块描述符表中。

NvMCommon: 通用配置选项的容器。配置NVM模块的公共属性。

NvmDemEventParameterRefs: DemEventParameter元素的引用容器,当发生相应的错误时,应该使用API Dem_SetEventStatus调用该元素。EventId取自引用的DemEventParameter的DemEventId符号值。标准化错误在此容器中提供,可以通过特定于供应商的错误引用进行扩展。实际项目中基本不配置。

f7f72cc6-387d-11ed-ba43-dac502259ad0.png

6.1NvMCommon

NvMApiConfigClass: 预处理器开关,启用一些与NVM API配置类相关的API调用。

NvMBswMMultiBlockJobStatusInformation: 该参数指定是否告知BswM多块作业的当前状态。

True:如果ReadAll和WriteAll被启动、完成、取消,调用BswM_NvM_CurrentJobMode

False:完全不通知BswM

NvMCompiledConfigId: NV内存布局的配置ID。这个配置ID应该被发布,例如,一个SW-C应该有可能把它写入NV内存。

NvMCrcNumOfBytes: 如果为至少一个NVRAM块配置了CRC校验,则该参数定义了一个作业处理周期内需要处理的最大字节数。

NvMDatasetSelectionBits: 定义在内存硬件抽象接口内为NVRAM块的特定数据集寻址时应使用的最低有效位数。

0 . .8:用于数据集或冗余块寻址的位数。

0:不配置数据集或冗余NVRAM块,不需要选择位。

1:配置了冗余NVRAM块,但没有配置dataset NVRAM块

NvMDrvModeSwitch: 在执行NvM_ReadAll和NvM_WriteAll时,预处理器开关使内存驱动切换到快速模式。

true: Fast mode enabled.

false: Fast mode disabled.

NvMDynamicConfiguration: 预处理器开关,启用由NvM_ReadAll请求处理的动态配置管理。

true: Dynamic configuration management handling enabled.

false: Dynamic configuration management handling disabled.

该参数会影响所有与ID为1的Block相关的NvM进程,以及所有与抗更改软件相关的NvM进程。如果关闭了Dynamic Configuration, Block 1不能被NvM使用

NvMJobPrioritization: 预处理器开关,以启用作业优先级处理

true: Job prioritization handling enabled.

false: Job prioritization handling disabled.

NvMMultiBlockCallback: 每个异步多块请求终止时调用的公共回调例程的入口地址

NvMPollingMode: 预处理器开关,以启用/禁用NVRAM管理器中的轮询模式,同时禁用/启用底层可使用的回调函数

NvMRepeatMirrorOperations: 定义应用程序在延迟当前作业之前向NvM模块的镜像复制数据或从镜像复制数据的重试次数。

NvMSetRamBlockStatusApi: 预处理器开关,以启用API NvM_SetRamBlockStatus。

NvMSizeImmediateJobQueue: 定义直接优先级作业队列的队列条目数。如果NVM_JOB_PRIORITIZATION被关闭,则该参数应超出作用范围。

NvMSizeStandardJobQueue: 定义标准作业队列的队列条目数。

f847c8ac-387d-11ed-ba43-dac502259ad0.png

f8f876e8-387d-11ed-ba43-dac502259ad0.png

6.2NvMBlockDescriptor

NvMBlockCrcType: 定义NVRAM块的CRC数据宽度。默认值:NVM_CRC16,即当NVM_BLOCK_USE_CRC==为true时,将使用CRC16

NvMBlockHeaderInclude: 定义头文件,其中NVRAM块的所有者拥有永久RAM数据块、ROM数据块(如果配置)和每个配置回调的回调函数原型的声明。

如果没有配置永久RAM块、ROM块或回调函数,则该配置参数将被忽略。

NvMBlockManagementType: 定义NVRAM块的块管理类型。

NvMBlockUseAutoValidation: 定义在关闭阶段是否自动验证RAM块。

True:使用了自动验证机制。

False:没有使用自动校验机制。

NvMBlockUseCrc: 定义NVRAM块的CRC使用情况,即在RAM和NV内存中保留用于CRC的内存空间。

true:该NVRAM块将使用CRC。

false:该NVRAM块不使用CRC。

NvMBlockUseCRCCompMechanism: 定义在写作业期间是否将RAM块的CRC与最后一个成功读或写作业期间计算的CRC进行比较。

True:使用比较机制,

False:没有使用比较机制

NvMBlockUseSetRamBlockStatus: 定义改块是否使用NvMSetRamBlockStatusApi。

注意:如果NvMSetRamBlockStatusApi被禁用,这个配置参数将被忽略。

true:调用该RAM块的NvMSetRamBlockStatus将设置该RAM块的状态。

false:该RAM块的NvMSetRamBlockStatus调用将被忽略。

NvMBlockUseSyncMechanism: 定义NV块是否使用带有RAM镜像的显式同步机制和用于向NvM模块的RAM镜像传输数据的回调例程。如果使用同步机制,则为True,否则为false。

NvMBlockWriteProt: 定义NV块的初始写保护

true:启用块初始写保护。

false:关闭块初始写保护。

NvMBswMBlockStatusInformation: 此参数指定是否通知BswM指定块的当前状态。

True:在更改时调用BswM_NvM_CurrentBlockMode

Fasle:不通知BswM

NvMCalcRamBlockCrc: 定义永久RAM块或NVRAM块的CRC(重)计算,它们被配置为使用显式同步机制。

true:这个永久RAM块将(重新)计算CRC。

false:不会(重新)为这个永久RAM块计算CRC。

NvMInitBlockCallback: 块特定回调例程的入口地址,如果没有ROM数据可用于NVRAM块的初始化,将调用该回调例程。如果没有配置,则不需要调用特定的回调例程来初始化具有默认数据的NVRAM块。

NvMMaxNumOfReadRetries: 定义读重试的最大次数。

NvMMaxNumOfWriteRetries: 定义一个NVRAM块的写重试的最大次数。无论配置如何,对于请求NvM_WriteAll和NvM_WriteBlock处理的每个块,都会强制执行一致性检查(可能还有写重试)。

NvMNvBlockLength: 以字节为单位定义NV块数据长度。

NvMNvBlockNum: 根据给定的块管理类型定义连续区域内多个NV块的数量。1-255用于配置块管理类型为nvm_block_datasset .1的NVRAM块配置块管理类型为NVM_BLOCK_NATIVE的NVRAM 2配置块管理类型为nvm_block_redundancy的NVRAM

NvMNvramBlockIdentifier: 通过唯一块标识符标识NVRAM块。实现类型:NvM_BlockIdType。

min = 2 max = 2^(16- NVM_DATASET_SELECTION_BITS)-1预留NVRAM块id:

0 ->通过NvM_GetErrorStatus获得多块请求结果

1 ->冗余NVRAM块,保存配置ID(生成工具应该检查该块从类型、CRC和大小角度正确配置)

NvMNvramDeviceId: 定义NVRAM块所在的NVRAM设备ID。

计算公式: value = TargetBlockReference.[Ea/Fee]BlockConfiguration.[Ea/Fee]DeviceIndex

NvMRamBlockDataAddress: 定义RAM块数据的起始地址。如果不配置,则没有永久RAM数据块可用于所选的块管理类型。

NvMReadRamBlockFromNvCallback: 块特定回调例程的入口地址,为了让应用程序将数据从NvM模块的镜像复制到RAM块,需要调用该回调例程。实现类型:Std_ReturnType

E_OK:拷贝成功

E_NOT_OK:复制不成功,将再次调用回调例程

NvMResistantToChangedSw: 定义一个NVRAM块是否应该被处理为抵抗配置更改。如果在配置时没有可用的缺省数据,则应用程序应负责提供缺省初始化数据。在这种情况下,应用程序必须使用NvM_GetErrorStatus()来区分第一次初始化和损坏的数据。

true: NVRAM块抵抗更改的软件。

false: NVRAM块不抵抗更改的软件。

NvMRomBlockDataAddress: 定义ROM块数据的起始地址。如果不配置,则所选的块管理类型没有可用的ROM块。

NvMBlockDescriptor: 根据给定的块管理类型定义连续区域中的多个ROM块的数量。0 ~ 254用于配置块管理类型为NVM_BLOCK_DATASET的NVRAM块。

0-1配置块管理类型为NVM_BLOCK_NATIVE的NVRAM块0-1配置块管理类型为nvm_block_redundancy的NVRAM块。

NvMSelectBlockForFirstInitAll: 定义一个块是否由NvM_FirstInitAll处理。即使没有永久RAM和/或显式同步,也可以配置块被处理。

TRUE: block将被NvM_FirstInitAll处理

FALSE:块不被NvM_FirstInitAll处理

NvMSelectBlockForReadAll: 定义在NvM_ReadAll期间是否处理NVRAM块。此配置参数仅对配置为具有永久RAM块或配置为使用显式同步机制的NVRAM块有影响。

true: NVRAM块将由NvM_ReadAll处理

false: NvM_ReadAll不处理NVRAM块

NvMSelectBlockForWriteAll: 定义在NvM_WriteAll期间是否处理NVRAM块。此配置参数仅对配置为具有永久RAM块或配置为使用显式同步机制的NVRAM块有影响。

true: NVRAM块将由NvM_WriteAll处理

false: NvM_WriteAll不处理NVRAM块

NvMSingleBlockCallback: 块特定回调例程的入口地址,该例程应在每个异步单个块请求终止时调用

NvMStaticBlockIDCheck: 定义是否启用静态块ID检查。

false:禁用静态块ID检查。

true:启用静态块ID检查。

NvMWriteBlockOnce: 定义首次写后的写保护。NVRAM管理器会在第一次写入NV块之后设置写保护位,或者在对NV块进行读取时,如果该块已经写入并且检测到它是有效的和一致的,那么NVRAM管理器就会设置写保护位。

true:定义首次写后的写保护。

false:定义禁用首次写后的写保护。

NvMWriteRamBlockToNvCallback: 块特定回调例程的入口地址,为了让应用程序将数据从RAM块复制到NvM模块的镜像,需要调用该回调例程。实现类型:Std_ReturnType

E_OK:拷贝成功

E_NOT_OK:复制不成功,将再次调用回调例程

NvMWriteVerification: 定义是否启用写验证。

false:关闭写校验。

true:启用写校验功能。

f950ac6e-387d-11ed-ba43-dac502259ad0.png

f9cf1f40-387d-11ed-ba43-dac502259ad0.png

fa006d84-387d-11ed-ba43-dac502259ad0.png




审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • AUTOSAR
    +关注

    关注

    10

    文章

    360

    浏览量

    21553
  • NVRAM
    +关注

    关注

    0

    文章

    10

    浏览量

    11333
  • API接口
    +关注

    关注

    1

    文章

    84

    浏览量

    10437

原文标题:AUTOSAR存储协议栈-- NVRAM Manager 模块介绍(三)

文章出处:【微信号:汽车电子嵌入式,微信公众号:汽车电子嵌入式】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    详细的注塑成型工艺介绍

    详细的注塑成型工艺介绍
    的头像 发表于 11-27 09:58 158次阅读
    <b class='flag-5'>详细</b>的注塑成型工艺<b class='flag-5'>介绍</b>

    C2000 Position Manager PTO API参考指南

    电子发烧友网站提供《C2000 Position Manager PTO API参考指南.pdf》资料免费下载
    发表于 11-26 14:20 0次下载
    C2000 Position <b class='flag-5'>Manager</b> PTO API参考指南

    请问如何在量产中对智能DAC或AFE的NVM进行编程?

    我在设计中使用了智能 DAC,最终 PCB 上没有板载控制器。如何在设计的量产过程中对智能 DAC 的初始 NVM 值进行编程?
    发表于 11-26 06:55

    可扩展PMIC NVM更新指南

    电子发烧友网站提供《可扩展PMIC NVM更新指南.pdf》资料免费下载
    发表于 09-06 11:20 0次下载
    可扩展PMIC <b class='flag-5'>NVM</b>更新指南

    TPS65219 NVM编程指南

    电子发烧友网站提供《TPS65219 NVM编程指南.pdf》资料免费下载
    发表于 08-28 10:53 0次下载
    TPS65219 <b class='flag-5'>NVM</b>编程指南

    8线卡接式配线模块详细介绍

    8线卡接式配线模块,也称为8对卡接模块,是一种用于通信系统的配线设备,主要用于引入和连接单股铜芯塑料线缆,提供用户间或设备间的通信配线及防护。以下是对8线卡接式配线模块详细
    的头像 发表于 08-07 09:53 383次阅读

    插片式远程 IO模块:Profinet总线耦合器在SIMATIC Manager配置

    XD9000是Profinet总线耦合器,单个耦合器最多可扩展32个I/O模块!本文将详细介绍如何在SIMATIC Manager中配置插片式远程 I/O
    的头像 发表于 07-12 18:25 898次阅读
    插片式远程 IO<b class='flag-5'>模块</b>:Profinet总线耦合器在SIMATIC <b class='flag-5'>Manager</b>配置

    96口模块式光纤配线架详细介绍来了

    96口模块式光纤配线架是一种用于光纤通信系统中的关键设备,主要用于光纤的配线、管理和保护。以下是关于96口模块式光纤配线架的详细介绍: 型号与规格: 型号:通常根据具体的厂家和产品系列
    的头像 发表于 06-26 09:52 443次阅读

    DC电源模块的分类及特点介绍

    BOSHIDA DC电源模块的分类及特点介绍 DC电源模块是一种将交流电转换为直流电的设备,广泛应用于各种电子设备中。根据其特点和功能,DC电源模块可以分为线性稳压
    的头像 发表于 03-26 13:54 622次阅读
    DC电源<b class='flag-5'>模块</b>的分类及特点<b class='flag-5'>介绍</b>

    详细的光模块介绍

    模块是一种重要的通信网络组成部分,实现光信号与电信号之间的转换。它包括发射器和接收器,用于提高数据传输和距离。光模块根据传输速率、封装形式和传输距离进行分类。在通信网络中,光模块用于高速、远距离的光信号传输和转换。
    的头像 发表于 03-18 11:24 2168次阅读

    请问cyw20719b2的nvram的存储空间有多少字节?

    1)请问cyw20719b2的nvram 的存储空间有多少字节? 2)用wiced_hal_write_nvram()或wiced_hal_read_nvram()从nvram 写入或
    发表于 03-01 12:42

    重装PsoC4.2后, 提示没有安装Update Manager是为什么?

    重装PsoC 4.2后, 提示 没有安装Update Manager, 得到错误信息. 请问如何安装 Update Manager
    发表于 02-21 08:09

    全志R128基础组件开发指南-WiFi Manager

    各功能的开发流程(简单介绍api 的调用流程)。更详细的调用流程可以参考wifi_deamon.c 文件里的编写流程。 以某种模式打开Wi-Fi Manager code\">
    发表于 01-25 14:28

    详细介绍变频器假负载的原理、应用和注意事项

    在变频器的应用中,假负载是一种重要的辅助设备,主要用于测试和保护变频器模块。本文将详细介绍变频器假负载的原理、应用和注意事项。
    的头像 发表于 01-25 09:09 2525次阅读
    <b class='flag-5'>详细</b><b class='flag-5'>介绍</b>变频器假负载的原理、应用和注意事项

    NVM和本地\"内存中定义数组(静态 /global /local)的\"关键字是什么?

    NVM 和本地\"内存中定义数组(静态 /global /local)的\"关键字是什么? 还有与 32 位对齐的关键字怎么样。
    发表于 01-25 07:52