TI中文支持网
TI专业的中文技术问题搜集分享网站

C6678 中断,汇编中断服务程序

你好:

   我首先新建了一个工程,在工程里添加了三个文件,分别为:link.cmd  ,boot.asm ,main.asm。link.cmd  里的内容如下:

–entry.point=RESET_RST

MEMORY

{

CEO:  o=0X80000000   l=0x10000000

L2SRAM:o=0X00800000 l=0x0000fc00

}

SECTIONS

{

.myboot     >  L2SRAM

.my program >L2SRAM

.cinit >L2SRAM

.pinit >L2SRAM

.text  >L2SRAM

.stack >L2SRAM

.bss >L2SRAM

.const >L2SRAM

.date >L2SRAM

.far >L2SRAM

.swith>L2SRAM

.sysmem >L2SRAM

.stack >L2SRAM

.tables >L2SRAM

.cio >L2SRAM

}

boot.asm 的内容如下:

.sect   ".myboot"

.ref    start

.global RESET_RST

RESET_RST:

MVKL .S2   start ,B3

MVKH .S2   start ,B3

B .S2  B3                ;跳转的main

NOP

NOP

…(多个NOP)

RESV1:(多个NOP)

RESV2:(多个NOP)

……….:

INT15:(多个NOP)

mian.asm 的内容如下:

.sect   ".myprogram"

.global start

start:

…….(给A0~A15,B0~B15写0)

MVC TSR ,B0

OR B0,0x00000001,B0

MVC B0,TSR                  ;给TSR.GIE 写1

MVC.S2 CSR,B9

OR.S2 B9,0X00000001,B9

MVC.S2 B9,CSR          ; 给CSR.GIE 写1

MVKL 0X00000203,B1

MVC B1,IER                   ;使能9号中断

MVKL 0X00000200,B1

MVC B1,ISR                   ;设置9号中断

NOP 2                             ;这里应该开始跳转到IST

MVC IFR,B4

NOP 5

所有程序都在这里,可以成功生成.out 文件,当我选择 C6678 Device Funtional simulator ,little Endian ,加载.out 文件时,可以正常跳转到9号中断,但当我选择Blackhawk xds560v2-USB mezzanine emulator 时,连接上C6678板子,加载.out文件时,则始终不能跳转到9号中断,不知道为什么?TSR.INT 位始终为0,如能指点一二,不甚感激!

Andy Yin:

您好,

汇编好强,赞一个!

请问为什么要这样写代码呢,而不直接基于CSL写C代码进行开发呢?

C66x集成了大量高效指令,直接使用C写代码就可以了,同时可以屏蔽掉上面相关中断寄存器的直接控制。

smitch jasom:

回复 Andy Yin:

你好,

        谢谢你的答复,我想,我的程序应该没有问题,因为选择C6678 Device Funtional simulator ,little Endian ,加载.out 文件时,可以正常跳转到9号中断。是不是,和C6678L板子的启动模式有关系,还是板子哪个地方有开关需要打开,才能响应中断?我查看了如下TSR.GIE,CSR.GIE,  IER ,ISR,   IFR ,都已经被正常设置了,就是CPU不能响应相关的中断,再麻烦高手你一下,帮我看看,跟硬件板子的设置,有没有关系?

Andy Yin:

回复 smitch jasom:

您好,

请确认在EVM板上调试时,是否选择了相应的gel文件运行。谢谢

smitch jasom:

回复 Andy Yin:

谢谢你,问题已解决,总算可以好好过元旦了,还有一个小问题,CCS5中为什么没有显示REP这个寄存器?但是资料中明明有啊?用MVC B4,REP也不报编译错误,可CCSV5中为什么找不到这个寄存器,我想查看它各位的值,该怎么查看呢?

Andy Yin:

回复 smitch jasom:

您好,

请问问题是怎么解决的,分享一下,谢谢

赞(0)
未经允许不得转载:TI中文支持网 » C6678 中断,汇编中断服务程序
分享到: 更多 (0)