1. 首先看下DSP6748的GPIO寄存器的文档,先看下框图,有这个框图,一目了然,输入和输出很清楚
2. 看下寄存器部分,对应上面的图,问题在于,DSP6748有多少个GPIO?最多144个,下一个问题,startware和CSL芯片支持库之间的关系?
3. 看下原理图,用了4个GPIO,BANK0的4个引脚。
4. 导入程序研究下,第一个函数,使能GPIO模块,重要的函数,如果使能定时器,估计也差不多用法
void PSCInit(void)
{
// 使能 GPIO 模块
// 对相应外设模块的使能也可以在 BootLoader 中完成
PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO, PSC_POWERDOMAIN_ALWAYS_ON, PSC_MDCTL_NEXT_ENABLE);
}
5. GPIO的方向设置函数,第2个参数,是GPIO的号码,号码=BANK*16+序号。
// 底板 LED
GPIODirModeSet(SOC_GPIO_0_REGS, , GPIO_DIR_OUTPUT); // D7 GPIO0[0]
GPIODirModeSet(SOC_GPIO_0_REGS, , GPIO_DIR_OUTPUT); // D9 GPIO0[1]
GPIODirModeSet(SOC_GPIO_0_REGS, , GPIO_DIR_OUTPUT); // D10 GPIO0[2]
GPIODirModeSet(SOC_GPIO_0_REGS, , GPIO_DIR_OUTPUT); // D6 GPIO0[5]
6. GPIO的输出函数
GPIOPinWrite(SOC_GPIO_0_REGS, , GPIO_PIN_LOW); // D9 灭 GPIO0[1]
GPIOPinWrite(SOC_GPIO_0_REGS, , GPIO_PIN_HIGH); // D10 亮 GPIO0[2]
7. 这些都比较简单,深入去看下,我们用到的库,目前用到了3个库,创龙自己封装了一个,startware封装了一个,剩下的应该是C标准库。
8. 依然回到最初的问题startware和CSL的区别。不知道DSP6748有没有CSL库。 目前支持这几种
StarterWare is a free software development package that provides no-OS platform support for TI embedded
processors. StarterWare includes Device Abstraction Layer (DAL) libraries and example applications that
demonstrate the capabilities of the peripherals on C6748.
找到了C6748的CSL库地址
http://processors.wiki.ti.com/index.php/Chip_support_library#Chip_Support_Library_for_C6747_and_C6748
startware的地址
http://processors.wiki.ti.com/index.php/StarterWare
也就是说CSL和startware都是支持的,为啥搞2个?百思不得姐,The CSL library for the C6747 and C6748 is part of the BIOSPSP which can be gotten here,CSL库是OS操作系统的一部分,startware用于非操作系统,所以搞两套?