Ignore:
Timestamp:
Jun 27, 2017, 10:53:32 AM (7 years ago)
Author:
ertl-honda
Message:

3.1.0を反映

File:
1 edited

Legend:

Unmodified
Added
Removed
  • asp3_wo_tecs/trunk/arch/arm_gcc/doc/gic_design.txt

    r302 r306  
    33                GIC(ARM Generic Interrupt Controller)依存部 設計メモ
    44
    5                 対応バージョン: Release 3.B.0
    6                 最終更新: 2015å¹´7月24日
    7 
     5                対応バージョン: Release 3.0.0
     6                最終更新: 2016å¹´1月16日
     7
     8----------------------------------------------------------------------
     9 TOPPERS/ASP Kernel
     10     Toyohashi Open Platform for Embedded Real-Time Systems/
     11     Advanced Standard Profile Kernel
     12
     13 Copyright (C) 2014-2016 by Embedded and Real-Time Systems Laboratory
     14             Graduate School of Information Science, Nagoya Univ., JAPAN
     15 
     16 ä¸Šè¨˜è‘—作権è€
     17は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ
     18 ã‚¢ï¼ˆæœ¬ã‚½ãƒ•ãƒˆã‚¦ã‚§ã‚¢ã‚’改変したものを含む.以下同じ)を使用・複製・改
     19 å¤‰ãƒ»å†é
     20å¸ƒï¼ˆä»¥ä¸‹ï¼Œåˆ©ç”¨ã¨å‘¼ã¶ï¼‰ã™ã‚‹ã“とを無償で許諾する.
     21 (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
     22     æ¨©è¡¨ç¤ºï¼Œã“の利用条件および下記の無保証規定が,そのままの形でソー
     23     ã‚¹ã‚³ãƒ¼ãƒ‰ä¸­ã«å«ã¾ã‚Œã¦ã„ること.
     24 (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
     25     ç”¨ã§ãã‚‹å½¢ã§å†é
     26å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œå†é
     27å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨
     28     è€
     29マニュアルなど)に,上記の著作権表示,この利用条件および下記
     30     ã®ç„¡ä¿è¨¼è¦å®šã‚’掲載すること.
     31 (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
     32     ç”¨ã§ããªã„形で再é
     33å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œæ¬¡ã®ã„ずれかの条件を満たすこ
     34     ã¨ï¼Ž
     35   (a) 再é
     36å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€
     37マニュアルなど)に,上記の著
     38       ä½œæ¨©è¡¨ç¤ºï¼Œã“の利用条件および下記の無保証規定を掲載すること.
     39   (b) 再é
     40å¸ƒã®å½¢æ
     41‹ã‚’,別に定める方法によって,TOPPERSプロジェクトに
     42       å ±å‘Šã™ã‚‹ã“と.
     43 (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
     44     å®³ã‹ã‚‰ã‚‚,上記著作権è€
     45およびTOPPERSプロジェクトをå
     46è²¬ã™ã‚‹ã“と.
     47     ã¾ãŸï¼Œæœ¬ã‚½ãƒ•ãƒˆã‚¦ã‚§ã‚¢ã®ãƒ¦ãƒ¼ã‚¶ã¾ãŸã¯ã‚¨ãƒ³ãƒ‰ãƒ¦ãƒ¼ã‚¶ã‹ã‚‰ã®ã„かなる理
     48     ç”±ã«åŸºã¥ãè«‹æ±‚からも,上記著作権è€
     49およびTOPPERSプロジェクトを
     50     å
     51è²¬ã™ã‚‹ã“と.
     52 
     53 æœ¬ã‚½ãƒ•ãƒˆã‚¦ã‚§ã‚¢ã¯ï¼Œç„¡ä¿è¨¼ã§æä¾›ã•ã‚Œã¦ã„るものである.上記著作権è€
     54お
     55 ã‚ˆã³TOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     56 ã«å¯¾ã™ã‚‹é©åˆæ€§ã‚‚含めて,いかなる保証も行わない.また,本ソフトウェ
     57 ã‚¢ã®åˆ©ç”¨ã«ã‚ˆã‚Šç›´æŽ¥çš„または間接的に生じたいかなる損害に関しても,そ
     58 ã®è²¬ä»»ã‚’負わない.
     59 
     60 $Id: gic_design.txt 533 2016-01-15 23:29:33Z ertl-hiro $
    861----------------------------------------------------------------------
    962
     
    1467        - GIC依存部を構成するファイル
    1568・チップ依存のパラメータ
     69        - アプリケーションから参ç
     70§ã§ãã‚‹ãƒ‘ラメータ
     71        - カーネルå†
     72部で使用するパラメータ
    1673・GICにおける割込みハンドラおよびCPU例外ハンドラの出å
    1774¥å£å‡¦ç†
    1875        - GICにおける割込みハンドラの出å
     76¥å£å‡¦ç†
     77        - GICにおけるCPU例外ハンドラの出å
    1978¥å£å‡¦ç†
    2079
     
    43102GIC依存部は,次の3つのファイルで構成される.
    44103
    45 gic_kernel_impl.h
    46 gic_kernel_impl.c
    47 gic_support.S
     104  arch/arm_gcc/common/
     105        gic_kernel_impl.h       ã‚«ãƒ¼ãƒãƒ«ã®å‰²è¾¼ã¿GIC依存部のヘッダファイル
     106        gic_kernel_impl.c       ã‚«ãƒ¼ãƒãƒ«ã®å‰²è¾¼ã¿GIC依存部
     107        gic_support.S           ã‚«ãƒ¼ãƒãƒ«ã®å‰²è¾¼ã¿GIC依存部のアセンブリ言語部
    48108
    49109○チップ依存のパラメータ
    50110
    51 TMIN_INTPRI
    52 TMAX_INTPRI
    53 
    54 ã‚«ãƒ¼ãƒãƒ«ã®ã‚¿ãƒ¼ã‚²ãƒƒãƒˆä¾å­˜éƒ¨ã®ãƒ˜ãƒƒãƒ€ãƒ•ã‚¡ã‚¤ãƒ«ã‹ã‚‰gic_kernel_impl.hをインク
    55 ãƒ«ãƒ¼ãƒ‰ã™ã‚‹å‰ã«ï¼Œå¿
    56 è¦ã«å¿œã˜ã¦ï¼Œä»¥ä¸‹ã®å®šæ•°ã‚’マクロ定義しておく.
     111●アプリケーションから参ç
     112§ã§ãã‚‹ãƒ‘ラメータ
     113
     114target_kernel.h(または,そこからインクルードされるファイル)で,以下の
     115定数をマクロ定義しておく.
     116
     117(1) TMIN_INTPRI                 å‰²è¾¼ã¿å„ªå
     118ˆåº¦ã®æœ€å°å€¤ï¼ˆæœ€é«˜å€¤ï¼‰
     119(2) TMAX_INTPRI                 å‰²è¾¼ã¿å„ªå
     120ˆåº¦ã®æœ€å¤§å€¤ï¼ˆæœ€ä½Žå€¤ï¼‰
     121
     122TMAX_INTPRIは,-1に定義する.TMAX_INTPRIは,ターゲットチップのGICでサポー
     123トする割込み優å
     124ˆåº¦ã®æ®µæ•°ã«ã‚ˆã‚Šï¼Œ-15,-31,-63,-127,-255のいずれかに定
     125義する.
     126
     127●カーネルå†
     128部で使用するパラメータ
     129
     130target_kernel_impl.h(または,そこからインクルードされるファイル)から
     131gic_kernel_impl.hをインクルードする前に,å¿
     132要に応じて,以下の定数をマク
     133ロ定義しておく.
    57134
    58135(1) GIC_TNUM_INTNO              割込みの数
     
    62139Peripheral Interrupt)の合計数.
    63140
    64 (2) GIC_PRI_LEVEL               å‰²è¾¼ã¿å„ªå
    65 ˆåº¦ã®æ®µæ•°
    66 
    67 ã‚¿ãƒ¼ã‚²ãƒƒãƒˆãƒãƒƒãƒ—のGICがサポートする割込み優å
    68 ˆåº¦ã®æ®µæ•°ï¼Ž16,32,64,128,
    69 256のいずれか.
    70 
    71 (3) GICC_BASE                   CPUインタフェースのベースアドレス
    72 (4) GICD_BASE                   ãƒ‡ã‚£ã‚¹ãƒˆãƒªãƒ“ュータのベースアドレス
     141(2) GICC_BASE                   CPUインタフェースのベースアドレス
     142(3) GICD_BASE                   ãƒ‡ã‚£ã‚¹ãƒˆãƒªãƒ“ュータのベースアドレス
    73143
    74144GICのCPUインタフェースおよびディストリビュータのベースアドレス.
    75145
    76 (5) TOPPERS_SAFEG_SECURE        セキュアモード(オプション)
     146(4) TOPPERS_SAFEG_SECURE        セキュアモード(オプション)
    77147
    78148セキュアモードでカーネルを動作させ,FIQをカーネル管理の割込みと扱う場合
    79149に,このシンボルをマクロ定義する.
    80150
    81 (6) GIC_ARM11MOCORE             ARM11 MPCoreへの対応(オプション)
     151(5) GIC_ARM11MPCORE             ARM11 MPCoreへの対応(オプション)
    82152
    83153ARM11 MPCoreのDistributed Interrupt Controllerの場合には,このシンボル
     
    284354¥å£å‡¦ç†
    285355
    286 
     356GICにおけるCPU例外ハンドラのå
     357¥å£å‡¦ç†ï¼ˆirc_begin_exc)では,CPU例外発生
     358前の割込み優å
     359ˆåº¦ãƒžã‚¹ã‚¯ã‚’スタックに保存し,CPU例外ハンドラのå
     360¥å£å‡¦ç†
     361(irc_end_exc)で割込み優å
     362ˆåº¦ãƒžã‚¹ã‚¯ã‚’å
     363ƒã«æˆ»ã™ï¼Ž
     364
     365----------------------------------------
     366ALABEL(irc_begin_exc)
     367        /*
     368         *  割込み優å
     369ˆåº¦ãƒžã‚¹ã‚¯ã‚’保存する.
     370         */
     371        ldr             r1, =GICC_PMR           /* 現在の割込み優å
     372ˆåº¦ã‚’取得 */
     373        ldr             r2, [r1]
     374        push    {r2}                            /* irc_end_excで用いるæƒ
     375報を保存 */
     376        bx              lr
     377----------------------------------------
     378ALABEL(irc_end_exc)
     379        /*
     380         *  割込み優å
     381ˆåº¦ãƒžã‚¹ã‚¯ã‚’å
     382ƒã«æˆ»ã™ï¼Ž
     383         */
     384        pop             {r2}                            /* irc_begin_excで保存したæƒ
     385報を復帰 */
     386        ldr             r1, =GICC_PMR           /* 割込み優å
     387ˆåº¦ãƒžã‚¹ã‚¯ã‚’å
     388ƒã«æˆ»ã™ */
     389        str             r2, [r1]
     390        bx              lr
     391----------------------------------------
    287392
    288393以上
Note: See TracChangeset for help on using the changeset viewer.