|
调试TDA8007芯片,它与S3C6410之间是总线接口,我接的是nCS4。
是按照下面的思路做的,但用示波器看总线没有高低电平变化?不知道哪里有问题?
1、TDA8007的总线起始地址应该为:
- 2、将上面的物理地址映射到用户区内存:
- [code] pTDA8007BaseAddr = (unsigned char*)Address_RegAlloc((PVOID)S3C6410_BASE_REG_PA_TDA8007, 16);
- if (pTDA8007BaseAddr == NULL)
- {
- RETAILMSG(TDA_DUG,(TEXT("[TDA] For pTDA8007BaseAddr: VirtualAlloc failed!\r\n")));
- bResult = FALSE;
- }
复制代码
其中,Address_RegAlloc调用VirtualAlloc和VirtualCopy完成,这个函数我一直用,绝对没问题;
pTDA8007BaseAddr为unsigned char*指针;
3、读取数据时就直接:[code]
其中address为TDA8007中寄存器相应寄存器地址。
写数据时:[code]
关于总线访问就做了上面的事情,是不是哪里不对,总感觉忘记做什么了?谢谢!
|
|