打印
[DSP编程]

28335进入中断后给片选空间赋值

[复制链接]
1734|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
TLZme|  楼主 | 2013-9-13 20:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
主要代码如下,为什么我把  *ExRamStart=i  注释掉之后就可以进入中断函数,可以仿真运行,LED闪烁正常;而未注释掉就不能进入中断函数了,仿真运行时软件卡死?


Uint16    *ExRamStart = (Uint16 *)0x274000;//操作地址
Uint16 i=0x00;                             //变量

interrupt void ISRTimer0(void)             //定时器0中断函数
{
    CpuTimer0.InterruptCount++;
    PieCtrlRegs.PIEACK.all = PIEACK_GROUP1;
    CpuTimer0Regs.TCR.bit.TIF=1;      
    CpuTimer0Regs.TCR.bit.TRB=1;

        LED1=~LED1;                  //指示灯
           
       

                i++;
                if(i==0x3f)
                {
                        i=0x00;
                }

        //        *ExRamStart=i;       // 在这个地址中写入变量i

}

相关帖子

沙发
TLZme|  楼主 | 2013-9-13 20:41 | 只看该作者
求指点啊

使用特权

评论回复
板凳
TLZme|  楼主 | 2013-9-15 22:21 | 只看该作者
:L木人顶……

使用特权

评论回复
地板
zhangmangui| | 2013-9-16 09:01 | 只看该作者
确实很奇怪  你查查这个地址是不是冲突了
中断肯定没问题   你设置硬件断点  
根本进不去吗

使用特权

评论回复
评分
参与人数 1威望 +2 收起 理由
TLZme + 2
5
TLZme|  楼主 | 2013-9-16 15:07 | 只看该作者
zhangmangui 发表于 2013-9-16 09:01
确实很奇怪  你查查这个地址是不是冲突了
中断肯定没问题   你设置硬件断点  
根本进不去吗 ...

能进去一次 ,就跳不出来了,  是不是 *ExRamStart=i;这句有问题啊……

使用特权

评论回复
6
zhangmangui| | 2013-9-16 15:45 | 只看该作者
TLZme 发表于 2013-9-16 15:07
能进去一次 ,就跳不出来了,  是不是 *ExRamStart=i;这句有问题啊……

那就要看看你写的这个地址是否做了不合法的修改

使用特权

评论回复
评分
参与人数 1威望 +2 收起 理由
TLZme + 2
7
TLZme|  楼主 | 2013-9-16 16:52 | 只看该作者
zhangmangui 发表于 2013-9-16 15:45
那就要看看你写的这个地址是否做了不合法的修改

我想每秒改变一次这个地址 0x274000 里的数据一次 , 只在 Uint16    *ExRamStart = (Uint16 *)0x274000;这里 和 *ExRamStart=i 这里用了这个指针,其他地方没用……  应该没修改吧?  是不是我的用法有问题啊?

使用特权

评论回复
8
zhangmangui| | 2013-9-16 18:45 | 只看该作者
TLZme 发表于 2013-9-16 16:52
我想每秒改变一次这个地址 0x274000 里的数据一次 , 只在 Uint16    *ExRamStart = (Uint16 *)0x274000; ...

我的意思是看看这个地址274000是否合理   

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
TLZme + 1 赞一个!
9
TLZme|  楼主 | 2013-9-17 16:54 | 只看该作者
本帖最后由 TLZme 于 2013-9-17 16:55 编辑
zhangmangui 发表于 2013-9-16 18:45
我的意思是看看这个地址274000是否合理

  CMD里PAGE 0 里有
  ZONE7A     : origin = 0x200000, length = 0x00FC00
跟这个有关系吗?
274000是我从200000这个片选分出来的

使用特权

评论回复
10
zhangmangui| | 2013-9-17 17:47 | 只看该作者
TLZme 发表于 2013-9-17 16:54
CMD里PAGE 0 里有
  ZONE7A     : origin = 0x200000, length = 0x00FC00
跟这个有关系吗?

origin = 0x200000, length = 0x00FC00
这个相加也不是你指的这个地址吧
你再
查查274000

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
TLZme + 1
11
TLZme|  楼主 | 2013-9-18 15:32 | 只看该作者
zhangmangui 发表于 2013-9-17 17:47
origin = 0x200000, length = 0x00FC00
这个相加也不是你指的这个地址吧
你再

查来查去,没其他地方用到这个地址,cmd里的zone7a和zone7b我可以删除吧?我用的cs7 译码出的地址都是控制一些器件,我用的cs6接的ram……
我用cs7,wr和a14~a18译码出一个地址274000控制几个led,通过定时器里的变量控制led的闪烁的……
有可能是我译码有问题,你有什么cpld译码的例子吗?

使用特权

评论回复
12
zhangmangui| | 2013-9-20 12:27 | 只看该作者
TLZme 发表于 2013-9-18 15:32
查来查去,没其他地方用到这个地址,cmd里的zone7a和zone7b我可以删除吧?我用的cs7 译码出的地址都是控 ...

zone7应该是外扩RAM或flash   cpld的译码代码你拿到板子的厂家没给你吗   你最好要到他们的
你也可以去我分享的这里看看   有对于TI的一些EVM板的cpld代码
https://bbs.21ic.com/icview-553378-1-1.html

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
TLZme + 1
13
TLZme|  楼主 | 2013-9-22 19:32 | 只看该作者

使用特权

评论回复
14
zhangmangui| | 2013-9-22 22:44 | 只看该作者
TLZme 发表于 2013-9-22 19:32
谢谢回答!还是搞不定这是另一个版主的回答;需要的朋友看看

谢谢   大家可能对你的问题理解的不是很清楚   还望你在研究一下
解决了给大家分享一下

使用特权

评论回复
15
yangmiao0223| | 2013-9-23 09:17 | 只看该作者
zhangmangui 版主讲的很对啊   你的外扩芯片 有那么大的容量么   定义在了0x274000
查查cpld译码  

使用特权

评论回复
16
yangmiao0223| | 2013-9-23 09:18 | 只看该作者
你这么直接对地址赋值  跟cmd一点关系也没有。。。。

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
TLZme + 1
17
qh2277341087| | 2013-10-12 19:25 | 只看该作者
看看

使用特权

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

本版积分规则

11

主题

146

帖子

2

粉丝