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_COUNTER1
ERAD_INST_COUNTER2
ERAD_INST_COUNTER3
ERAD_INST_COUNTER4
- 返回参数:无
void ERAD_enableModules(uint16_t instances)
- 函数功能:启用选定的计数器和总线比较器。
- 参数说明:
- 输入参数:
instances
:要启用的计数器和总线比较器实例的按位或值,可使用以下宏:ERAD_INST_BUSCOMP1
至ERAD_INST_BUSCOMP8
ERAD_INST_COUNTER1
至ERAD_INST_COUNTER4
- 返回参数:无
void ERAD_disableModules(uint16_t instances)
- 函数功能:禁用选定的计数器和总线比较器。
- 参数说明:
- 输入参数:
instances
:要禁用的计数器和总线比较器实例的按位或值,可使用以下宏:ERAD_INST_BUSCOMP1
至ERAD_INST_BUSCOMP8
ERAD_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_BUSCOMP8
counter_base
: 计数器的基地址,可使用以下宏:ERAD_INST_COUNTER1
至ERAD_INST_COUNTER4
- 返回参数:无