打印

DM6446 ARM端CCS调试中断描述

[复制链接]
4297|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Alex_lyf|  楼主 | 2010-3-31 20:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 Alex_lyf 于 2010-4-1 14:55 编辑

ARM Subsystem.pdf (1.05 MB) 出于兴趣,我正尝试着把uc/os-II移植到tms320dm6446平台,我想将自己在移植过程中遇到的问题向大家请教。问题如下:
    TI的Davinci tms320dm6446集成了ARM(ARM926EJ)与DSP核,我的目的是让uc/os-II能运行在DM6446的ARM端。我的开发环境是CCS3.3,到目前为止我已经做了大部分工作,能实现任务切换。但如何实现Timer0中断让我很困惑,希望能得到您的帮助。
    DM6446 ARM端中断控制器:
- 支持64个中断源
  - 每个中断源可分别使能
- 每个中断源可通过设置优先级成为两种中断类型(FIQ与IRQ)之一
- 中断优先级可由用户自定义。中断优先级共有8级,若中断优先级为(0x2-0x7),则ARM核将进入IRQ模式,           若中断优先级为(0x0-0x1)则ARM核将进入FIQ模式。
   我将Timer0中断优先级设为0x2,因此其中断类型为IRQ,然后使能Timer0中断,屏蔽其他所用中断。当Timer0中断产后,ARM核将接收到来自Timer0的IRQ中断请求,与此同时,Timer0中断的用户中断服务子程序的入口地址将自动产生,并保存在ENTRY寄存器(可见技术手册ARM Subsystem.pdf),接着IRQ中断服务程序将从ENTRY寄存器中读取用户中断
子程序的地址并直接跳转到该地址执行用户中断服务子程序。上述过程都是硬件自动完成的,用户需要干涉的仅限于:
1、中断使能
2、中断优先级设置
3、产生用户中断服务子程序的入口地址的基地址  
   在我的程序中,我可以确定Timer0中断已经产生,并且自动生成了用户中断服务子程序的入口地址:0x80000420。为了最终能让我的Timer0中断服务程序TimerOneTick()能运行起来,我在CCS下修改了.cmd并编写了一段汇编程序如下:我的目的是想在0x80000420地址处放一条跳转指令,好让我的程序TimerOneTick()能运行起来。cmd文件:
-lrts32earm9.lib
-stack          0x00000800      /* Stack Size */
-heap           0x00000800      /* Heap Size */
MEMORY
{
  IRAM:       o = 0x00000000 , l = 0x00004000
  DRAM:       o = 0x00008000 , l = 0x00004000
  AEMIF:      o = 0x02000000 , l = 0x02000000   /*32M*/
  VECT:       o = 0x80000420 , l = 0x00003000
  DDR2:       o = 0x80004000 , l = 0x0FFFC000   /*256M*/
}
SECTIONS
{
    .vector     >   VECT
    .bss        >   DDR2
    .cinit      >   DDR2
    .cio        >   DDR2
    .const      >   DDR2
    .stack      >   DDR2
    .sysmem     >   DDR2
    .text       >   DDR2
    .ddr2       >   DDR2
}
汇编程序:
.ref _TimerOneTick
.sect  ".vector"
  b _TimerOneTick
.end
但事与愿违,我的TimerOneTick()程序始终都没有运行起来,不知道这中间的问题何在?请赐教。(感谢你读完了这篇描述,我深表感激)

相关帖子

沙发
Alex_yucan| | 2010-6-14 20:32 | 只看该作者
你好!我遇到了和你一样的问题,我要处理的中断是0号中断,我发现ENTRY寄存器只是低29位有效,而中断服务子程序的入口地址是32位。不知你搞定这个问题没有,在下虚心向你请教。

使用特权

评论回复
板凳
yanjy0205| | 2011-3-9 11:46 | 只看该作者
你好你们的问题解决了吗,小弟搞了好久也没能搞明白,两位高手能指点下吗。我的QQ:85676629

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

15

主题

55

帖子

0

粉丝