varch/doc/romt.md

57 lines
5.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## 介绍
`romt`是一个用于C语言的简单只读存储器ROM测试模块。它定义了多种ROM测试模式、相关的回调函数类型以及代表ROM的结构体并且提供了诸如初始化ROM测试结构、启动测试、停止测试、获取测试历史结果与最新结果以及执行测试任务等一系列函数接口方便开发者在C语言项目中对模拟ROM进行不同模式、不同时长的测试操作并能查看相应的测试情况。
## 接口
### 函数
#### `romt_init`函数
```c
int romt_init(ROMT *romt);
```
**函数说明**:主要用于对`ROMT`结构体进行初始化操作。会检查传入的`ROMT`结构体及其参数的有效性确保结构体中的ROM大小、读函数指针、写函数指针等关键元素合法有效同时会将结构体中的私有数据字段初始化为零为后续的ROM测试相关操作做好准备。
**参数介绍**
- `romt`:指向`ROMT`结构体的指针该结构体承载了要进行测试的ROM的相关关键信息像ROM的起始地址通过`base`成员体现)、大小(`size`成员)以及对应的读写函数指针等,函数通过这个指针来对结构体内部各成员进行初始化相关的处理。
#### `romt_start`函数
```c
int romt_start(ROMT *romt, uint32_t mode, uint32_t duration);
```
**函数说明**负责启动ROM测试相关操作依据传入的特定测试模式和持续时间来配置并开启相应的测试流程。在启动前会先对输入的参数进行有效性检查并且确认ROM已经过正确初始化以此保障测试操作能正常开展。
**参数介绍**
- `romt`:指向`ROMT`结构体的指针用于定位具体要进行测试操作的ROM相关信息包括其读写函数等为后续按照指定模式和时长开展测试提供基础依据。
- `mode`表示ROM测试的操作模式其取值为预定义的测试模式宏如`ROMT_MODE_READ`、`ROMT_MODE_WRITE`等),不同的宏对应不同类型的测试逻辑,例如`ROMT_MODE_READ`代表从ROM读取数据的测试模式`ROMT_MODE_WRITE`则对应向ROM写入数据的测试模式需注意实际ROM通常为只读写入测试可能是模拟场景下进行功能性验证等
- `duration`指定ROM测试持续的时长依据此参数来控制测试运行的时间范围具体含义依实际设定而定不同的时长设定可以满足不同的测试需求比如短时间的快速测试或者长时间的全面测试等。
#### `romt_stop`函数
```c
int romt_stop(ROMT *romt);
```
**函数说明**用于停止正在进行的ROM测试操作在停止过程中会将测试模式和持续时间等相关配置重置为零同时确保ROM之前是经过正确初始化的保证整个停止操作能顺利完成避免出现异常的测试状态遗留以及资源占用等问题。
**参数介绍**
- `romt`:指向`ROMT`结构体的指针根据该指针所指向的结构体来确定要停止的是哪一个ROM测试任务进而对相应的测试资源、状态等进行合理的停止和重置处理。
#### `romt_result`函数
```c
uint32_t romt_result(ROMT *romt);
```
**函数说明**旨在获取ROM测试的历史结果信息会先对传入的`ROMT`结构体的有效性进行检查若检查通过则从结构体的私有数据中提取并返回之前进行的ROM测试过程中积累的整体测试情况方便开发者全面了解ROM在过往多次测试中的综合表现若检查不通过则返回`0xFFFFFFFF`来表示出现错误,无法获取有效历史结果。
**参数介绍**
- `romt`:指向`ROMT`结构体的指针基于这个指针所指向的结构体去查找和获取对应的历史测试结果数据由于不同的ROM测试任务有其各自独立的结果记录存储位置通过此指针能准确地定位到相应记录所在之处。
#### `romt_result_latest`函数
```c
uint32_t romt_result_latest(ROMT *romt);
```
**函数说明**用于获取ROM测试的最新结果也就是获取距离当前最近一次进行ROM测试所产生的结果信息。同样会先验证`ROMT`结构体的有效性若有效则从其私有数据中提取并返回最新结果便于开发者快速知晓ROM最近一次测试时的状态情况若结构体有效性检查失败则返回`0xFFFFFFFF`来表示获取结果出现错误。
**参数介绍**
- `romt`:指向`ROMT`结构体的指针借助该指针指向的结构体去定位和获取与之对应的ROM测试最新结果数据以此确保返回的是正确目标ROM测试任务的最近一次测试情况。
#### `romt_task`函数
```c
void romt_task(ROMT *romt);
```
**函数说明**会依据已经配置好的测试模式来执行ROM测试任务相关操作。首先会检查当前的测试模式然后在持续时间允许的情况下针对`ROMT`结构体所代表的ROM执行相应的测试如读、写、正常、边界、随机、模式生成等不同模式对应的具体测试内容并且在执行过程中会更新最新结果以及将相关测试情况累加到历史结果中存储在结构体的私有数据里用于后续获取结果时查看。
**参数介绍**
- `romt`:指向`ROMT`结构体的指针函数通过该指针确定具体要对哪块ROM按照何种模式等设定来执行测试任务其关联着ROM测试的各项关键配置信息是执行具体测试操作的核心依据不同的ROM对应的结构体包含不同的配置情况通过此指针可准确区分并进行针对性测试。