C6678 中断,中断服务程序

baoyipeng 2011-12-26 05:41:06
你好:

我首先新建了一个工程,在工程里添加了三个文件,分别为: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,如能指点一二,不甚感激!
...全文
514 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

27,375

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧