|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
本帖最后由 cjsb37 于 2013-4-29 09:12 编辑
54xx关于C编程的基础!!!!!!!请教各位大峡!!!
1. 关于头文件
在TMS320F240 的C 语言中也有一个头文件C240.H 定义各个寄存器的名称,这里
摘录几条语句进行介绍。
比如:#define IMR((PORT)0x0004)
#define XINTI_CR((PORT) 0x07070)
IMR、XINT1_CR 就对应两个寄存器,实际是寄存器的地址,用高级语言的说法是指针。我
们也在程序的开始部分用#include“c240.h”语句将该文件包含进来。这样,在DSP 的C
语言中使用它们只需在前面加一个星号(*),例如,
*IMR=0X1010;/*将十六进制数1010H 赋给IMR 寄存器*/
*XINT1_CR=0X0A0B0;/*将十六进制数A0B0H 赋给XINT1_CR 寄存器*/
问题??????
[1]54XX的应该也是这样吧!!!!!!
谁有54XX的类似头文件????可以自己编写吗????
大家参考参考!!!!!!!!共同学习!!!!!文字
2.关于cmd文件
用汇编写的源程序,其.cmd文件看起来清晰明了!!.text 等各段在程序中就标明了,在存储器中的位置也知道了.如:
MEMORY
{
PAGE 0:
EPROM: org=0e000h, len=100h
PAGE 1:
SPRAM: org=0060h, len=20h
DARAM: org=0080h, len=100h
}
SECTIONS
{
.text :>EPROM PAGE 0
.data :>EPROM PAGE 0
.bss :>SPRAM PAGE 1
STACK :>DARAM PAGE 1
}
问题????[1]但在C编写的源文件它的.cmd文件是不是格式固定的???
[2]具体在存储器中是怎么存的????
如:MEMORY
{
PAGE 0: EPROG: origin = 0x1400, len = 0x7c00
VECT: origin = 0xff80, len = 0x80
PAGE 1: USERREGS: origin = 0x60, len = 0x1c
BIOSREGS: origin = 0x7c, len = 0x4
IDATA: origin = 0x80, len = 0x1380
EDATA: origin = 0x1400, len = 0x8000
EDATA1: origin = 0x9400, len = 0x4c00
}
SECTIONS
{
.vectors: {} > VECT PAGE 0
.sysregs: {} > BIOSREGS PAGE 1
.trcinit: {} > EPROG PAGE 0
.gblinit: {}> EPROG PAGE 0
frt: {} > EPROG PAGE 0
.text: {} > EPROG PAGE 0
.cinit: {} > EPROG PAGE 0
.pinit: {} > EPROG PAGE 0
.sysinit: {} > EPROG PAGE 0
.bss: {} > IDATA PAGE 1
.far: {} > IDATA PAGE 1
.const: {} > IDATA PAGE 1
.switch: {} > IDATA PAGE 1
.sysmem: {} > IDATA PAGE 1
.cio: {} > IDATA PAGE 1
.MEM$obj: {} > IDATA PAGE 1
.sysheap: {} > IDATA PAGE 1
.stack: {} > IDATA PAGE 1
}文字文字
|
|