新建
上传
首页
助手
最?/div>
资料?/div>
工具

DSP28335

?/p>

CMD

解读?/p>

1

?/p>

 

?/p>

DSP28335

工程文件里(不用

BIOS

产生

CMD

文件),手写

CMD

文件一般有两个,在

RAM

里调试时

用的两个

CMD

文件分别?/p>

DSP2833x_Headers_nonBIOS.cmd

?/p>

28335_RAM_lnk.cmd

?/p>

烧写?/p>

flash

里时?/p>

的两?/p>

CMD

文件分别?/p>

DSP2833x_Headers_nonBIOS.cmd

?/p>

F28335.cmd

,其?

DSP2833x_Headers_nonBIOS.cmd

文件可以在所有工程文件中通用?/p>

主要作用是把外设寄存器产生的数据?/p>

映射到对应的存储空间,可以跟

DSP2833x_GlobalVariableDefs.c

文件对照一下看看。下面通过一个简单例

子,

比如?/p>

CpuTimer0Regs. TIM.all

写数据,

来解读一?/p>

CMD

文件是如何把寄存器里的值准确映射到所?/p>

存储器的位置的?/p>

 

先在

DSP2833x_GlobalVariableDefs.c

文件里找到以下几行代码:

 

#ifdef __cplusplus 

#pragma DATA_SECTION("CpuTimer0RegsFile") 

#else 

#pragma DATA_SECTION(CpuTimer0Regs,"CpuTimer0RegsFile"); 

#endif 

volatile struct CPUTIMER_REGS CpuTimer0Regs; 

由上可知

CpuTimer0Regs

是一个结构体变量?/p>

(其定义?/p>

DSP2833x_CpuTimers.c

文件里)

?/p>

通过预处理命

?/p>

#pragma 

为这个结构体定义了一个名称为

CpuTimer0RegsFile

的数据段?/p>

 

接着?/p>

DSP2833x_Headers_nonBIOS.cmd

文件里找到如下代码:

 

SECTIONS 

{ 

   PieVectTableFile : > PIE_VECT,   PAGE = 1 

 

   DevEmuRegsFile    : > DEV_EMU,     PAGE = 1 

   FlashRegsFile     : > FLASH_REGS,  PAGE = 1 

   CsmRegsFile       : > CSM,         PAGE = 1 

   AdcMirrorFile     : > ADC_MIRROR,  PAGE = 1 

   XintfRegsFile     : > XINTF,       PAGE = 1 

   

CpuTimer0RegsFile : > CPU_TIMER0,  PAGE = 1

 

...... 

} 

红字体代码的作用就是,通过

SECTIONS

伪指令把

CpuTimer0RegsFile

数据段装载到名称?/p>

CPU_TIMER0

的存储空间?/p>

 

 

同样?/p>

DSP2833x_Headers_nonBIOS.cmd

文件里找到如下代码:

 

MEMORY 

{ 

 PAGE 0:   

 

 PAGE 1:    

  

   DEV_EMU     : origin = 0x000880, length = 0x000180     

   FLASH_REGS  : origin = 0x000A80, length = 0x000060     

Ͼλ
新建
上传
首页
助手
最?/div>
资料?/div>
工具

DSP28335

?/p>

CMD

解读?/p>

1

?/p>

 

?/p>

DSP28335

工程文件里(不用

BIOS

产生

CMD

文件),手写

CMD

文件一般有两个,在

RAM

里调试时

用的两个

CMD

文件分别?/p>

DSP2833x_Headers_nonBIOS.cmd

?/p>

28335_RAM_lnk.cmd

?/p>

烧写?/p>

flash

里时?/p>

的两?/p>

CMD

文件分别?/p>

DSP2833x_Headers_nonBIOS.cmd

?/p>

F28335.cmd

,其?

DSP2833x_Headers_nonBIOS.cmd

文件可以在所有工程文件中通用?/p>

主要作用是把外设寄存器产生的数据?/p>

映射到对应的存储空间,可以跟

DSP2833x_GlobalVariableDefs.c

文件对照一下看看。下面通过一个简单例

子,

比如?/p>

CpuTimer0Regs. TIM.all

写数据,

来解读一?/p>

CMD

文件是如何把寄存器里的值准确映射到所?/p>

存储器的位置的?/p>

 

先在

DSP2833x_GlobalVariableDefs.c

文件里找到以下几行代码:

 

#ifdef __cplusplus 

#pragma DATA_SECTION("CpuTimer0RegsFile") 

#else 

#pragma DATA_SECTION(CpuTimer0Regs,"CpuTimer0RegsFile"); 

#endif 

volatile struct CPUTIMER_REGS CpuTimer0Regs; 

由上可知

CpuTimer0Regs

是一个结构体变量?/p>

(其定义?/p>

DSP2833x_CpuTimers.c

文件里)

?/p>

通过预处理命

?/p>

#pragma 

为这个结构体定义了一个名称为

CpuTimer0RegsFile

的数据段?/p>

 

接着?/p>

DSP2833x_Headers_nonBIOS.cmd

文件里找到如下代码:

 

SECTIONS 

{ 

   PieVectTableFile : > PIE_VECT,   PAGE = 1 

 

   DevEmuRegsFile    : > DEV_EMU,     PAGE = 1 

   FlashRegsFile     : > FLASH_REGS,  PAGE = 1 

   CsmRegsFile       : > CSM,         PAGE = 1 

   AdcMirrorFile     : > ADC_MIRROR,  PAGE = 1 

   XintfRegsFile     : > XINTF,       PAGE = 1 

   

CpuTimer0RegsFile : > CPU_TIMER0,  PAGE = 1

 

...... 

} 

红字体代码的作用就是,通过

SECTIONS

伪指令把

CpuTimer0RegsFile

数据段装载到名称?/p>

CPU_TIMER0

的存储空间?/p>

 

 

同样?/p>

DSP2833x_Headers_nonBIOS.cmd

文件里找到如下代码:

 

MEMORY 

{ 

 PAGE 0:   

 

 PAGE 1:    

  

   DEV_EMU     : origin = 0x000880, length = 0x000180     

   FLASH_REGS  : origin = 0x000A80, length = 0x000060     

">
新建
上传
首页
助手
最?/div>
资料?/div>
工具

DSP28335

?/p>

CMD

解读?/p>

1

?/p>

 

?/p>

DSP28335

工程文件里(不用

BIOS

产生

CMD

文件),手写

CMD

文件一般有两个,在

RAM

里调试时

用的两个

CMD

文件分别?/p>

DSP2833x_Headers_nonBIOS.cmd

?/p>

28335_RAM_lnk.cmd

?/p>

烧写?/p>

flash

里时?/p>

的两?/p>

CMD

文件分别?/p>

DSP2833x_Headers_nonBIOS.cmd

?/p>

F28335.cmd

,其?

DSP2833x_Headers_nonBIOS.cmd

文件可以在所有工程文件中通用?/p>

主要作用是把外设寄存器产生的数据?/p>

映射到对应的存储空间,可以跟

DSP2833x_GlobalVariableDefs.c

文件对照一下看看。下面通过一个简单例

子,

比如?/p>

CpuTimer0Regs. TIM.all

写数据,

来解读一?/p>

CMD

文件是如何把寄存器里的值准确映射到所?/p>

存储器的位置的?/p>

 

先在

DSP2833x_GlobalVariableDefs.c

文件里找到以下几行代码:

 

#ifdef __cplusplus 

#pragma DATA_SECTION("CpuTimer0RegsFile") 

#else 

#pragma DATA_SECTION(CpuTimer0Regs,"CpuTimer0RegsFile"); 

#endif 

volatile struct CPUTIMER_REGS CpuTimer0Regs; 

由上可知

CpuTimer0Regs

是一个结构体变量?/p>

(其定义?/p>

DSP2833x_CpuTimers.c

文件里)

?/p>

通过预处理命

?/p>

#pragma 

为这个结构体定义了一个名称为

CpuTimer0RegsFile

的数据段?/p>

 

接着?/p>

DSP2833x_Headers_nonBIOS.cmd

文件里找到如下代码:

 

SECTIONS 

{ 

   PieVectTableFile : > PIE_VECT,   PAGE = 1 

 

   DevEmuRegsFile    : > DEV_EMU,     PAGE = 1 

   FlashRegsFile     : > FLASH_REGS,  PAGE = 1 

   CsmRegsFile       : > CSM,         PAGE = 1 

   AdcMirrorFile     : > ADC_MIRROR,  PAGE = 1 

   XintfRegsFile     : > XINTF,       PAGE = 1 

   

CpuTimer0RegsFile : > CPU_TIMER0,  PAGE = 1

 

...... 

} 

红字体代码的作用就是,通过

SECTIONS

伪指令把

CpuTimer0RegsFile

数据段装载到名称?/p>

CPU_TIMER0

的存储空间?/p>

 

 

同样?/p>

DSP2833x_Headers_nonBIOS.cmd

文件里找到如下代码:

 

MEMORY 

{ 

 PAGE 0:   

 

 PAGE 1:    

  

   DEV_EMU     : origin = 0x000880, length = 0x000180     

   FLASH_REGS  : origin = 0x000A80, length = 0x000060     

Ͼλ">
Ͼλ
Ŀ

DSP28335—CMD文件解读(映射关系) - 百度文库
新建
上传
首页
助手
最?/div>
资料?/div>
工具

DSP28335

?/p>

CMD

解读?/p>

1

?/p>

 

?/p>

DSP28335

工程文件里(不用

BIOS

产生

CMD

文件),手写

CMD

文件一般有两个,在

RAM

里调试时

用的两个

CMD

文件分别?/p>

DSP2833x_Headers_nonBIOS.cmd

?/p>

28335_RAM_lnk.cmd

?/p>

烧写?/p>

flash

里时?/p>

的两?/p>

CMD

文件分别?/p>

DSP2833x_Headers_nonBIOS.cmd

?/p>

F28335.cmd

,其?

DSP2833x_Headers_nonBIOS.cmd

文件可以在所有工程文件中通用?/p>

主要作用是把外设寄存器产生的数据?/p>

映射到对应的存储空间,可以跟

DSP2833x_GlobalVariableDefs.c

文件对照一下看看。下面通过一个简单例

子,

比如?/p>

CpuTimer0Regs. TIM.all

写数据,

来解读一?/p>

CMD

文件是如何把寄存器里的值准确映射到所?/p>

存储器的位置的?/p>

 

先在

DSP2833x_GlobalVariableDefs.c

文件里找到以下几行代码:

 

#ifdef __cplusplus 

#pragma DATA_SECTION("CpuTimer0RegsFile") 

#else 

#pragma DATA_SECTION(CpuTimer0Regs,"CpuTimer0RegsFile"); 

#endif 

volatile struct CPUTIMER_REGS CpuTimer0Regs; 

由上可知

CpuTimer0Regs

是一个结构体变量?/p>

(其定义?/p>

DSP2833x_CpuTimers.c

文件里)

?/p>

通过预处理命

?/p>

#pragma 

为这个结构体定义了一个名称为

CpuTimer0RegsFile

的数据段?/p>

 

接着?/p>

DSP2833x_Headers_nonBIOS.cmd

文件里找到如下代码:

 

SECTIONS 

{ 

   PieVectTableFile : > PIE_VECT,   PAGE = 1 

 

   DevEmuRegsFile    : > DEV_EMU,     PAGE = 1 

   FlashRegsFile     : > FLASH_REGS,  PAGE = 1 

   CsmRegsFile       : > CSM,         PAGE = 1 

   AdcMirrorFile     : > ADC_MIRROR,  PAGE = 1 

   XintfRegsFile     : > XINTF,       PAGE = 1 

   

CpuTimer0RegsFile : > CPU_TIMER0,  PAGE = 1

 

...... 

} 

红字体代码的作用就是,通过

SECTIONS

伪指令把

CpuTimer0RegsFile

数据段装载到名称?/p>

CPU_TIMER0

的存储空间?/p>

 

 

同样?/p>

DSP2833x_Headers_nonBIOS.cmd

文件里找到如下代码:

 

MEMORY 

{ 

 PAGE 0:   

 

 PAGE 1:    

  

   DEV_EMU     : origin = 0x000880, length = 0x000180     

   FLASH_REGS  : origin = 0x000A80, length = 0x000060     



ļ׺.doc޸Ϊ.docĶ

  • ѧϰز
  • 𰸰汾-Ϣϵͳʱ֪ʶ
  • HF720˵
  • 2018-2019ѧѧʦ꼶²¡ԲB
  • Сѧⳣͻ
  • ŻվϵͳĿƷ
  • XXֹƶ2018
  • ϰ⼰
  • 3.̴ -
  • ˾Ч˿γƱ

վ

԰ Ͼλ
ϵͷ779662525#qq.com(#滻Ϊ@) ICP20003344-4