Sim Api User Guide(6)
2.9.20 ConfigureMemFill
Prototype
HEXAPI_Status ConfigureMemFill(HEX_1u_t value)
Parameters
Description
指定一个用于所有未初始化的内存的值。仿真器会在仿真开始前用指定的值填满所有的内存。
hexagon-sim中的-memfill value选项与此功能类似。
2.9.21 ConfigureMemFillRandom
Prototype
HEXAPI_Status ConfigureMemFillRandom(HEX_4u_t seed)
Parameters
Return
Description
指定一个作为随机数种子的值。模拟器使用rand()主机函数来初始化所有 "未初始化 "内存的值。这个函数的行为取决于随机数发生器的主机实现。
hexagon-sim中的-memfill_rand种子选项类似于这个函数。
2.9.22 ConfigureStatisticsFile
Prototype
HEXAPI_Status ConfigureStatisticsFile(const char *pStatsFile,
HEXAPI_OpenMode mode = HEX_MODE_WRITE)
Parameters
Return
Description
指定要写入执行统计数据的文本文件。
注意 只有当EmitStatistics()函数被调用时,统计数据才会被写到指定的文件中。
EmitStatistics()函数被调用时,统计数据才会被写入指定的文件。
2.9.23 ConfigurePmuStatisticsFile
Prototype
HEXAPI_Status ConfigurePmuStatisticsFile(const char *pmuStatsFile, HEXAPI_OpenMode mode = HEX_MODE_WRITE)
Parameters
Return
Description
指定文本文件,将 Hexagon PMU 的执行统计数据写入其中。
注意 只有在调用 EmitStatistics() 函数时,统计数据才会写入指定文件。
2.9.24 ConfigurePCRangeFilter
Prototype
HEXAPI_Status ConfigurePCRangeFilter(HEX_VA_t PCStart,
HEX_VA_t PCEnd)
Parameters
Parameters
Return
Description
启用基于指令执行的统计数据收集和跟踪的启动和停止。这适用于所有形式的统计数据收集:Gprof、Qprof、区域分析和正常的执行统计数据。这也适用于跟踪生成。
当PCStart地址的指令被提交时,统计收集就开始了。这意味着PCStart数据包的统计数据不在跟踪数据中。当PCEnd地址的指令被提交时,统计信息收集终止。这意味着PCEnd数据包的统计数据在跟踪数据中。即使PCStart处的指令再次被执行,统计收集也不会被重新启动。
这个例程只是启用了统计数据的收集。使用EmitStatistics()或EmitPerfStatistics()来打印统计信息。
这个函数与ConfigureTimeRangeFilter()一起工作。当TimeStart或PCStart条件得到满足时,就开始收集统计数据,当TimeEnd或PCEnd条件得到满足时,就结束收集。
2.9.25 ConfigureTimeRangeFilter
Prototype
HEXAPI_Status ConfigureTimeRangeFilter(HEX_8u_t TimeStart,
HEXAPI_Interval StartUnits, HEX_8u_t TimeEnd,
HEXAPI_Interval EndUnits)
Parameters
Return
Description
启用基于已过模拟时间的统计数据收集和跟踪的开始和停止。这适用于所有形式的统计数据收集:Gprof、Qprof、region profiling和正常的执行统计数据。这也适用于跟踪生成。
当TimeStart时间过后,开始收集统计数据。当TimeEnd时间过后,统计信息收集就结束了。统计数据收集将永远不会被重新启动。
这个例程只是启用了统计数据的收集。使用EmitStatistics()或EmitPerfStatistics()来打印统计信息。
这个函数与ConfigurePCRangeFilter()一起工作。当TimeStart或PCStart条件得到满足时,就开始收集统计数据,当TimeEnd或PCEnd条件得到满足时,就结束收集。
2.9.26 ConfigureNULLPointerBehavior
Prototype
HEXAPI_Status ConfigureNULLPointerBehavior(
HEXAPI_Nullptr behavior)
Parameters
Return
Description
指示模拟器应该如何处理NULL指针解除引用。
2.9.27 ConfigureHeapInfo
Prototype
HEXAPI_Status ConfigureHeapInfo(HEX_PA_t heapBase,
HEX_4u_t heapSize)
Parameters
Return
Description
指示模拟器堆的位置。这些值作为独立程序的启动程序的一部分被赋予运行中的程序。这个调用对于RTOS应用是未定义的。
2.9.28 ConfigureStackInfo
Prototype
HEXAPI_Status ConfigureStackInfo(HEX_PA_t stackBase,
HEX_4u_t stackSize)
Parameters
Return
Description
指示模拟器堆栈的位置。这些值作为单机的启动程序的一部分给运行中的程序。如果没有指定堆栈基数和大小,堆栈的位置将从可执行文件中获得。这个调用对于RTOS应用来说是未定义的。
2.9.29 EndOfConfiguration
Prototype
HEXAPI_Status EndOfConfiguration()
Return
Description
这个函数应该是模拟器配置函数的最后一个。调用此函数使模拟器评估配置选项并加载cosims、OS认知模块、符号文件等。如果提供了一个二进制图像,它将被加载到 Hexagon 模拟器内存中。
注意 此函数之后的任何配置调用都会返回一个错误(HEX_STAT_CANNOT_CONFIG)。