void rd32_ctrl(UINT32 pddr_num, UINT64 local_reg_addr,UINT32 *udRdData){ //UINT32 udRdData; UINT64 sys_addr; sys_addr = DDR_CTRL_ADDR(pddr_num, local_reg_addr); //HAL_LOG("crtl:rd32:addr:%x",(UINT32)((sys_addr>>32) & 0xfffffffff)); //HAL_LOG("%x,",(UINT32)(sys_addr & 0xfffffffff)); *udRdData = HAL_READ32(sys_addr); //return udRdData; // HAL_LOG(" udRdData = %x\n\r", udRdData); }
时间: 2024-03-08 15:45:14 浏览: 247
unit8_2_int32_.rar_uint8 int32_unit8
5星 · 资源好评率100%
这段代码定义了一个名为rd32_ctrl的函数,函数有三个参数:
- pddr_num:一个32位无符号整数,表示DDR的编号;
- local_reg_addr:一个64位无符号整数,表示本地寄存器地址;
- udRdData:一个指向32位无符号整数的指针,表示读取到的数据将被存储在该指针所指向的内存中。
函数内部的逻辑是:
- 通过DDR_CTRL_ADDR宏将DDR编号和本地寄存器地址合并成一个64位无符号整数sys_addr;
- 使用HAL_READ32函数读取sys_addr地址处的32位无符号整数,将其赋值给udRdData指针所指向的内存地址;
- 函数无返回值。
这段代码可能是在某个嵌入式系统中用于读取DDR控制器中的寄存器值。
阅读全文