dsp+c语言字符串,一个简单的dsp-C语言例子

#include #define TRUE 1

#define pi 3.

int y[500],i;

float M;

void main()

{

puts("amplitude modulation sinewave example started.\n");

M = 50;

for(i = 0; i < 500; i++)

y[i] = 0;

while(TRUE)

{

for(i = 0; i < 500; i++)

y[i] = (int)((1 + M / 100 * sin(i * 2 * pi * 20 / 4000)) * sin(i * 2 * pi * 200 / 4000) * 16384);

puts("program end");

}

}

2.sin_am_v.asm (reset vector file)

.title "sin_am_v.asm"

.sect ".vectors"

.ref _c_int00

RESET:

B _c_int00

.end

3. sin_am.cmd

sin_am.obj

sin_am_v.obj

-m sin_am.map

-o sin_am.out

MEMORY

{

PAGE 0:

EPROG: origin = 0x1400, len = 0x7c00

VECT: origin = 0xff80, len = 0x80

PAGE 1:

USERREGS: origin = 0x60, len = 0x1c

IDATA: origin = 0x80, len = 0x3000

}

SECTIONS

{

.vectors: >VECT PAGE 0

.text: >EPROG PAGE 0

.cinit: >EPROG PAGE 0

.bss: >IDATA PAGE 1

.const: >IDATA PAGE 1

.switch: >IDATA PAGE 1

.system: >IDATA PAGE 1

.stack: >IDATA PAGE 1

}

"*.cmd"文件说明:

链接命令文件是实现对段的存储空间位置的定位,C语言程序中常用已初始化和未初始化段如下:

已初始化段包括:

.init 存放C程序中的变量的初值和常量,放在ROM和RAM中均可,一般属于PAGE 0

.const 存放C程序中的字符常量、浮点常量和用const声明的常量,放在ROM和RAM中均可,一般属于PAGE 1

.text 存放C程序代码,放在ROM和RAM中均可,一般属于PAGE 0

.switch 存放C程序中的语句的跳针表,放在ROM和RAM中均可,一般属于PAGE 0

未初始化段包括:

.bss 为C程序中的全局和静态变量保留存储空间,一般存放于RAM中,属于PAGE 1

.stack 为C程序系统堆栈保留存储空间,用于保存返回地址、函数间的参数传递、存储局部变量和保存中间结果,一般存放于RAM中,属于PAGE 1

.sysmem 用于C程序中malloc、calloc和realloc函数动态分配存储空间,一般存放于RAM中,属于PAGE 1

4.vary_M.gel

menuitem "Myfunctions"

slider vary_M(0, 100, 10, 1, Amount_of_modulation)

{

M = Amount_of_modulation;

}

该文件用于调试的时候可随意改变变量M的值,该文件通过file->load GEL File添加到工程中,调试的时候可选择GEL->My Functions->vary_M来打开vary_M滑动条组件。

5.rts.lib

此为C语言的标准支持库,添加路径\ti\c5400\cgtools\lib\rts.lib

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值