1738|0

6807

帖子

0

TA的资源

五彩晶圆(高级)

楼主
 

TMS320C2X/C5X C语言程序开发举例 [复制链接]

以TMS320C2X为例,说明定点DSP芯片C程序的开发过程。软件开发过程与浮点DSP芯片的开发过程相类似,主要分以下几个步骤:
        1.  用编辑器(如EDIT、PE2等)编辑一个或多个C程序,如example1.c,example2.c。
        2.  用一步编译程序dspcl.exe对C程序编译汇编形成目标文件,如example1.obj,example2.obj:
dspcl_v25_g_mn_o2 example1.c
dspc_v25_g_mn_o2 example2.c
复制代码

        命令选项中的_v25表示是TMS320C2X,若是TMS320C5X,则选项为_v50。
        3.  根据实际应用编辑一个链接命令文件,如example.cmd。下面是一个典型的TMS320C25的链接命令文件:
        例2.3  TMS320C25链接命令文件
example.cmd                         /* 命令文件名*/
-c                                  /*ROM初始化*/
-o example.out                        /*输出文件名为example.out*/
-m example.map                       /*同时产生映象文件example.map*/
example1.obj                         /*第一个C目标文件*/
example2.obj                         /*第二个C目标文件*/
-l rts25.lib                            /*链入TMS320C25运行支持库*/
-l flib25.lib                           /*链入TMS320C25浮点库*/
MEMORY
PAGE0:VECS:  origin=0h  len=30h
PAGE0:PROG:  orgin=30h  len=0EFDOh    /*程序空间*/
PAGE1:DATA:  origin=800h  len=OE800h    /*数据空间*/
SECTIONS
vecs:{}>VECS                            /*中断矢量*/
.text:{}>PROG PAGE0                     /*代码*/
.cinit:{}> PROG PAGE0                    /*C初始化表*/
.switch:{}>PROG PAGE0                   /*switch语句表*/
.bss:{}>DATA PAGE1                      /*变量*/
.const:{}>DATA PAGE1                    /*常数变量*/
.stack:{}>DATA PAGE1                    /*系统堆栈*/
.sysmem:{}>DATA PAGE1                  /*动态存储器*/
复制代码

        4.  链接形成example.out:
dsplnk example.cmd
复制代码

        5.  用C源码调试器进行调试(模拟器、硬件仿真器等)。
        例2.4  用C语言编写一个TMS320C5X的输入输出程序,并用simulator进行调试。
/*本程序是TMS320C5X的一个I/O口输入和输出程序,程序从I/O口地址0x0读人8位数据并存人数组中,同时将另一数组的数值写至I/O口地址0x1*/
#include  "ioports.h"            /*包含ioports.h头文件*/
#define  RD_PORT  Ox00;      /*定义输入I/O口*/
#define  WR_PORT  Ox01;      /*定义输出I/O口*/
1nt indata[5],outdata[5];            /*定义全局数组*/
main()
int i;
for(i=0;i<5;i++) outdata=i<<2;     /*初始化outdata数组*/
for(i=0;i<5;i++)                  /*循环5次*/
inport(RD_PORT,&indata);       /*读I/O口*/
outport(WR_PORT,outdata);       /*写I/O口*/
复制代码

        用TMS320C5X  simulator调试I/O口时,将I/O口与一文件相关联。这里我们建立两个文件RD.DAT和WR.DAT,并将RD.DAT文件初始化为:
0x0011
0x0022
0x0033
0x0044
0x0055
复制代码

        上述程序运行结束后,可以观察数组indata及文件WR.DAT。正确的结果应为indata[5]={0x11,0x22,0x33,0x44,0x55},文件WR.DAT应为
0x0000
0x0004
0x0008
0x00C0
0x0010

点赞 关注
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表