ADSP-TS101 重要摘要

一 TCB编程

void SetTCB0(long DI_Source, long DX_Source, long DY_Source, long DP_Source, long DI_Destin, long DX_Destin, long DY_Destin, long DP_Destin)
{
    volatile __builtin_quad TCB_Clear, TCB_Set;// 这个函数是合并两个64-bits的数,之所以<<32而非64,是因为long long是64-bits的.另外TCB_DISABLE宏为0x00000000
    TCB_Clear = __builtin_compose_128((long long)TCB_DISABLE << 32, 0);//这个函数是按着4-words(128-bits)来写
    __builtin_sysreg_write4(__DCS0, TCB_Clear); 
    __builtin_sysreg_write4(__DCD0, TCB_Clear); 
    TCB_Set = __builtin_compose_128(((long long)DX_Source << 32) | DI_Source, ((long long)DP_Source << 32) | DY_Source);
    __builtin_sysreg_write4(__DCS0, TCB_Set); 
    TCB_Set = __builtin_compose_128(((long long)DX_Destin << 32) | DI_Destin, ((long long)DP_Destin << 32) | DY_Destin );
    __builtin_sysreg_write4(__DCD0, TCB_Set);
}
 
Flyby transactions are used by the DMA for transferring data between an external I/O device and external SDRAM memory (for example, DMA may be programmed to transfer data from an A/D device to the SDRAM). 
    An access is requested when the external device pulls DMARx low.
    
三  对对对
四  对对对
posted @ 2016-02-27 14:13  yojone  阅读(437)  评论(0编辑  收藏  举报