DSP论坛
直播中

china_he

10年用户 208经验值
擅长:可编程逻辑 电源/新能源 模拟技术 EMC/EMI设计 控制/MCU
私信 关注

【创龙C66x开发板试用体验】4.裸机GPIO工程建立

本帖最后由 china_he 于 2017-1-5 16:31 编辑

跟着创龙的手册导入裸机工程,编译倒是通过了,但是找不到“Open Declaration”找不到函数体,因此自己找到了源文件和头文件新建GPIO工程,也搞了老半天,因为之间犯了一个错误,没有把CMD文件加进去,我以为直接用新建的工程就可以了。。。。
同样的,点击Project-New CCS Project弹出新建工程界面。
捕获.PNG

输入选中芯片类型和仿真器类型,填写工程名,其他全部默认就可以了。(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文件夹下。



捕获.PNG



捕获.PNG

最后将C66x.cmd文件复制到GPIO文件夹下,原来的我直接删掉了。

提示:源文件不必要复制那么多,有些文件GPIO 用不到。

然后就可以编译:

捕获.PNG

编译过之后便可以查看函数体(可以按着ctrl点住函数即可):

无标题.png


其中:GPIO的初始化为该段函数:

捕获.PNG

通过设置基地址、引脚号和方向来进行设置:

捕获.PNG

比如:

SOC_GPIO_0_REGS=0x02320000;

GPIO14_PCIESSMODE0=14

GPIO_DIR_OUTPUT=0

参考手册:

捕获.PNG

在主函数中,利用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);

                }

(代码来自创龙)


调用函数:

捕获.PNG


用法和GPIO初始化设置一样。
General Purpose Input Output (GPIO) User Guide.pdf (255.54 KB)
(下载次数: 5, 2017-1-1 11:20 上传)

尊重创龙知识产权,代码就不上了。

回帖(1)

番茄番茄

2017-1-4 18:20:23
学习学习
举报

更多回帖

发帖
×
20
完善资料,
赚取积分