当前位置:网站首页>Sim Api User Guide(7)
Sim Api User Guide(7)
2022-04-23 09:55:00 【weixin_38498942】
Sim Api User Guide(7)
2.10
cosims 或系统仿真应用程序使用设备注册函数将其回调函数注册到 Hexagon 模拟器。 所有注册函数都可以在配置阶段完成之前或之后调用。 这些设备注册/取消注册功能中的每一个都可以被多次调用。
2.10.1 AddBusAccessCallback
Prototype
typedef HEXAPI_TransactionStatus
(*bus_transaction_request_callback) (void *handle,
HEX_PA_t address, HEX_4u_t lengthInBytes,
HEX_1u_t *data, HEX_4u_t requestID,
HEXAPI_BusAccessType type, HEX_4u_t threadNum,
HEXAPI_BusBurstType burst);
HEXAPI_Status AddBusAccessCallback(void *handle,
HEX_PA_t startAddr, HEX_PA_t endAddr,
bus_transaction_request_callback brtc)
Parameters
| 名字 | 类型 | 描述 |
|---|---|---|
| handle | Input | 从 RegisterCosim() 或 RegisterCosimArgs() 返回的外部总线模型句柄 |
| startAddr | Input | 要为此设备注册的地址范围的下限(包括) |
| endAddr | Input | 为该设备注册的地址范围的上限(含) |
| btrc | Input | 指向给定地址区域发出总线请求时要调用的函数的指针。 请参阅第 3.2.1 节。 |
Return
| 名字 | 描述 |
|---|---|
| HEX_STAT_SUCCESS | Success |
| HEX_STAT_INVALID_ARGS | 总线地址范围重叠 |
Description
注册一个函数,当核心发出对指定范围内的内存的总线请求时要调用的函数。 注册的函数必须具有给定的原型,如果总线请求可以被接受,则返回零。 如果总线请求不能被接受,则返回一个非零值,并且核心停止请求线程并稍后重新发出请求。
如果请求被接受,核心保持请求线程停止,直到它接收到 BusTransactionFinished(第 2.12.15 节)调用以指示事务完成。
目的是允许用户对总线进行建模。 通常,被调用函数 (btrc) 会注册一个警报回调(第 2.10.5 节)以从模拟器接收操作的预期延迟已过期的通知。 此时,总线模型发出请求的总线操作完成的信号。
注意
由不同外部模型注册的重叠地址范围将被拒绝。
2.10.2 RemoveBusAccessCallback
Prototype
HEXAPI_Status RemoveBusAccessCallback(void *handle)
Parameters
| 名字 | 类型 | 描述 |
|---|---|---|
| handle | Input | 从 RegisterCosim() 或 RegisterCosimArgs() 返回的外部总线模型句柄 |
Return
| 名字 | 描述 |
|---|---|
| HEX_STAT_SUCCESS | Success |
| HEX_STAT_DEVICE_NOT_FOUND | 找不到已注册的总线设备 |
Description
从模拟器中删除外部总线模型的回调通知。 对于已注册回调的所有地址范围,删除与句柄关联的回调。
2.10.3 AddFrequencyChangeCallback
Prototype
typedef void (*frequency_change_callback)
(void *handle, HEX_4u_t newFrequency);
HEXAPI_Status AddFrequencyChangeCallback (void *handle,
frequency_change_callback fcc)
Parameters
| 名字 | 类型 | 描述 |
|---|---|---|
| handle | Input | 从 RegisterCosim() 或 RegisterCosimArgs() 返回的外部总线模型句柄 |
| fcc | Input | 指向调用频率变化通知的函数的指针。 参见第 3.2.5 节 |
Return
| 名字 | 描述 |
|---|---|
| HEX_STAT_SUCCESS | Success |
| HEX_STAT_DEVICE_NOT_FOUND | 找不到已注册的总线设备 |
Description
由每次 Hexagon 核心频率变化时需要模拟器通知的外部设备模型使用。 它可以根据需要使用新频率来计算适当的延迟。
2.10.4 RemoveFrequencyChangeCallback
Prototype
HEXAPI_Status RemoveFrequencyChangeCallback (void *handle)
Parameters
| 名字 | 类型 | 描述 |
|---|---|---|
| handle | Input | 从 RegisterCosim() 或 RegisterCosimArgs() 返回的外部总线模型句柄 |
Return
| 名字 | 描述 |
|---|---|
| HEX_STAT_SUCCESS | Success |
| HEX_STAT_DEVICE_NOT_FOUND | 无法为设备移除对 FrequencyChangeCallback 的调用 |
Description
外部设备模型使用它从已注册的设备列表中删除自己,以便在每次核心频率更改时获取回调。
2.10.5 AddTimedCallback
Prototype
typedef void (*timed_callback) (void *handle);
HEXAPI_Status AddTimedCallback(void *handle,
HEX_8u_t interval, HEXAPI_Interval i_typ, timed_callback tc)
Parameters
| 名字 | 类型 | 描述 |
|---|---|---|
| handle | Input | 从 RegisterCosim() 或 RegisterCosimArgs() 返回的外部总线模型句柄 |
| interval | Input | 以模拟器时间单位表示的间隔 |
| i_typ | Input | 时间单位类型: HEX_MILLISEC - 毫秒、HEX_MICROSEC - 微秒 |
| 、HEX_NANOSEC - 纳秒、HEX_PICOSEC - 皮秒 | ||
| tc | Input | 指向要在每个间隔时间单位调用的函数的指针。 见第 3.2.2 节 |
Return
| 名字 | 描述 |
|---|---|
| HEX_STAT_SUCCESS | Success |
| HEX_STAT_DEVICE_NOT_FOUND | 无法注册回调 |
Description
外部设备模型使用它从已注册的设备列表中删除自己,以便在每次核心频率更改时获取回调。
由需要模拟器通知间隔模拟器时间单位已过期的外部设备模型使用。 该通知将继续由模拟器传递,直到取消。
时间增量的粒度受当前内核频率设置的限制。可用的最细粒度对应于单个处理器周期所用的时间。所有时间值都根据当前处理器时钟频率进行缩放,并在内核频率发生变化时重新缩放。
2.10.6 AddTimedCallbackFP
Prototype
typedef void (*timed_callback) (void *handle);
HEXAPI_Status AddTimedCallbackFP(void *handle,
HEX_8f_t interval, HEXAPI_Interval i_typ, timed_callback tc)
Parameters
| 名字 | 类型 | 描述 |
|---|---|---|
| handle | Input | 从 RegisterCosim() 或 RegisterCosimArgs() 返回的外部总线模型句柄 |
| interval | Input | 以模拟器时间单位表示的间隔 (表示为双精度浮点值) |
| i_typ | Input | 时间单位类型: HEX_MILLISEC - 毫秒、HEX_MICROSEC - 微秒 |
| 、HEX_NANOSEC - 纳秒、HEX_PICOSEC - 皮秒 | ||
| tc | Input | 指向要在每个间隔时间单位调用的函数的指针。 见第 3.2.2 节 |
Return
| 名字 | 描述 |
|---|---|
| HEX_STAT_SUCCESS | Success |
| HEX_STAT_DEVICE_NOT_FOUND | 无法注册回调 |
Description
由需要模拟器通知间隔模拟器时间单位已过期的外部设备模型使用。 该通知将继续由模拟器传递,直到取消。
时间增量的粒度受当前核心频率设置的限制。 可用的最细粒度对应于单个处理器周期所用的时间。 所有时间值都根据当前处理器时钟频率进行缩放,并在核心频率发生变化时重新缩放。
注意
此函数与 AddTimedCallback(第 2.10.5 节)相同,只是时间间隔表示为双精度浮点值。
版权声明
本文为[weixin_38498942]所创,转载请带上原文链接,感谢
https://blog.csdn.net/weixin_38498942/article/details/124317989
边栏推荐
- 通过流式数据集成实现数据价值(5)- 流处理
- Odoo server setup notes
- LeetCode 1249. Minimum Remove to Make Valid Parentheses - FB高频题1
- NEC infrared remote control coding description
- 中控学习型红外遥控模块支持网络和串口控制
- Expansion of number theory Euclid
- 2022年广东省安全员A证第三批(主要负责人)考试试题及答案
- 第二章 In-Memory 体系结构 (IM-2.2)
- [hdu6833] a very easy math problem
- Dropout技术之随机神经元与随机深度
猜你喜欢

Failureforwardurl and failureurl

Number theory blocking (integer division blocking)

SAP excel has completed file level validation and repair. Some parts of this workbook may have been repaired or discarded.

Custom login failure handling

Epidemic prevention registration applet

SAP RFC_ CVI_ EI_ INBOUND_ Main BP master data creation example (Demo customer only)

2022年流动式起重机司机考试题库模拟考试平台操作

Redis 异常 read error on connection 解决方案

正大国际讲解道琼斯工业指数到底是什么?

AI上推荐 之 MMOE(多任务yyds)
随机推荐
Custom login failure handling
SAP debug debug for in, reduce and other complex statements
通过流式数据集成实现数据价值(2)
防疫登记小程序
论文阅读《Integrity Monitoring Techniques for Vision Navigation Systems》——3背景
The central control learning infrared remote control module supports network and serial port control
Redis exception read error on connection solution
ARM调试(1):两种在keil中实现printf重定向到串口的方法
论文阅读《Integrity Monitoring Techniques for Vision Navigation Systems》——4视觉系统中的多故障
SQL调优系列文章之—SQL性能方法论
Explanation of order and primitive root of number theory
Code source daily question div1 (701-707)
中控学习型红外遥控模块支持网络和串口控制
Solving Lucas number and combination theorem
Setnx command execution failed due to full redis memory
(Extended) bsgs and higher order congruence equation
Es aggregation aggregation analysis
Simply understand = = and equals, why can string not use new
通过流式数据集成实现数据价值(5)- 流分析
The sap export excel file opens and shows that the file format and extension of "XXX" do not match. The file may be damaged or unsafe. Do not open it unless you trust its source. Do you still want to