在DSP6000中怎样编写第一个程序

[复制链接]
 楼主| dengdc 发表于 2019-2-15 08:55 | 显示全部楼层 |阅读模式
在DSP6000中怎样编写第一个程序
zhaoxqi 发表于 2019-2-15 08:58 | 显示全部楼层
CSS下和DSP6000编程紧密相关的目录结构:
a.CCStudio_v3.3\C6000\csl\include ---DSP6000常用头文件
b.CCStudio_v3.3\C6000\csl\lib ---DSP6000常用库文件
c.CCStudio_v3.3\C6000\cgtools\bin --各种编译工具
liliang9554 发表于 2019-2-15 09:01 | 显示全部楼层
我们要编写的程序结构:
a.含有main()函数的.c的源文件,而且这个文件的名字最好以main结尾
b.添加.cmd文件:内存的分配
c.添加.asm文件:中断向量表的文件
d.常用头文件:
e.常用库文件:
jiajs 发表于 2019-2-15 09:04 | 显示全部楼层

含有main()函数的.C的主文件的书写规范:
.c的源文件完整内容如下:

#include
//#include
#include //stdlib 头文件里包含了C语言的一些函数,该文件包含了的C语言标准库函数的定义

#include //调用CSL库函数头文件,CSL作用是用于配置、控制和管理DSP片上外设,C6000 DSP设计了自己的CSL库
#include //包含了C语言的一些符号常量
#include //CSL中配置中断请求的头文件
#include //CSL库函数中芯片配置头文件

#include "dm642.h" //dm642常用配置
#include "rtciic.h" //晶振总线配置,rtc即晶振,IIC即总线,
#include "eeprom.h" //EEPROM的配置,EEPROM (Electrically Erasable Programmable Read-Only Memory),电可擦可编程只读存储器--一种掉电后数据不丢失的存储芯片。
#include "io&led.h" //输入输出及led配置
#include "dm642_ide.h" //IDE接口配置,IDE(Integrated Drive Electronics),即电子集成驱动器,
#include "dm642_flash.h" //flash存储器配置
#include "dm642_uart.h" //通用异步收发传输器的配置,UART通常用在与其他通讯协定(如RS-232)的连结上
extern far void vectors(); //调用中断向量表
static GPIO_Handle hGpio; //GPIO句柄
zhanghqi 发表于 2019-2-15 09:07 | 显示全部楼层
void main()
{




DM642_init();


IRQ_globalDisable();
//Point to the IRQ vector table,指向中断向量表
IRQ_setVecs(vectors);

hGpio = GPIO_open(GPIO_DEV0,GPIO_OPEN_RESET);

GPIO_reset(hGpio);////GPIO复位

//GPIO_config(hGpio,&MyGPIOCfg),GPIO的配置;




GPIO_pinEnable(hGpio,GPIO_PIN15); //GPIO_PIN15管脚使能
GPIO_pinEnable(hGpio,GPIO_PIN4);
GPIO_pinEnable(hGpio,GPIO_PIN5);
GPIO_pinEnable(hGpio,GPIO_PIN6);
GPIO_pinEnable(hGpio,GPIO_PIN7);
GPIO_pinDirection(hGpio,GPIO_PIN15,GPIO_OUTPUT);//GPIO_PIN15管脚输出信号
GPIO_pinDirection(hGpio,GPIO_PIN4,GPIO_OUTPUT);
GPIO_pinDirection(hGpio,GPIO_PIN5,GPIO_OUTPUT);
GPIO_pinDirection(hGpio,GPIO_PIN6,GPIO_OUTPUT);
GPIO_pinDirection(hGpio,GPIO_PIN7,GPIO_OUTPUT);
while(1)
{
GPIO_pinWrite(hGpio,GPIO_PIN15,0); //输出0低电平,灯亮
DM642_waitusec(0x10000); //等待10000微妙,1秒=1000000微秒
GPIO_pinWrite(hGpio,GPIO_PIN15,1); //输出1高电平,灯灭
DM642_waitusec(0x10000);

GPIO_pinWrite(hGpio,GPIO_PIN4,0);
DM642_waitusec(0x10000);
GPIO_pinWrite(hGpio,GPIO_PIN4,1);
DM642_waitusec(0x10000);

GPIO_pinWrite(hGpio,GPIO_PIN5,0);
DM642_waitusec(0x10000);
GPIO_pinWrite(hGpio,GPIO_PIN5,1);
DM642_waitusec(0x10000);

GPIO_pinWrite(hGpio,GPIO_PIN6,0);
DM642_waitusec(0x10000);
GPIO_pinWrite(hGpio,GPIO_PIN6,1);
DM642_waitusec(0x10000);

GPIO_pinWrite(hGpio,GPIO_PIN7,0);
DM642_waitusec(0x10000);
GPIO_pinWrite(hGpio,GPIO_PIN7,1);
DM642_waitusec(0x10000); //这个程序是控制了GPIO15,GPIO4-7的高低电平
}
}
yszong 发表于 2019-2-15 09:10 | 显示全部楼层

.c的源文件编写规范如下:

a.首先引用头文件:头文件含有初始化设备的必要的接口函数,宏定义等
b.调用中断向量表:
c.static:不被编译器优化,常用于句柄的修饰
d.自定义的函数可放在main()的前面或后面。
外部函数:自己定义的函数,引用外部的文件定义的函数
内部函数:DSP6000内部定义了的函数就是内部函数
e.DSP6000中的数据格式一般为十六进制。
f.主要while循环---while(1),while(0)的区别
zhenykun 发表于 2019-2-15 09:13 | 显示全部楼层

.cmd文件要点讲解:

内存分配文件的源代码如下:
MEMORY
{
boot: o = 00000000h l = 000400h
L2 : o = 00000400h l = 0003fb00h
CE01: o = 80000000h l = 00100000h
CE02: o = 80100000h l = 00f000000h
}

SECTIONS
{
.boot_load > boot
.vecs > L2
.cinit > L2
.text > L2
.stack > L2
.bss > L2
.const > L2
.data > L2
.far > L2
.switch > L2
.sysmem > L2
.tables > L2
.cio > L2
.external > CE02
}
huangchui 发表于 2019-2-15 09:17 | 显示全部楼层
为什么是好多代码
 楼主| dengdc 发表于 2019-2-15 09:20 | 显示全部楼层
嗯,我再好好缕一缕吧,有了好消息及时通知大家,结贴喽
51xlf 发表于 2019-2-15 21:51 | 显示全部楼层
https://wenku.baidu.com/view/f0cd1d4c5f0e7cd185253632.html
i1mcu 发表于 2019-2-15 21:52 | 显示全部楼层
6000适合做大数据量信号处理
pmp 发表于 2019-2-15 21:52 | 显示全部楼层
市面上DSP6000系列的教程很少         
mmbs 发表于 2019-2-15 21:53 | 显示全部楼层
给TI 6000系列DSP初学者有这个文档   
1988020566 发表于 2019-2-15 21:53 | 显示全部楼层
建议买个简单的开发板,5000系列就可以
lzbf 发表于 2019-2-15 21:53 | 显示全部楼层
有TI C2000的基础,学习C6000应该不会太难了
houjiakai 发表于 2019-2-15 21:54 | 显示全部楼层
DSP做深入的话,涉及到的东西很多的,模电、数电
youtome 发表于 2019-2-15 21:54 | 显示全部楼层
使用的是哪个DSP芯片呢?           
cemaj 发表于 2019-2-15 21:54 | 显示全部楼层
就是CCS的教程吧            
jimmhu 发表于 2019-2-15 21:55 | 显示全部楼层
zhaoxqi 发表于 2019-2-15 08:58
CSS下和DSP6000编程紧密相关的目录结构:
a.CCStudio_v3.3\C6000\csl\include ---DSP6000常用头文件
b.CCSt ...

这个支持吗?                     
youtome 发表于 2019-2-15 21:55 | 显示全部楼层
程序的编写也不是很难的。               
您需要登录后才可以回帖 登录 | 注册

本版积分规则

892

主题

13885

帖子

7

粉丝
快速回复 在线客服 返回列表 返回顶部