背景
- 在dss_main函数中,开始SRR_DSS_mmWaveTask之前有一个初始化的任务SRR_DSS_initTask,包括mailbox初始化,ADCBuf初始化等,今天是首先讨论ADCBuf。
- ti参考设计(short range radar,简称SSR)基于的SDK版本是3.6,所以接下来会分析一些SDK3.6中的源码,包括驱动(drivers)和Datapath等等。
代码结构分析
ADC Buffer的源码位置位于路径C:\ti\mmwave_sdk_03_06_00_00-LTS\packages\ti\drivers\adcbuf\src下面,分别是ADCBuf.c和adcbuf_mmwave.c文件,两者之间的关系可以理解为ADCBuf.c是对adcbuf_mmwave.c进行了一层封装。
ADCBuf.c文件中的主要内容如下(先以ADCBuf_close举例子)
void ADCBuf_close(ADCBuf_Handle handle) {
handle->fxnTablePtr->closeFxn(handle);
}
ADCBuf_close函数内部实现实际是调用了其他的函数(这个函数为函数指针变量closeFxn指向的函数)。这里是通过结构体内部內嵌