TI提供的C6748的C6SDK_02_00_00版本的程序中tools文件加下的OMAP_L138_FlashAndBootUtils_2_36中NorFlash的Ubl工程中对于芯片初始化及PLL配置中有几点不太明白,这里提出来希望可以得到大家的解答。
1.在void DEVICE_PSCInit()函数中,有如下语句
//LPSC_EDMA_CC0 through LPSC_ARM_RAMRON
for(i=0;i<=7;i++)
PSC0->MDCTL[i]=LPSC->MDCTL[i]&0xFFFFFFE0 | PSC_ENABLE;
这是配置MDCTL的语句,根据TMS320C6748 DSP Technical Reference Manual(SPRUH79A.PDF)中对于MDCTLn寄存器的描述,只有低3位是NEXT域,但是为什么这里用0XFFFFFFE0区屏蔽低位而不用0XFFFFFF80?
2.在void DEVICE_PLL0Init(Unit8 clk_src,Unit8 pllm,Unit8 prediv,Unit8 postdiv,Unit8 div1,Unit8 div3,Unit8 div7)这个函数中,使能PLL的语句如下:
//Disable the PLL OutPut
PLL0->PLLCTL |= DEVICE_PLLCTL_PLLDIS_MASK;
DEVICE_PLLCTL_PLLDIS_MASK
Tony Tang:
#1. 先清为0,再或上要设的值。
#2. 问题没写完吧。
总之这都是基本的C语言,不涉及芯片。