0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

龙芯2k1000的中断处理逻辑

嵌入式IoT 来源:嵌入式IoT 作者:嵌入式IoT 2021-01-07 10:41 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

龙芯2k1000的中断设计

1.前言

2.龙芯2k1000的中断描述

2.1 mips设计上的通用中断处理

2.2 龙芯中断的设计

3.龙芯2k1000中断的产生与处理

4.龙芯2k1000中断处理概述

1.前言

中断与异常在任何体系架构的芯片上都不会完全一样。在arm的m系列芯片上需要理解NVIC,这个相对较为容易,而对于高端一些的芯片,中断的处理就会复杂许多。比如arm上的gic(Generic Interrupt Controller)。要使用好GIC则需要专门去读这个外设的手册,然后写中断控制。对于MIPS中断控制的处理流程,就是本文描述的重点。

2.龙芯2k1000的中断描述

龙芯2k1000最多支持64个中断的触发源,按照统一方式进行管理。

1cdd4ae6-5074-11eb-8b86-12bb97331649.png

这64个中断控制器通过可以配置的中断路由可以分配到CPU0与CPU1中。

在这64个中断中又需要按照需要路由到4个队列上。

2.1 mips设计上的通用中断处理

在MIPS的中断设计上,MIPS CPU会设计8个独立中断位。

1d30c07c-5074-11eb-8b86-12bb97331649.png

其中,6个外部中断(IP2 ~ IP7),2个软中断(IP0~IP1)。片上的计数器/定时器会连接到一个硬件中断位上去。

2.2 龙芯中断的设计

对于对于每个核上的IP0~IP3,其对应的是 CP0_Status 的 IP2 到 IP5。IP7用于定时器中断。

1d68b180-5074-11eb-8b86-12bb97331649.png

在中断设计这一块,这64个中断又可以分为低32位与高32位,对于低32位可以将每个中断路由到CPU0,Mailbox0,也就是对应IP2。对于高32位,可以将每个中断路由到CPU0,Mailbox0,也就是对应IP3。

1d99b528-5074-11eb-8b86-12bb97331649.png

根据上述的寄存器配置每个中断的路由即可。

3.龙芯2k1000中断的产生与处理

rt-thread上,将异常处理向量表通过链接脚本放到代码段的头部。

1dc9b732-5074-11eb-8b86-12bb97331649.png

然后通过写中断向量表地址到向量基地址寄存器中。

1df38ddc-5074-11eb-8b86-12bb97331649.png

如果有中断发生,则可以跳转到中断向量表去执行相关的中断处理程序。

MIPS上的中断处理可以读取c0 cause寄存器,得到mips发生中断或者异常的原因。

因为此时MIPS还只有7个中断信息,需要再次读取龙芯中断控制器的中断,才能准确的得到中断产生的原因。

1e1f4a44-5074-11eb-8b86-12bb97331649.png

最后可以通过rt-thread的中断处理的回调函数处理具体的中断信息。

4.龙芯2k1000中断处理概述

龙芯2k1000利用mips上的8个中断位,自己添加了一个中断控制器,该中断控制器可以配置中断的路由方式,比如让其路由到CPU0或者CPU1上,并且可以指定每个中断路由到具体的mailbox上。

根据mailbox的设计,当中断发生时首先通过mips上的c0 casue大致确定其中断的原因,接着通过龙芯2k1000的中断控制器,读取状态从而分析得到具体的外设中断。

上述则是龙芯2k1000中断处理逻辑。

责任编辑:xj

原文标题:龙芯2k1000的中断设计

文章出处:【微信公众号:嵌入式IoT】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    462

    文章

    53538

    浏览量

    459155
  • 龙芯
    +关注

    关注

    3

    文章

    409

    浏览量

    32556
  • 中断
    +关注

    关注

    5

    文章

    913

    浏览量

    43565
  • 2K1000
    +关注

    关注

    0

    文章

    21

    浏览量

    818

原文标题:龙芯2k1000的中断设计

文章出处:【微信号:Embeded_IoT,微信公众号:嵌入式IoT】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    喜讯 | 眺望电子2K3000工控系列入选龙芯中科伙伴产品

    电子同时,眺望电子2K3000系列的核心板,工控板和工控机也成功入选龙芯2K3000芯片在工控应用领域的首款伙伴产品,为工控嵌入式市场用户提供最新的方案选择与应用落
    的头像 发表于 07-25 08:31 746次阅读
    喜讯 | 眺望电子<b class='flag-5'>2K</b>3000工控系列入选<b class='flag-5'>龙芯</b>中科伙伴产品

    龙芯教育生态论坛圆满收官

    近日,龙芯机器人(采用龙芯2K0300处理器)与宇树机器人(采用龙芯2K3000
    的头像 发表于 07-02 18:09 954次阅读

    迅龙软件受邀参加2025龙芯产品发布暨用户大会,发布基于龙芯2K3000的OrangePi Nova

    2025年6月26日,2025龙芯产品发布暨用户大会在北京·中关村国际创新中心举行,龙芯合作伙伴、专家学者、权威媒体等齐聚大会,共同见证龙芯新产品及合作伙伴基于龙芯
    的头像 发表于 06-26 17:01 1519次阅读
    迅龙软件受邀参加2025<b class='flag-5'>龙芯</b>产品发布暨用户大会,发布基于<b class='flag-5'>龙芯</b><b class='flag-5'>2K</b>3000的OrangePi Nova

    龙芯2K3000 | 重塑工控嵌入式处理器性能边界

    【前言】当ARM架构长期主导工控嵌入式领域,一场新的自主核心硬件革命正蓄势待发!龙芯中科新一代高集成处理龙芯2K3000即将震撼登场——以100%自主LoongArch架构为基石,融
    的头像 发表于 06-19 08:32 1550次阅读
    <b class='flag-5'>龙芯</b><b class='flag-5'>2K</b>3000 | 重塑工控嵌入式<b class='flag-5'>处理</b>器性能边界

    龙芯2K0300-I工业级核心板,4个CANFD,双千兆以太网,10个串口,LCD显示

    格欣以龙芯低功耗微处理器芯片LS2K0300-I设计的工业级核心板模块在面向市场发布以后,受到广泛关注。 LS2K0300-I是1GHZ LA264单核64位工业级微
    发表于 04-19 18:10

    龙芯2K3000/3B6000M处理器流片成功

    近日,龙芯2K3000(3B6000M)完成初步功能和性能摸底,各项指标符合预期。龙芯2K3000和龙芯3B6000M是基于相同硅片的不同封
    的头像 发表于 04-07 15:32 928次阅读

    基于龙芯2K0300处理器的龙芯ATK-DL2K0300B开发板参数特性与开发技巧解读

    龙芯2K0300是一款基于LA264处理器核的多功能SoC芯片,性能比肩 ARM Cortex-A53,可广泛适用于 工业控制 、 通信 设备、 信息 家电和 物联网 等领域。芯片采用高集成度
    的头像 发表于 02-26 17:20 2684次阅读
    基于<b class='flag-5'>龙芯</b><b class='flag-5'>2K</b>0300<b class='flag-5'>处理</b>器的<b class='flag-5'>龙芯</b>ATK-DL<b class='flag-5'>2K</b>0300B开发板参数特性与开发技巧解读

    基于龙芯2K0300处理龙芯中科携手正点原子发布龙芯ATK-DL2K0300B开发板

    龙芯中科携手正点原子发布龙芯ATK-DL2K0300B开发板。该开发板为正点原子发布的首款龙芯开发板,为基于龙芯
    的头像 发表于 02-25 15:29 1265次阅读
    基于<b class='flag-5'>龙芯</b><b class='flag-5'>2K</b>0300<b class='flag-5'>处理</b>器 <b class='flag-5'>龙芯</b>中科携手正点原子发布<b class='flag-5'>龙芯</b>ATK-DL<b class='flag-5'>2K</b>0300B开发板

    龙芯2K0300开发板及资料来袭,开启国产芯片新篇章!

    正点原子携手龙芯正式发布首款龙芯开发板:ATK-DL2K0300开发板!基于龙芯LS2K0300,一款高性价比、低功耗与自主创新能力于一身的
    发表于 02-24 15:04

    国产龙芯处理器双核64位系统迅为2K1000开发板/核心板

    视频教程 新增龙芯2K1000开发环境搭建系列、系统编译与烧写系列、PMON基础知识及启动流程分析系列、pmon移植教程系列视频教程。更多视频教程请在迅为电子B站账号中收看!
    发表于 02-17 11:12

    迅为电子推出基于龙芯2K0300的HMI产品

    2024年6月,龙芯中科发布了又一款重磅产品龙芯2K0300,龙芯2K0300芯片是一款基于LA264
    的头像 发表于 02-13 14:30 918次阅读
    迅为电子推出基于<b class='flag-5'>龙芯</b><b class='flag-5'>2K</b>0300的HMI产品

    迅为龙芯2K1000开发板/核心板介绍

    视频教程 新增龙芯2K1000开发环境搭建系列、系统编译与烧写系列、PMON基础知识及启动流程分析系列、pmon移植教程系列视频教程。更多视频教程请在迅为电子B站账号中收看!
    发表于 02-08 11:01

    自主可控的全国产方案,基于龙芯LS2K1000LA-i!

    龙芯LS2K1000LA-i产品简介 LS2K1000LA-i是龙芯双核LoongArch LA264自主架构处理器。创龙科技基于LS
    的头像 发表于 01-24 09:26 904次阅读
    自主可控的全国产方案,基于<b class='flag-5'>龙芯</b>LS<b class='flag-5'>2K1000</b>LA-i!

    迅为龙芯2K1000开发板/核心板流畅运行Busybox、Buildroot、Loognix、QT5.12系统

    视频教程 新增龙芯2K1000开发环境搭建系列、系统编译与烧写系列、PMON基础知识及启动流程分析系列、pmon移植教程系列视频教程。更多视频教程请在迅为电子B站账号中收看!
    发表于 01-21 14:38

    2K0300 芯片手册

    *附件:龙芯2K0300处理器用户手册.pdf*附件:龙芯2K0300处理器数据手册.pdf
    发表于 12-19 15:26