龙芯俱乐部开源社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 1626|回复: 3

【龙芯相关】【08】龙芯中断系统

[复制链接]

57

主题

81

帖子

1万

积分

论坛元老

Rank: 8Rank: 8

积分
10364
发表于 2017-1-21 18:50:12 | 显示全部楼层 |阅读模式
心映真的空间
苦心励志 技术强国
让我们面对现实 让我们忠于理想
欢迎来到唐刚的首页

龙芯中断系统                        
龙芯相关 » 龙芯中断系统                        
                                                        
龙芯中断系统与x86中断系统完全不一样的。
CPU级中断(异常)支持
几个相关的寄存器有
SR (BEV, SR, NMI, IM7-0, ERL, EXL, IE)
Cause (IP7-0)
龙芯有6个硬件中断信号线,分别对应Cause寄存器的15~10(IP7~IP2)位,龙芯片上时钟(定时器)占用了最高位那一根信号线,即Cause中的IP7。
龙芯还有两个软件中断寄存器位,对应Cause的9~8(IP1~0)位,它们是可读可写的。
当外部一个中断信号来到的时候,首先影响的就是Cause寄存器中IP位,信号从哪根线进入就会把对应的IP7~IP2中的那个位置1。Cause的任何一个IP位被置1,就能够引发一个CPU异常,但是要实在地引发CPU异常,还需要通过SR状态寄存器中的某几个关卡。要使一个传入的中断信号一定能引发一个中断,需要对SR中的以下几个位做如下操作:
  • SR(IE 0位) 位必须置1, 否则会束缚CPU不响应任何中断,所以这位的名字叫全局中断全能位;
  • SR(EXL 1位) 和 SR(ERL 2位) 两位必须清零。如果它俩中的任何一位为1, 则会禁止任何中断。而且每一次中断(CPU异常)成功触发后,它们中的某一个会自动置1,所以要注意在一个异常结束前,要将这两位都清零一下;
  • 在SR状态寄存器中,还要8位掩码位 IM7~0(15位~8位),它们分别对应Cause中的那8位IP位(IP7~0),要想使某个IP位成功引发一个CPU异常,则那个IP位对应的IM位必须置1(表示掩码开)。相当于在这里又设置了一道关卡。由于8个通道有8个掩码,可以实现精确独立的信号响应控制,而这种控制是由软件在程序中实施的,所以给了程序员很大的方便。
板级中断结构
8259中断控制芯片
PCI中断机制

软件中断组织

中断产生时的寄存器位处理及子例程调用过程
                    

=====================================
这是一条神奇的小尾巴~~~~~

48

主题

257

帖子

4920

积分

新手上路

Rank: 1

积分
4920
发表于 2017-1-23 11:54:13 | 显示全部楼层
楼主用心了,赞!

1

主题

3

帖子

347

积分

中级会员

Rank: 3Rank: 3

积分
347
QQ
发表于 2017-9-22 09:53:05 | 显示全部楼层
楼主可以分享1b中断的小例程么 要是可以 我们写中断效率很高 谢谢 项目需要 希望楼主分享下

48

主题

257

帖子

4920

积分

新手上路

Rank: 1

积分
4920
发表于 2017-9-27 10:35:23 | 显示全部楼层
南农烧鸡 发表于 2017-9-22 09:53
楼主可以分享1b中断的小例程么 要是可以 我们写中断效率很高 谢谢 项目需要 希望楼主分享下 ...

rt-thread中有对1b的支持,https://github.com/RT-Thread/rt-thread
另外,“龙芯1c库”(https://gitee.com/caogos/OpenLoongsonLib1c)会找时间把中断加进去,这样裸机编程就so easy了。龙芯1c和1b类似,欢迎关注

《【龙芯1c库】龙芯1c的中断分析》http://blog.csdn.net/caogos/article/details/69948579
希望有所帮助
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|龙芯俱乐部开源社区  

GMT+8, 2020-4-4 19:04 , Processed in 0.201590 second(s), 39 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表