Ignore:
Timestamp:
Jun 8, 2018, 11:24:32 AM (6 years ago)
Author:
nmir-saito
Message:

set svn:mime-type to files

File:
1 edited

Legend:

Unmodified
Added
Removed
  • ssp_aarch64/trunk/qemu_virt_gcc/target_serial.c

    • Property svn:mime-type set to text/plain; charset=utf-8
    r353 r356  
    1010 *              Nagoya Municipal Industrial Research Institute, JAPAN
    1111 *
    12  *  上記著作権è€
    13 ã¯ï¼Œä»¥ä¸‹ã®(1)〜(4)の条件を満たす場合に限り,本ソフトウェ
    14  *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
    15  *  変・再é
    16 å¸ƒï¼ˆä»¥ä¸‹ï¼Œåˆ©ç”¨ã¨å‘¼ã¶ï¼‰ã™ã‚‹ã“とを無償で許諾する.
    17  *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
    18  *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
    19  *      スコード中に含まれていること.
    20  *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
    21  *      用できる形で再é
    22 å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œå†é
    23 å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨
    24  *      è€
    25 ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãªã©ï¼‰ã«ï¼Œä¸Šè¨˜ã®è‘—作権表示,この利用条件および下記
    26  *      の無保証規定を掲載すること.
    27  *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
    28  *      用できない形で再é
    29 å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œæ¬¡ã®ã„ずれかの条件を満たすこ
    30  *      と.
    31  *    (a) 再é
    32 å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€
    33 ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãªã©ï¼‰ã«ï¼Œä¸Šè¨˜ã®è‘—
    34  *        作権表示,この利用条件および下記の無保証規定を掲載すること.
    35  *    (b) 再é
    36 å¸ƒã®å½¢æ
    37 ‹ã‚’,別に定める方法によって,TOPPERSプロジェクトに
    38  *        報告すること.
    39  *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
    40  *      害からも,上記著作権è€
    41 ãŠã‚ˆã³TOPPERSプロジェクトをå
    42 è²¬ã™ã‚‹ã“と.
    43  *      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
    44  *      由に基づく請求からも,上記著作権è€
    45 ãŠã‚ˆã³TOPPERSプロジェクトを
    46  *      å
    47 è²¬ã™ã‚‹ã“と.
    48  *
    49  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    50 ãŠ
    51  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    52  *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
    53  *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
    54  *  の責任を負わない.
    55  *
    56  */
    57 
    58 /*
    59  * シリアルドライバ
     12 *  上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ
     13 *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
     14 *  変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
     15 *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
     16 *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
     17 *      スコード中に含まれていること.
     18 *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
     19 *      用できる形で再配布する場合には,再配布に伴うドキュメント(利用
     20 *      者マニュアルなど)に,上記の著作権表示,この利用条件および下記
     21 *      の無保証規定を掲載すること.
     22 *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
     23 *      用できない形で再配布する場合には,次のいずれかの条件を満たすこ
     24 *      と.
     25 *    (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
     26 *        作権表示,この利用条件および下記の無保証規定を掲載すること.
     27 *    (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
     28 *        報告すること.
     29 *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
     30 *      害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
     31 *      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
     32 *      由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
     33 *      免責すること.
     34 *
     35 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     36 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     37 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     38 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     39 *  の責任を負わない.
     40 *
     41 */
     42
     43/*
     44 * シリアルドライバ
    6045 */
    6146
     
    6550
    6651/*
    67  * レジスタ設定値
     52 * レジスタ設定値
    6853 */
    6954#define PORT2SIOPID(x)  ((x) + 1)
     
    8368
    8469/*
    85  *  送信バッファに空きがあるか?
     70 *  送信バッファに空きがあるか?
    8671 */
    8772Inline bool_t
     
    9277
    9378/*
    94  *  受信バッファに文字があるか?
     79 *  受信バッファに文字があるか?
    9580 */
    9681Inline bool_t
     
    10186
    10287/*
    103  *  受信した文字の取出し
     88 *  受信した文字の取出し
    10489 */
    10590Inline char
     
    11095
    11196/*
    112  *  送信する文字の書込み
     97 *  送信する文字の書込み
    11398 */
    11499Inline void
     
    120105
    121106/*
    122  *  ターゲットのシリアル初期化
     107 *  ターゲットのシリアル初期化
    123108 */
    124109void target_low_output_init(ID siopid)
     
    130115
    131116    /*
    132      *  UARTをディスエーブル
     117     *  UARTをディスエーブル
    133118     */
    134119    sil_wrw_mem(UART_CR(inib->baseAddress), 0U);
    135120
    136121        /*
    137          *  エラーフラグをクリア
     122         *  エラーフラグをクリア
    138123         */
    139124        sil_wrw_mem(UART_ECR(inib->baseAddress), 0U);
    140125
    141126    /*
    142      *  割込みステータスをクリア
     127     *  割込みステータスをクリア
    143128     */
    144129    sil_wrw_mem(UART_ICR(inib->baseAddress), 0U);
     
    147132
    148133    /*
    149      *  FIFOを空にする
     134     *  FIFOを空にする
    150135     */
    151136    while (sio_getready(siopcb)) {
     
    154139
    155140    /*
    156      *  ボーレートと通信規格を設定
     141     *  ボーレートと通信規格を設定
    157142     */
    158143    sil_wrw_mem(UART_IBRD(inib->baseAddress), inib->ibrd);
     
    161146
    162147    /*
    163      *  UARTをイネーブル
     148     *  UARTをイネーブル
    164149     */
    165150    sil_wrw_mem(UART_CR(inib->baseAddress),
     
    168153
    169154/*
    170  *  SIO初期化
     155 *  SIO初期化
    171156 */
    172157void sio_initialize(intptr_t exinf)
     
    181166
    182167/*
    183  *  シリアルオープン
     168 *  シリアルオープン
    184169 */
    185170SIOPCB *sio_opn_por(ID siopid, intptr_t exinf)
     
    196181    target_low_output_init(siopid);
    197182
    198     // 受信コールバック許可
     183    // 受信コールバック許可
    199184    sio_ena_cbr(siopcb, SIO_RDY_RCV);
    200185
     
    203188
    204189/*
    205  *  シリアルクローズ
     190 *  シリアルクローズ
    206191 */
    207192void sio_cls_por(SIOPCB *siopcb)
    208193{
    209194    /*
    210      *  UARTをディスエーブル
     195     *  UARTをディスエーブル
    211196     */
    212197    sil_wrw_mem(UART_CR(siopcb->inib->baseAddress), 0U);
     
    214199
    215200/*
    216  *  割込みハンドラ
     201 *  割込みハンドラ
    217202 */
    218203void sio_isr(intptr_t exinf)
     
    222207    if (sio_getready(siopcb)) {
    223208        /*
    224          *  受信通知コールバックルーチンを呼び出す.
     209         *  受信通知コールバックルーチンを呼び出す.
    225210         */
    226211        sio_irdy_rcv(siopcb->exinf);
     
    228213    if (sio_putready(siopcb)) {
    229214        /*
    230          *  送信可能コールバックルーチンを呼び出す.
     215         *  送信可能コールバックルーチンを呼び出す.
    231216         */
    232217        sio_irdy_snd(siopcb->exinf);
     
    235220
    236221/*
    237  *  1文字送信
     222 *  1文字送信
    238223 */
    239224bool_t sio_snd_chr(SIOPCB *siopcb, char c)
     
    247232
    248233/*
    249  *  1文字受信
     234 *  1文字受信
    250235 */
    251236int_t sio_rcv_chr(SIOPCB *siopcb)
     
    258243
    259244/*
    260  *  コールバックの許可
     245 *  コールバックの許可
    261246 */
    262247void sio_ena_cbr(SIOPCB *siopcb, uint_t cbrtn)
     
    280265
    281266/*
    282  *  コールバックの禁止
     267 *  コールバックの禁止
    283268 */
    284269void sio_dis_cbr(SIOPCB *siopcb, uint_t cbrtn)
     
    302287
    303288/*
    304  *  1文字出力(ポーリングでの出力)
     289 *  1文字出力(ポーリングでの出力)
    305290 */
    306291void sio_pol_snd_chr(char c, ID siopid)
Note: See TracChangeset for help on using the changeset viewer.