本帖最后由 china_he 于 2017-1-5 16:31 编辑
跟着创龙的手册导入裸机工程,编译倒是通过了,但是找不到“Open Declara
tion”找不到函数体,因此自己找到了源文件和头文件新建GPIO工程,也搞了老半天,因为之间犯了一个错误,没有把CMD文件加进去,我以为直接用新建的工程就可以了。。。。
同样的,点击Project-New CCS Project弹出新建工程界面。
输入选中芯片类型和
仿真器类型,填写工程名,其他全部默认就可以了。(Empty Projects with main.c)。
点击finish完成工程的建立,工程树中便出现已经建好的工程,这时,我们把“demo-NonOS-Application-GPIO_LED”文件复制到我们所建立的工程中,并覆盖main.c文件,(方法有点土)。然后在GPIO文件夹下新建两个文件夹,“include”、“source”分别放头文件和源文件。
然后将demo-Library-include文件夹下的board、driver文件夹拷贝到GPIO下include文件夹,将demo-Library-library文件夹下寻找几个源文件,并复制到source文件夹下。
最后将C66x.cmd文件复制到GPIO文件夹下,原来的我直接删掉了。
提示:源文件不必要复制那么多,有些文件GPIO 用不到。
然后就可以编译:
编译过之后便可以查看函数体(可以按着ctrl点住函数即可):
其中:GPIO的初始化为该段函数:
通过设置基地址、引脚号和方向来进行设置:
比如:
SOC_GPIO_0_REGS=0x02320000;
GPIO14_PCIESSMODE0=14
GPIO_DIR_OUTPUT=0
参考手册:
在主函数中,利用for循环来实现LED的交替闪烁:
for(;;)
{
if(DSPChipType == DSP_C6678)
{
Delay(0x00FFFFFF);
LEDControl(CoreLED1, LED_ON);
LEDControl(CoreLED2, LED_OFF);
Delay(0x00FFFFFF);
LEDControl(CoreLED1, LED_OFF);
LEDControl(CoreLED2, LED_ON);
}
}
(代码来自创龙)
调用函数:
尊重创龙知识产权,代码就不上了。