1. 编译工程的时候出现一个问题,如下

 specifies large memory model, which is not compatible with small memory

2. 修改工程设置如下,编译通过,好像是大小端的设置。

3. 代码如下,代码很简单,每次按键的时候,打印一句话,测试一下,疑问,怎么把引脚和中断对应起来的?

 void INTconfig()
{
/* Temporarily disable all maskable interrupts */ IRQ_setVecs((Uint32)(&VECSTART)); /* Temporarily disable all maskable interrupts */ old_intm = IRQ_globalDisable(); /* Get Event Id associated with External INT1(8019), for use with */
eventId0 = IRQ_EVT_INT0; /* Clear any pending INT1 interrupts */ IRQ_clear(eventId0); /* Place interrupt service routine address at */ /* associated vector location */ IRQ_plug(eventId0,&int1); /* Enable INT1(8019) interrupt */ IRQ_enable(eventId0); /* Enable all maskable interrupts */ IRQ_globalEnable();
} main()
{
/*初始化CSL库*/
CSL_init(); /*EMIF为全EMIF接口*/
CHIP_RSET(XBSR,0x0a01); /*设置系统的运行速度为144MHz*/
PLL_config(&myConfig); //设置并使能5509A芯片的INT0中断(EXINT中断)
INTconfig(); while();
} //External INT0(EXINT)中断处理函数
interrupt void int1()
{
printf("EXINT ouccers\n");
}

4. 看下按键引脚,看出来DSP是有专门的中断引脚,感觉没有STM32吊,STM32的普通GPIO都可以做中断引脚的啊。

5. 实际测试,发现指针跑飞了,下载完.out文件之后,指针指向这里,原因暂时不清楚,估计要研究研究了

6. VC5509A上电之后,首先从0xffff00处执行指令 .ivec 0xff8000,程序转入这里之后,0xff8000存放的是芯片内部固化的bootloader,bootloader根据外部引脚的高低电平选择启动模式。

突然出现一个问题,点击connecet连接目标板,CCS就自动关掉了。

之后开始进入C程序中断向量表,启动_c_int00函数,这个函数是在rts库里面的。

 _VECSTART:

         .ivec _c_int00,c54x_stk

7. 看下VC5509A的内存空间,DRAM在8000-10000的空间

对比下CMD文件,下面的好像是字地址,上面的是字节地址,所以需要乘以2,也就是说程序是直接放到RAM里面运行的,掉电会丢失的

 MEMORY
{
PAGE :
PROG0(RWX) : origin = 04000h length = 08000h
P_VECT(RIX) : origin = 00200h length = 00100h
PAGE :
DATA0(RW) : origin = 0C000h length = 04000h
}

8.

DSP5509的中断学习-第4篇的更多相关文章

  1. 【转】Linux 中断学习之小试牛刀篇

    原文网址:http://www.linuxidc.com/Linux/2011-02/32129.htm 前言 在前面分析了中断的基本原理后,就可以写一个内核中断程序来体验以下,也可以借此程序继续深入 ...

  2. DSP5509的GPIO学习-第5篇

    1. 使用CCS V6.1版本,目前已经不局限于仅仅把实验搞清楚了,要深入去探究内部的原理,本章看下GPIO实验 2. 在CCS启动的时候,提示,这个问题是什么,XDAIS是什么?XDAIS (eXp ...

  3. PHP学习笔记 - 进阶篇(10)

    PHP学习笔记 - 进阶篇(10) 异常处理 抛出一个异常 从PHP5开始,PHP支持异常处理,异常处理是面向对象一个重要特性,PHP代码中的异常通过throw抛出,异常抛出之后,后面的代码将不会再被 ...

  4. 一步步学习javascript基础篇(0):开篇索引

    索引: 一步步学习javascript基础篇(1):基本概念 一步步学习javascript基础篇(2):作用域和作用域链 一步步学习javascript基础篇(3):Object.Function等 ...

  5. 一步步学习javascript基础篇(3):Object、Function等引用类型

    我们在<一步步学习javascript基础篇(1):基本概念>中简单的介绍了五种基本数据类型Undefined.Null.Boolean.Number和String.今天我们主要介绍下复杂 ...

  6. Python3学习(3)-高级篇

    Python3学习(1)-基础篇 Python3学习(2)-中级篇 Python3学习(3)-高级篇 文件读写 源文件test.txt line1 line2 line3 读取文件内容 f = ope ...

  7. Python3学习(2)-中级篇

    Python3学习(1)-基础篇 Python3学习(2)-中级篇 Python3学习(3)-高级篇 切片:取数组.元组中的部分元素 L=['Jack','Mick','Leon','Jane','A ...

  8. Python3学习(1)-基础篇

    Python3学习(1)-基础篇 Python3学习(2)-中级篇 Python3学习(3)-高级篇 安装(MAC) 直接运行: brew install python3 输入:python3 --v ...

  9. ASP.NET MVC学习之过滤器篇(2)

    下面我们继续之前的ASP.NET MVC学习之过滤器篇(1)进行学习. 3.动作过滤器 顾名思义,这个过滤器就是在动作方法调用前与调用后响应的.我们可以在调用前更改实际调用的动作,也可以在动作调用完成 ...

随机推荐

  1. MVVM的核心:双向绑定

    MVVM 模式将 Presenter 改名为 ViewModel,基本上与 MVP 模式完全一致. 唯一的区别是,它采用双向绑定(data-binding):View的变动,自动反映在 ViewMod ...

  2. 安装最新版的wampserver,可以兼容php5和php7

    本文介绍的wamp是Windows+Apache+MySQL+PHP+phpMyAdmin,主要应用于开发环境[一键安装包,简单好用]. 这是运行在Windows系统下的官方安装包,可以快速的搭建属于 ...

  3. c++ 基础用法、基础知识以及一些常规的操作

    1.二叉平衡树:左子树和右子树的深度差小于等于1 2.二叉搜索树:左子树小于根节点的值,右子树大于根结点的值 3.队列:push(),pop(),front(),back(),empty(),size ...

  4. iframe父页调子页和子页调父页方法

    子页调用父页 window.parent.myChart.resize(); 父页调用子页 $("iframe")[0].contentWindow.myChart.resize( ...

  5. mac os 隐藏文件夹的小技巧

    无论是谁,电脑里总有些不想让人看到的内容,或是私密日记,或是某播下载的奇怪东西,对于这些东西当然是不想被人看到的.怎么办呢? 有人说了几种方法: 1. 改名字: 2. 把文件夹做成加密DMG: 3. ...

  6. OC变量命名禁忌

    OC变量命名禁忌 1.在NSString类不能定义变量名为description, 每个类都有 - (NSString *)description{} 这样一个get方法. 2.不能将变量的名称定义为 ...

  7. 上传组件uploadify在spring中返回406 / Not Acceptable 问题解决

    这个问题在chrome中正常.在火狐和ie中就会报这个错误. 原因就是chrome的accept是*/* 火狐和ie的accept是text/* 但是spring的accept清单中是没有text/* ...

  8. Knowledge Point 20180305 补位的两种方式

    我们都知道Java的基本数据类型内存中都有一个固定的位数(内存分配空间),如byte占8位,int占32位等.正因如此,当把一个低精度的数据类型转成一个高精度的数据类型时,必然会涉及到如何扩展位数的问 ...

  9. plsql误删除数据,提交事务后如何找回?

    select * from tbs_rep_template as of timestamp to_timestamp('2018-07-12 14:23:00', 'yyyy-mm-dd hh24: ...

  10. Oracle语句(一)之简单查询

    1.查询数据表的所有列: select * from 表名; 程序员正常用法:select 列名,列名... form 表名; 2.起别名: select 列名 [AS 别名],列名 别名...fro ...