Mcu 配置使用说明
大约 7 分钟约 2232 字2025/8/11配置工具
Mcu 配置使用说明
简介
本手册详细介绍了如何使用灵犀配置工具配置KF32A158SQV芯片的MCU模块。
环境准备
确保已安装以下软件:
- 灵犀配置工具(版本需支持KF32A158SQV芯片)
- 支持KF32A158SQV芯片的MCAL(Microcontroller Abstraction Layer)软件包
创建项目
- 打开灵犀配置工具。
- 点击主界面上的“新建项目”按钮,如图所示

选择MCU型号
- 在“MCU型号选择”窗口中,选择“MCAL”项目类型。
- 在“快速选择MCU”下拉菜单中,选择“KF32A158SQV”。
- 点击“创建”按钮,如图所示

添加MCU模块
- MCU和IRQ模块是公共必须选项,无需手动添加
配置MCU模块
配置McuGeneralConfiguration
- 在左侧树状结构中,展开“MCU”并选择“McuGeneral”。
- 配置以下参数:(示例配置仅供参考,根据实际使用修改)
- McuDevErrorDetect:Detect开关,默认为关闭,如果用户需要使用Detect功能,需要将此参数设置为
true - McuGetRamStateApi:获取Ram状态函数
Mcu_GetRamState开关,暂不支持配置 - McuInitClock: 时钟初始化分频
Mcu_InitClock\Mcu_DistributePllClock函数开关 - McuNoPll:不使用PLL。打开即不使用PLL;关闭则使用PLL
- McuPerformResetApi:复位函数
Mcu_PerformReset开关 - McuVersionInfoApi:获取版本函数
Mcu_GetVersionInfo开关 - McuPrecompileSupport:预编译支持开关,如果使用生成Config工程中的配置信息,需要将此参数设置为
true - McuCfgClkFreq:外部晶振配置选择
- McuCfgSysclkFreq:目标配置的系统主频是,范围是48M~120M,这个配置值要与实际系统时钟配置值一致
- McuCfgInternalRefVoltage:内部参考电压配置
- McuInnerLowFreqInLowPowerMode:是否支持低功耗模式下开启内部低频
- McuInnerHighFreqInLowPowerMode:是否支持低功耗模式下开启内部高频,暂不支持
- McuOuterLowFreqInLowPowerMode:是否支持低功耗模式下开启外部低频
- McuKeepLpramStateInStandby:是否支持低功耗模式下保持LPRAM数据
- McuIoLatchState:IO锁存功能函数开关
Mcu_LatchIO - McuClockOuputFunction:是否支持时钟输出检测
- 开启的时候配置时钟源(
McuClockOutputSource)和分频(McuClockOutputDivision) - 不开启的时候,时钟源和分频不可配置
- 开启的时候配置时钟源(
- McuEnableSafetyStartup:在启动时,是否开启看门狗重启保护,防止晶振启动过程中系统异常不能正常启动
- McuFeatureFscm:是否使能FSCM。(仅适用于KF32A158NQVSF)
- McuKeepFlashInStop0:是否使能STOP0模式下Flash休眠。(仅适用于KF32A158NQVSF)
- McuDevErrorDetect:Detect开关,默认为关闭,如果用户需要使用Detect功能,需要将此参数设置为
配置McuModuleConfiguration
配置系统时钟、功耗模式、初始化RAM数据配置等时钟初始化信息
信息配置
- McuClockSrcFailureNotification:时钟初始化失败通知功能,暂不支持
- McuNumberOfMcuModes:配置支持的休眠模式(Normal、Standby、Stop0)个量,最大可配置值为3(支持Stop0模式的芯片)或2(不支持Stop0模式的芯片)
- McuRamSectors:配置支持的RAM初始化信息个数,最小是0
配置McuSMConfig
- EnableCache:Cache开关
- EnableFlashEccIntr:Flash ECC中断开关,如果需要使用,还需要在IRQ配置中打开
FlasheccUnifiedInterrupt - EnableRamEcc:RAM ECC开关,暂不支持
- EnableCacheEccIntr:Cache ECC开关,暂不支持
- EnableRamEccIntr:RAM ECC开关,暂不支持
配置McuClockSettingConfig
- 'McuInitClock'打开的时候才能配置该信息
- 点击'Add'或左侧,点击'+',如图所示

- 配置参数
- McuClockSettingId:时钟配置ID,用于调用Mcu_InitClock的入参
- InnerLFConfig:内部低频配置
- Delay:内部低频启动延迟控制
- Enabled:是否开启内部低频
- InnerHFConfig:内部高频配置
- Delay:内部高频启动延迟控制
- Enabled:是否开启内部高频
- OuterLFConfig:外部低频配置
- Delay:外部低频启动延迟控制
- Enabled:是否开启外部低频
- OuterHFConfig:外部高频配置
- Delay:外部高频启动延迟控制,建议值为8
- Enabled:是否开启外部高频
- HsiVAFConfig:高精度内部高频配置 仅138SF支持
- Delay:高精度内部高频启动延迟控制,建议值为0
- Enabled:是否开启外部高频
- SclkConfig:SCLK配置
- ClockSource:SCLK的时钟源选择
- Division:SCLK的分频系数
- LSPclkConfig:低频外设配置
- ClockSource:低频外设的时钟源选择,选择的时钟源需配置为使能
- Division:低频外设的分频系数
- Enabled:是否开启低频外设
- HSPclkConfig:高频外设配置
- ClockSource:高频外设的时钟源选择,选择的时钟源需配置为使能
- Division:高频外设的分频系数
- Enabled:是否开启高频外设
- PllConfig:PLL配置
ClockSource:PLL的时钟源选择,选择的时钟源需配置为使能
IsClockDivBy2:是否将PLL的输出频率除以2
Delay:PLL启动延迟控制,建议值为8
M:PLL 反馈驱动控制,用于产生 PLL 倍频的 M 值
N:PLL 输入驱动控制,用于产生 PLL 倍频的 N 值
OD:PLL 输出分频控制,用于产生 PLL 倍频的 NO 值(NO=2^OD)。
PLL 倍频计算公式:PLL 使用过程中需要满足以下条件 1MHz≤(FREF/N)≤50MHz 200MHz≤(FREF×M/N)≤400MHz M≥4 N≥1
配置McuModeSettingConf
- 配置需要配置‘McuNumberOfMcuModes’个数
- 配置McuModeSettingConf,目前支持Normal休眠、Standby休眠,最大支持2种 1x8SF支持3种
- 点击'Add'或左侧,点击'+',如图所示

- McuSleepType:配置休眠类型,Normal、Standby 1x8SF支持Normal、Standby、Stop0
- Normal:配置Normal休眠模式,不需要配置其他信息
- Standby:配置Standby休眠模式,需要配置唤醒管脚
- Stop0:配置Stop0休眠模式(仅适用于KF32A1x8SF)
- McuPinWkupEnable:使能管脚唤醒开关;前提是'McuSleepType'配置为'MCU_SLEEP_STANDBY'或'MCU_SLEEP_STOP0'
- McuT0WkupEnable:使能T0唤醒开关;前提是'McuSleepType'配置为'MCU_SLEEP_STOP0'。(仅适用于KF32A158NQVSF)
- McuT0WkupTime:配置T0唤醒时间,前提是'McuSleepType'配置为'MCU_SLEEP_STOP0'。(仅适用于KF32A158NQVSF)
- McuWkupConfig:配置唤醒管脚,最多支持12个WKPIN;前提是'McuSleepType'配置为'MCU_SLEEP_STANDBY''或'MCU_SLEEP_STOP0'
- 增加唤醒管脚数量,通过点击'Add'或左侧,点击'+',如图所示

- McuWakeupIndex:唤醒管脚选择WKPIN1~WKPIN12,如图所示(具体以芯片数据手册为准)

- McuWakeupEdge:唤醒管脚触发方式
- McuWakeupFixLvEnable:使能休眠前唤醒管脚配置,如使能时,设置上升沿唤醒,则配置管脚下拉使能;如果设置为下降沿唤醒,则配置管脚上拉使能
- 增加唤醒管脚数量,通过点击'Add'或左侧,点击'+',如图所示
- 点击'Add'或左侧,点击'+',如图所示
配置McuRamSectionDataConfig
- 可不配置,根据‘McuRamSectors’配置个数限制最大配置数量
- 点击'Add'或左侧,点击'+',如图所示

- 配置参数
- McuRamDefaultValue:RAM初始化值
- McuRamSectionBaseAddress:Ram起始地址(注意配置错地址可能会踩踏有效区域信息)
- McuRamSectionSize:RAM大小
- McuRamSectionWriteSize:初始化RAM时,每次写数据大小
配置McuResetReasonConf
配置复位原因,要与Mcu.h中定义的Mcu_ResetType一致,或可直接使用Mcu_ResetType定义值
- McuResetReason:复位值
- McuResetReasonName:复位原因名称
设置项目路径及名称
- 点击“Setting”按钮。
- “Project Name”是配置的工程名称
- 在“Project Path”设置工程保存路径。
- “Configuration Code Folder Name”配置文件存放的文件加名称。
- 点击“Confirm”保存设置,如图所示

保存配置并预览代码
- 点击“Save”按钮,保存配置。
- 点击“Preview Code”按钮,查看生成的代码文件列表,如图所示

- 点击相应的文件名,可以预览文件内容,如图所示

生成代码
- 点击“Generate code”按钮,生成相关配置文件,如图所示

查看生成代码
- 生成代码后,可以在项目路径下找到生成的源文件。
- 使用代码编辑器打开这些文件,进行查看或进一步编辑,如图所示

