吴忠躺衫网络科技有限公司

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】歡迎添加關注!文章轉載請注明出處。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 芯片
    +關注

    關注

    456

    文章

    51185

    瀏覽量

    427282
  • 龍芯
    +關注

    關注

    3

    文章

    349

    瀏覽量

    31362
  • 中斷
    +關注

    關注

    5

    文章

    900

    瀏覽量

    41753
  • 2K1000
    +關注

    關注

    0

    文章

    21

    瀏覽量

    586

原文標題:龍芯2k1000的中斷設計

文章出處:【微信號:Embeded_IoT,微信公眾號:嵌入式IoT】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    自主可控的全國產方案,基于龍芯LS2K1000LA-i!

    龍芯LS2K1000LA-i產品簡介 LS2K1000LA-i是龍芯雙核LoongArch LA264自主架構處理器。創龍科技基于LS
    的頭像 發表于 01-24 09:26 ?117次閱讀
    自主可控的全國產方案,基于<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

    Banana P開源社區基于龍芯芯片方案的產品化設計

    網絡安全、移動智能終端、高性能邊緣計算場景應用需求的雙核處理器芯片。龍芯2K1000 處理器集成兩個GS264 處理器核,芯片外圍接口包括兩
    發表于 11-30 14:00

    龍芯嵌入式邊緣計算高級師資培訓會成功舉辦

    近日,龍芯中科攜手成都工業學院計算機學院在宜賓舉辦為期3天的龍芯嵌入式邊緣計算高級師資培訓會。培訓使用龍芯1+X“嵌入式邊緣計算軟硬件開發”高級教考設備,搭載龍芯
    的頭像 發表于 11-14 11:11 ?400次閱讀

    龍芯LS2K1000LA和LS2K1000有何區別?

    則是使用mips架構。所以倆個不同架構的處理器使用的源碼略有不同,但是硬件上基于2k10002k1000la的開發板&核心板迅為做到了完全兼容。可以根據需要無縫切換。
    發表于 11-14 11:06

    【迅為電子】龍芯LS2K1000LA和LS2K1000有何區別?

    【迅為電子】龍芯LS2K1000LA和LS2K1000有何區別?
    的頭像 發表于 11-13 14:13 ?343次閱讀
    【迅為電子】<b class='flag-5'>龍芯</b>LS<b class='flag-5'>2K1000</b>LA和LS<b class='flag-5'>2K1000</b>有何區別?

    【北京迅為】itop-龍芯2k1000開發指南Linux基礎入門vim 編輯器

    【北京迅為】itop-龍芯2k1000開發指南Linux基礎入門vim 編輯器
    的頭像 發表于 10-25 14:56 ?361次閱讀
    【北京迅為】itop-<b class='flag-5'>龍芯</b><b class='flag-5'>2k1000</b>開發指南Linux基礎入門vim 編輯器

    新品發布 | 龍芯2K0300系列正式開售

    前言:龍芯2K0300蜂鳥開發系統,是專為國產自主嵌入式領域而設計推出的方案。廣州眺望電子科技有限公司是一家專注于嵌入式處理器模組研發與應用的國家高新技術企業,眺望電子將與龍芯中科在技
    的頭像 發表于 10-25 08:07 ?663次閱讀
    新品發布 | <b class='flag-5'>龍芯</b><b class='flag-5'>2K</b>0300系列正式開售

    國產龍芯處理器選擇迅為2K1000開發板有資料

    視頻教程 新增龍芯2K1000開發環境搭建系列、系統編譯與燒寫系列、PMON基礎知識及啟動流程分析系列、pmon移植教程系列視頻教程。更多視頻教程請在迅為電子B站賬號中收看!
    發表于 10-16 14:23

    龍芯2K0300蜂鳥板試用】初了解龍芯2K0300蜂鳥板

    + 配套底板”形式,核心板尺寸 35mm×35mm。 龍芯2K0300處理器面向工業控制、智能終端等嵌入式領域,具有完全自主、技術先進、高能低耗、接口豐富、適配靈活、安全可靠、生態兼容、性價比高等優點
    發表于 08-27 20:41

    【北京迅為】itop-龍芯2k1000 sylixos 嵌入式實時系統燒寫手冊-第一章與第二章 詳細步驟

    【北京迅為】itop-龍芯2k1000 sylixos 嵌入式實時系統燒寫手冊-第一章與第二章 詳細步驟
    的頭像 發表于 08-26 14:18 ?784次閱讀
    【北京迅為】itop-<b class='flag-5'>龍芯</b><b class='flag-5'>2k1000</b> sylixos 嵌入式實時系統燒寫手冊-第一章與第二章 詳細步驟

    龍芯2K0300蜂鳥板支持OpenHarmony 4.0 Release版本操作系統

    龍芯2K0300蜂鳥板是基于龍芯中科自研的LoongArch架構2K0300處理器設計的,整體結構小巧緊湊,功能豐富齊全。
    發表于 06-20 10:02

    龍芯 2K0300 蜂鳥開發系統正式發布!!

    龍芯2K0300蜂鳥開發系統正式發布 6月18日,龍芯2K0300蜂鳥開發系統發布暨技術交流會在廣州成功舉辦。百余位嵌入式領域的業界專家、合作伙伴、工程師等齊聚羊城,圍繞技術創新、實踐
    發表于 06-19 16:27

    如何使用2k1000LA的ACPI進行軟關機?

    在閱讀《龍芯2K1000LA處理器用戶手冊》第21節電源管理模塊的時候,我不是很明白如何使用這個模塊。 我沒有使用過ACPI的經驗,如果我希望在我的內核中使用ACPI使2K1000LA
    發表于 05-22 20:25

    [廣東龍芯2K1000/2K500開發板] OpenWRT 使用說明

    如何編譯 從BSP 包的文件系統目錄下找到OpenWrt 的源碼并解碼。 ##源碼中已包含2k500和2k1000板卡的配置 ##2k500的配置名為loongson_2k
    發表于 02-19 14:40
    同仁县| 最佳场百家乐的玩法技巧和规则| 24岁掉牙齿 风水| 百家乐官网娱乐礼金| 百家乐官网免费体验金| 24岁掉牙齿 风水| 澳门百家乐赢钱技术| 百家乐赌博游戏| 百家乐板路| 百家乐有没有单机版的| 大三巴百家乐的玩法技巧和规则| 百家乐分| 江西老虎机遥控器| 全讯网sp| 名仕国际棋牌官方网| 皇冠正网开户| 网上百家乐官网优博| 至尊百家乐官网奇热| 澳门百家乐官网网上赌| 真人百家乐官网游戏网| 德州百家乐官网扑克桌| 玩百家乐凤凰娱乐城| 百家乐八卦九| 大发888娱乐场下载删除| 速博娱乐| 沽源县| 百家乐官网门户网站| 百家乐官网诀| 百家乐有人赢过吗| 百家乐英皇赌场娱乐网规则| 大发888游戏平台银河| 阳山县| 乐天堂百家乐官网娱乐场| 金赞百家乐现金网| 丽星百家乐的玩法技巧和规则| 大发888娱乐场zb8| 百家乐官网庄家提成| 精通百家乐官网的玩法技巧和规则 | bet365官方网站| 新2百家乐官网现金网百家乐官网现金网| 新锦江百家乐官网娱乐场开户注册|