arm里面没有bus_type实体了?
时间: 2023-08-03 08:05:07 浏览: 47
我之前的回答可能不太准确,我检查了一下资料发现在最新的ARMv8体系架构中,已经没有名为bus_type的结构体或实体了。 ARMv8体系架构采用了一种名为SMMU(System MMU)的硬件单元,它提供了一种通用的、可扩展的内存管理机制来支持多个总线和多个处理器之间的内存访问。因此,在ARMv8体系结构中,总线类型的管理机制已经发生了变化,不再使用之前的bus_type结构体。
相关问题
arm的有bus_type
是的,ARM体系结构中有一个名为bus_type的概念,它是一种表示总线类型的结构体。在Linux内核中,该结构体用于描述系统中的总线类型和总线属性,例如总线速度、总线类型、总线地址范围等。总线类型包括了AMBA、PCI、USB等。该结构体的定义位于include/linux/amba/bus.h头文件中。
arm_cfft_f32()里面填什么
函数arm_cfft_f32()需要填写以下参数:
- `const arm_cfft_instance_f32 * S`: 一个指向arm_cfft_instance_f32结构体的指针,该结构体包含FFT所需的所有参数和状态信息,可以使用arm_cfft_init_f32()函数进行初始化。
- `float32_t * p1`: 一个指向长度为FFT大小的复数输入序列的指针。输入序列必须以实部-虚部-实部-虚部...的方式排列。
- `float32_t * p2`: 一个指向长度为FFT大小的复数输出序列的指针。输出序列也必须以实部-虚部-实部-虚部...的方式排列。
- `uint8_t ifftFlag`: 如果需要执行逆FFT,则将其设置为非零值(例如1);如果需要执行正FFT,则将其设置为零。
函数的原型为:
```C
void arm_cfft_f32(
const arm_cfft_instance_f32 * S,
float32_t * p1,
uint8_t ifftFlag);
```
需要注意的是,该函数处理的是长度为FFT大小的复数序列。如果输入序列的长度不是FFT大小,则需要使用其他的FFT函数来进行处理。另外,输出序列中的实部和虚部都是按照顺序排列的,因此需要进行额外的处理才能得到正常的频谱信息。