ERAD调试
bool ERAD_isValidBusCompBase(uint32_t base)
- 函数功能:检查总线比较器的基地址是否有效。
-
参数说明:
-
输入参数:
base: 指定的总线比较器基地址。
- 返回参数: 如果基地址有效返回
true,否则返回false。
bool ERAD_isValidCounterBase(uint32_t base)
- 函数功能:检查计数器的基地址是否有效。
- 参数说明:
- 输入参数:
base: 指定的计数器基地址。
- 返回参数:如果基地址有效返回
true,否则返回false。
ERAD_Owner ERAD_getOwnership(void)
- 函数功能:获取的ERAD的当前所有者。
- 参数说明:
- 输入参数:无
- 返回参数:返回ERAD的所有者。
void ERAD_setOwnership(ERAD_Owner owner)
- 函数功能:设置 ERAD 的所有者。
- 参数说明:
- 输入参数:
owner:要设置的 ERAD 所有者,可选项:ERAD_OWNER_NOOWNER:没有所有者ERAD_OWNER_APPLICATION:应用程序ERAD_OWNER_DEBUGGER:调试器
- 返回参数:无
void ERAD_resetCounter(uint16_t instances)
- 函数功能:通过全局寄存器复位计数器。
- 参数说明:
- 输入参数:
instances:要复位的计数器实例的按位或值,可使用以下宏:ERAD_INST_COUNTER1ERAD_INST_COUNTER2ERAD_INST_COUNTER3ERAD_INST_COUNTER4
- 返回参数:无
void ERAD_enableModules(uint16_t instances)
- 函数功能:启用选定的计数器和总线比较器。
- 参数说明:
- 输入参数:
instances:要启用的计数器和总线比较器实例的按位或值,可使用以下宏:ERAD_INST_BUSCOMP1至ERAD_INST_BUSCOMP8ERAD_INST_COUNTER1至ERAD_INST_COUNTER4
- 返回参数:无
void ERAD_disableModules(uint16_t instances)
- 函数功能:禁用选定的计数器和总线比较器。
- 参数说明:
- 输入参数:
instances:要禁用的计数器和总线比较器实例的按位或值,可使用以下宏:ERAD_INST_BUSCOMP1至ERAD_INST_BUSCOMP8ERAD_INST_COUNTER1至ERAD_INST_COUNTER4
- 返回参数:无
void ERAD_initModule(ERAD_Owner owner)
- 函数功能:初始化 ERAD 模块,包括重置所有计数器,禁用所有总线比较器和计数器,并设置 ERAD 的所有者。
-
参数说明:
-
输入参数:
owner:要设置的 ERAD 所有者,可选项:ERAD_OWNER_NOOWNER:没有所有者ERAD_OWNER_APPLICATION:应用程序ERAD_OWNER_DEBUGGER:调试器
- 返回参数:无
uint16_t ERAD_getHaltStatus(void)
- 函数功能:通过读取全局寄存器,获取任何计数器和总线比较器的完成状态。这允许我们只读取一个寄存器,就能查看任何模块是否处于完成状态。
- 参数说明:
- 输入参数:无
- 返回参数:全局寄存器中存储的所有计数器和总线比较器的完成状态。
uint16_t ERAD_getEventStatus(void)
- 函数功能:通过读取全局寄存器,获取任何计数器和总线比较器的事件触发状态。这允许我们只读取一个寄存器,就能查看任何模块是否已触发。
- 参数说明:
- 输入参数:无
- 返回参数:全局寄存器中存储的所有计数器和总线比较器的事件触发状态。
ERAD_Status ERAD_getBusCompStatus(uint32_t base)
- 函数功能:返回总线比较器的状态。
- 参数说明:
-
输入参数:
base: 总线比较器的基地址,可使用以下宏:ERAD_INST_BUSCOMP1至ERAD_INST_BUSCOMP8
-
返回参数:返回总线比较器的状态,可能值如下:
ERAD_STATE_IDLE:空闲状态。ERAD_STATE_ENABLED:被启用。ERAD_STATE_COMPLETED:被启用且事件发生。
void ERAD_clearBusCompEvent(uint32_t base)
- 函数功能:清除总线比较器的事件触发状态,并将模块恢复到
ERAD_STATE_IDLE状态。 - 参数说明:
-
输入参数:
base: 总线比较器的基地址,可使用以下宏:ERAD_INST_BUSCOMP1至ERAD_INST_BUSCOMP8
-
返回参数:无
ERAD_Status ERAD_getCounterStatus(uint32_t base)
- 函数功能:返回计数器的状态。
-
参数说明:
-
输入参数:
base: 计数器的基地址,可使用以下宏:ERAD_INST_COUNTER1至ERAD_INST_COUNTER4
-
返回参数:返回计数器的状态,可能值如下:
ERAD_STATE_IDLE:空闲状态。ERAD_STATE_ENABLED:被启用。ERAD_STATE_COMPLETED:被启用且事件发生。
void ERAD_configBusComp(uint32_t base, ERAD_BusComp_Config config_params)
- 函数功能:根据给定参数配置总线比较器。
- 参数说明:
-
输入参数:
base: 要配置的总线比较器的基地址,可使用以下宏:-
ERAD_INST_BUSCOMP1至ERAD_INST_BUSCOMP8 -
config_params: 用于配置总线比较器的结构体,包含以下字段: mask: 用于比较的掩码。reference: 要比较的参考值。comp_mode: 比较模式,类型为ERAD_BusComp_Comp_Mode,有以下可选值:ERAD_BUSCOMP_COMPMODE_GT:大于ERAD_BUSCOMP_COMPMODE_GE:大于等于ERAD_BUSCOMP_COMPMODE_LT:小于ERAD_BUSCOMP_COMPMODE_LE:小于等于ERAD_BUSCOMP_COMPMODE_EQ:等于
enable_int: 在事件匹配时启用中断的标志。enable_stop: 在事件匹配时启用 CPU 停止功能的标志。bus_sel: 要监控的总线,类型为ERAD_BusComp_Bus_Select,有以下可选值:ERAD_BUSCOMP_BUS_VPC: 虚拟程序计数器ERAD_BUSCOMP_BUS_DWAB: 数据写入地址总线ERAD_BUSCOMP_BUS_DRAB: 数据读取地址总线ERAD_BUSCOMP_BUS_DWDB: 数据写入数据总线
-
返回参数:无
void ERAD_configCounterInCountingMode(uint32_t base, ERAD_Counter_Config config_params)
- 函数功能:以计数模式配置计数器。
- 参数说明:
-
输入参数:
base: 要配置的计数器的基地址,可使用以下宏:-
ERAD_INST_COUNTER1至ERAD_INST_COUNTER4 -
config_params: 用于配置计数器的结构体,包含以下字段: event: 配置计数器输入事件,类型为ERAD_Counter_Input_Event,可选项如下:ERAD_EVENT_HWBP1到ERAD_EVENT_HWBP8:硬件断点事件。ERAD_EVENT_COUNTER1_EVENT到ERAD_EVENT_COUNTER4_EVENT:与计数器相关的事件。ERAD_EVENT_PIE_INT1到ERAD_EVENT_PIE_INT12:中断事件。ERAD_EVENT_TIMER1_TINT1和ERAD_EVENT_TIMER2_TINT2:定时器的事件。ERAD_EVENT_NO_EVENT:用于指示没有事件输入的情况,这个选项用于计数器将其工作模式设置为计数 CPU 周期。
event_mode: 设置事件模式,类型为ERAD_Counter_Event_Mode,可选项如下:ERAD_COUNTER_MODE_ACTIVE:计算事件处于活动状态时的 CPU 周期数。ERAD_COUNTER_MODE_RISING_EDGE:计算事件的上升沿数量。
reference: 设置计数器的参考值。rst_on_match: 在匹配时复位计数器的标志。enable_int: 在事件匹配时启用中断的标志。enable_stop: 在事件匹配时启用 CPU 停止功能的标志。- 返回参数:无
void ERAD_configCounterInStartStopMode(uint32_t base, ERAD_Counter_Config config_params, ERAD_Counter_Input_Event start_event, ERAD_Counter_Input_Event stop_event)
- 函数功能:以起止模式配置计数器。
- 参数说明:
-
输入参数:
base: 要配置的计数器的基地址,可使用以下宏:-
ERAD_INST_COUNTER1至ERAD_INST_COUNTER4 -
config_params: 配置参数,包含以下字段: -
event: 配置计数器输入事件,类型为ERAD_Counter_Input_Event,可选项如下:ERAD_EVENT_HWBP1到ERAD_EVENT_HWBP8:硬件断点事件。ERAD_EVENT_COUNTER1_EVENT到ERAD_EVENT_COUNTER4_EVENT:与计数器相关的事件。ERAD_EVENT_PIE_INT1到ERAD_EVENT_PIE_INT12:中断事件。ERAD_EVENT_TIMER1_TINT1和ERAD_EVENT_TIMER2_TINT2:定时器的事件。ERAD_EVENT_NO_EVENT:用于指示没有事件输入的情况,这个选项用于计数器将其工作模式设置为计数 CPU 周期。
-
event_mode: 设置事件模式,类型为ERAD_Counter_Event_Mode,可选项如下:ERAD_COUNTER_MODE_ACTIVE:计算事件处于活动状态时的 CPU 周期数。ERAD_COUNTER_MODE_RISING_EDGE:计算事件的上升沿数量。
reference: 设置计数器的参考值。rst_on_match: 在匹配时重置计数器的标志。enable_int: 在事件匹配时启用中断的标志。-
enable_stop: 在事件匹配时启用 CPU 停止功能的标志。 -
start_event: 启动计数的事件,可选项如下: ERAD_EVENT_HWBP1到ERAD_EVENT_HWBP8:硬件断点事件。ERAD_EVENT_COUNTER1_EVENT到ERAD_EVENT_COUNTER4_EVENT:与计数器相关的事件。ERAD_EVENT_PIE_INT1到ERAD_EVENT_PIE_INT12:中断事件。ERAD_EVENT_TIMER1_TINT1和ERAD_EVENT_TIMER2_TINT2:定时器的事件。-
ERAD_EVENT_NO_EVENT:用于指示没有事件输入的情况,这个选项用于计数器将其工作模式设置为计数 CPU 周期。 -
stop_event: 停止计数的事件,可选项与start_event相同。
-
返回参数:无
void ERAD_enableCounterResetInput(uint32_t base, ERAD_Counter_Input_Event reset_event)
- 函数功能:启用计数器的重置事件。
- 参数说明:
-
输入参数:
base: 要配置的计数器的基地址,可使用以下宏:-
ERAD_INST_COUNTER1至ERAD_INST_COUNTER4 -
reset_event: 触发计数器重置的事件,可选项如下: ERAD_EVENT_HWBP1到ERAD_EVENT_HWBP8:硬件断点事件。ERAD_EVENT_COUNTER1_EVENT到ERAD_EVENT_COUNTER4_EVENT:与计数器相关的事件。ERAD_EVENT_PIE_INT1到ERAD_EVENT_PIE_INT12:中断事件。ERAD_EVENT_TIMER1_TINT1和ERAD_EVENT_TIMER2_TINT2:定时器的事件。ERAD_EVENT_NO_EVENT:用于指示没有事件输入的情况,这个选项用于计数器将其工作模式设置为计数 CPU 周期。
-
返回参数:无
void ERAD_disableCounterResetInput(uint32_t base)
- 函数功能:禁用计数器的重置事件。
-
参数说明:
-
输入参数:
base: 要禁用重置事件的计数器的基地址,可使用以下宏:ERAD_INST_COUNTER1至ERAD_INST_COUNTER4
-
返回参数:无
void ERAD_clearCounterEvent(uint32_t base)
- 函数功能:清除计数器触发的事件。
-
参数说明:
-
输入参数:
base: 要禁用重置事件的计数器的基地址,可使用以下宏:ERAD_INST_COUNTER1至ERAD_INST_COUNTER4
-
返回参数:无
void ERAD_clearCounterOverflow(uint32_t base)
- 函数功能:清除计数器可能发生的溢出。
-
参数说明:
-
输入参数:
base: 要清除溢出的计数器的基地址,可使用以下宏:ERAD_INST_COUNTER1至ERAD_INST_COUNTER4
-
返回参数:无
uint32_t ERAD_getCurrentCount(uint32_t base)
- 函数功能:获取计数器的当前计数值。
- 参数说明:
- 输入参数:
base: 计数器的基地址,可使用以下宏:ERAD_INST_COUNTER1至ERAD_INST_COUNTER4
- 返回参数:计数器的当前计数值。
void ERAD_setCurrentCount(uint32_t base, uint32_t value)
- 函数功能:设置计数器的当前计数值。
- 参数说明:
-
输入参数:
base: 计数器的基地址,可使用以下宏:-
ERAD_INST_COUNTER1至ERAD_INST_COUNTER4 -
value: 要写入的计数值。
-
返回参数:无
uint32_t ERAD_getMaxCount(uint32_t base)
- 函数功能:获取计数器的最大计数值。
-
参数说明:
-
输入参数:
base: 计数器的基地址,可使用以下宏:ERAD_INST_COUNTER1至ERAD_INST_COUNTER4
-
返回参数:计数器的最大计数值。
void ERAD_setMaxCount(uint32_t base, uint32_t value)
- 函数功能:设置计数器的最大计数值。
- 参数说明:
-
输入参数:
base: 计数器的基地址,可使用以下宏:-
ERAD_INST_COUNTER1至ERAD_INST_COUNTER4 -
value: 要写入的最大计数值。
-
返回参数:无
void ERAD_profile(ERAD_Profile_Params config_params)
- 函数功能:配置ERAD以分析特定代码段。
-
参数说明:
-
输入参数:
config_params: 配置参数,包含以下字段:start_address: 分析代码的起始地址。end_address: 分析代码的结束地址。bus_sel: 要监控的总线选择,类型为ERAD_BusComp_Bus_Select,可使用以下宏:ERAD_BUSCOMP_BUS_VPC: 虚拟程序计数器ERAD_BUSCOMP_BUS_DWAB: 数据写入地址总线ERAD_BUSCOMP_BUS_DRAB: 数据读取地址总线ERAD_BUSCOMP_BUS_DWDB: 数据写入数据总线
busComp_base1: 第一个总线比较器的基地址,可使用以下宏:ERAD_INST_BUSCOMP1至ERAD_INST_BUSCOMP8
busComp_base2: 第二个总线比较器的基地址,可使用以下宏:ERAD_INST_BUSCOMP1至ERAD_INST_BUSCOMP8
counter_base: 计数器的基地址,可使用以下宏:ERAD_INST_COUNTER1至ERAD_INST_COUNTER4
- 返回参数:无
void ERAD_enableInterruptOnAddressHit(ERAD_AddressHit_Params config_params, uint32_t busComp_base)
- 函数功能:在指定地址上启用RTOS中断。
- 参数说明:
- 输入参数:
config_params: 配置参数,包含以下字段:address: 触发中断的地址。mask: 地址掩码,用于地址比较。bus_sel: 要监控的总线,类型为ERAD_BusComp_Bus_Select,可使用以下宏:ERAD_BUSCOMP_BUS_VPC: 虚拟程序计数器ERAD_BUSCOMP_BUS_DWAB: 数据写入地址总线ERAD_BUSCOMP_BUS_DRAB: 数据读取地址总线ERAD_BUSCOMP_BUS_DWDB: 数据写入数据总线
busComp_base: 要使用的总线比较器的基地址,可使用以下宏:ERAD_INST_BUSCOMP1至ERAD_INST_BUSCOMP8- 返回参数:无
void ERAD_countAddressHits(ERAD_AddressHit_Params config_params, uint32_t busComp_base, uint32_t counter_base)
- 函数功能:统计指定地址被命中的次数。
- 参数说明:
- 输入参数:
config_params: 配置参数,包含以下字段:address: 比较地址。mask: 地址掩码,用于地址比较。bus_sel: 要监控的总线,类型为ERAD_BusComp_Bus_Select,可使用以下宏:ERAD_BUSCOMP_BUS_VPC: 虚拟程序计数器ERAD_BUSCOMP_BUS_DWAB: 数据写入地址总线ERAD_BUSCOMP_BUS_DRAB: 数据读取地址总线ERAD_BUSCOMP_BUS_DWDB: 数据写入数据总线
busComp_base: 总线比较器的基地址,可使用以下宏:ERAD_INST_BUSCOMP1至ERAD_INST_BUSCOMP8counter_base: 计数器的基地址,可使用以下宏:ERAD_INST_COUNTER1至ERAD_INST_COUNTER4
- 返回参数:无