Ignore:
Timestamp:
Jul 3, 2020, 7:19:17 PM (4 years ago)
Author:
coas-nagasima
Message:

ASP3, TINET, mbed を更新

Location:
EcnlProtoTool/trunk/asp3_dcre/target/gr_peach_gcc
Files:
27 edited

Legend:

Unmodified
Added
Removed
  • EcnlProtoTool/trunk/asp3_dcre/target/gr_peach_gcc/Makefile.target

    r321 r429  
    22#               Makefile のターゲット依存部(GR-PEACH用)
    33#
    4 #  $Id$
     4#  $Id: Makefile.target 732 2016-04-03 03:08:05Z ertl-hiro $
    55#
    66
     
    3131
    3232#
    33 MPCoreの種類の定義
     33FPUサポートとコーリングコンベンション
    3434#
    35 MPCORE_TYPE = CA9
     35#  FPUを使用する場合は,USE_ARM_FPUをマクロ定義し,使用するコーリング
     36#  コンベンションに応じて,-mfloat-abi=softfpまたは-mfloat-abi=hardオ
     37#  プションをつける.
     38#
     39#CDEFS := $(CDEFS) -DUSE_ARM_FPU
     40#COPTS := $(COPTS) -mfloat-abi=softfp
     41COPTS := $(COPTS) -mfloat-abi=hard
    3642
    3743#
     
    4652#
    4753KERNEL_DIRS := $(KERNEL_DIRS) $(TARGETDIR)
    48 KERNEL_COBJS := $(KERNEL_COBJS) target_kernel_impl.o core_pl310.o
     54KERNEL_COBJS := $(KERNEL_COBJS) target_kernel_impl.o
    4955KERNEL_ASMOBJS := $(KERNEL_ASMOBJS) target_support.o
    5056
     
    5561        CDEFS := $(CDEFS) -DTOPPERS_EXECUTE_ON_ROM
    5662        #LDSCRIPT = $(TARGETDIR)/gr_peach_rom.ld
    57         LDSCRIPT = $(SRCDIR)/mbed/targets/cmsis/TARGET_RENESAS/TARGET_RZ_A1H/TOOLCHAIN_GCC_ARM/RZA1H.ld
     63        LDSCRIPT = $(SRCDIR)/mbed/targets/TARGET_RENESAS/TARGET_RZA1XX/TARGET_RZ_A1H/device/TOOLCHAIN_GCC_ARM/RZA1H.ld
    5864else
    5965        CDEFS := $(CDEFS) -DTOPPERS_EXECUTE_ON_RAM
     
    6268
    6369#
    64 GNU開発環境のターゲットアーキテクチャの定義
     70チップ依存部
    6571#
    66 GCC_TARGET = arm-none-eabi
    67 #GCC_TARGET = arm-atollic-eabi
    68 
    69 #
    70 #  トレースログ記録のサンプルコードに関する定義
    71 #
    72 ifeq ($(ENABLE_TRACE),true)
    73         COPTS := $(COPTS) -DTOPPERS_ENABLE_TRACE
    74         SYSSVC_DIRS := $(SYSSVC_DIRS) $(SRCDIR)/arch/tracelog
    75 endif
    76 
    77 #
    78 #  チップ依存部のインクルード
    79 #
    80 include $(SRCDIR)/arch/arm_gcc/rza1/Makefile.chip
     72include $(SRCDIR)/arch/$(CORE)_$(TOOL)/$(CHIP)/Makefile.chip
  • EcnlProtoTool/trunk/asp3_dcre/target/gr_peach_gcc/Makefile.tinet

    r321 r429  
    2929#   接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    3030
    31 #   @(#) $Id$
     31#   @(#) $Id: Makefile.tinet,v 1.6 2012/07/18 04:17:01 abe Exp abe $
    3232#
    3333
  • EcnlProtoTool/trunk/asp3_dcre/target/gr_peach_gcc/cfg_dmy.c

    r321 r429  
    11#include "MBRZA1H.h"
     2#include <stdlib.h>
    23
    3 IRQHandler _kernel_inh_table[Renesas_RZ_A1_IRQ_MAX+1];
     4IRQHandler _kernel_inh_table[RZ_A1_IRQ_MAX+1];
    45uint32_t _kernel_excpt_nest_count = 0;
    56
     
    2324{
    2425}
     26
    2527void _kernel_irq_handler()
    2628{
     
    3032{
    3133}
     34
     35void __libc_init_array()
     36{
     37}
     38
     39void *memset(void *dst, int c, size_t size)
     40{
     41        return NULL;
     42}
     43
     44void *memcpy(void *dst, void * src, size_t size)
     45{
     46        return NULL;
     47}
     48
     49int main()
     50{
     51}
     52
     53void exit(int exitcd)
     54{
     55}
  • EcnlProtoTool/trunk/asp3_dcre/target/gr_peach_gcc/gr_peach.h

    r321 r429  
    11/*
    2  *  TOPPERS/ASP Kernel
    3  *      Toyohashi Open Platform for Embedded Real-Time Systems/
    4  *      Advanced Standard Profile Kernel
    5  *
     2 *  TOPPERS Software
     3 *      Toyohashi Open Platform for Embedded Real-Time Systems
     4 *
    65 *  Copyright (C) 2011-2016 by Embedded and Real-Time Systems Laboratory
    76 *              Graduate School of Information Science, Nagoya Univ., JAPAN
    8  *
     7 * 
    98 *  上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ
    109 *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
     
    2928 *      由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
    3029 *      免責すること.
    31  *
     30 * 
    3231 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
    3332 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     
    3534 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
    3635 *  の責任を負わない.
    37  *
     36 *
     37 *  $Id$
    3838 */
    3939
     
    5858
    5959/*
     60 *  ボーレート設定
     61 */
     62#define UART_BAUDRATE           115200
     63
     64/*
    6065 *  LEDの点灯/消灯
    6166 */
  • EcnlProtoTool/trunk/asp3_dcre/target/gr_peach_gcc/gr_peach_ram.ld

    r321 r429  
    11/*
    2  *  $Id$
     2 *  $Id: gr_peach_ram.ld 720 2016-04-01 22:16:17Z ertl-hiro $
    33 */
    44
    5 OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm","elf32-littlearm")
     5OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm")
    66OUTPUT_ARCH(arm)
    77ENTRY(start);
  • EcnlProtoTool/trunk/asp3_dcre/target/gr_peach_gcc/gr_peach_rom.ld

    r321 r429  
    11/*
    2  *  $Id$
     2 *  $Id: gr_peach_rom.ld 720 2016-04-01 22:16:17Z ertl-hiro $
    33 */
    44
    5 OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm","elf32-littlearm")
     5OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm")
    66OUTPUT_ARCH(arm)
    77ENTRY(start);
  • EcnlProtoTool/trunk/asp3_dcre/target/gr_peach_gcc/tSIOPortGRPeach.cdl

    r321 r429  
    66 *  Copyright (C) 2015 by Ushio Laboratory
    77 *              Graduate School of Engineering Science, Osaka Univ., JAPAN
    8  *  Copyright (C) 2015,2016 by Embedded and Real-Time Systems Laboratory
     8 *  Copyright (C) 2015-2018 by Embedded and Real-Time Systems Laboratory
    99 *              Graduate School of Information Science, Nagoya Univ., JAPAN
    1010 *
     
    4747
    4848/*
    49  *  GR-PEACHとRZ/A1に関する定義
     49 *  GR-PEACHのハードウェア資源の定義
    5050 */
    5151import_C("gr_peach.h");
    52 import_C("rza1.h");
    53 
    54 /*
    55  *  FIFO内蔵シリアルコミュニケーションインタフェース用 簡易SIOドライバ
    56  */
    57 import("tSCIF.cdl");
     52import_C("device.h");
     53
     54/*
     55 *  シリアルインタフェースドライバのチップ依存部(RZ/A1用)
     56 */
     57import("tMbedSerial.cdl");
    5858
    5959/*
     
    7373        call                    sSIOPort        cSIOPort;
    7474        [inline] entry  siSIOCBR        eiSIOCBR;
    75 
    76         /*
    77          *  割込み要求ライン操作のための結合
    78          */
    79         call    sInterruptRequest       cRxInterruptRequest;
    80         call    sInterruptRequest       cTxInterruptRequest;
    8175};
    8276
     
    8579 *  ト)のセルタイプ
    8680 */
    87 [active]
    8881composite tSIOPortGRPeach {
    8982        /*
     
    9790         */
    9891        attr {
    99                 uintptr_t       baseAddress;                            /* ベースアドレス */
    100                 INTNO           rxInterruptNumber;                      /* 受信割込み番号 */
    101                 INTNO           txInterruptNumber;                      /* 送信割込み番号 */
    102                 PRI                     isrPriority = 1;                        /* ISR優先度 */
    103                 PRI                     interruptPriority = -4;         /* 割込み優先度 */
     92                int32_t tx;                                                             /* 送信Pin */
     93                int32_t rx;                                                             /* 受信Pin */
    10494                uint32_t        baudRate = 115200;                      /* ボーレートの設定値 */
    10595        };
     
    10898         *  SIOドライバ
    10999         */
    110         cell tSCIF SCIF {
    111                 baseAddress = composite.baseAddress;
     100        cell tMbedSerial MbedSerial {
     101                tx          = composite.tx;
     102                rx          = composite.rx;
    112103                baudRate    = composite.baudRate;
    113104                ciSIOCBR    = SIOPortMain.eiSIOCBR;
     
    119110        cell tSIOPortGRPeachMain SIOPortMain {
    120111                ciSIOCBR            => composite.ciSIOCBR;
    121                 cSIOPort            = SCIF.eSIOPort;
    122                 cRxInterruptRequest = RxInterruptRequest.eInterruptRequest;
    123                 cTxInterruptRequest = TxInterruptRequest.eInterruptRequest;
     112                cSIOPort            = MbedSerial.eSIOPort;
    124113        };
    125114        composite.eSIOPort => SIOPortMain.eSIOPort;
    126 
    127         /*
    128          *  SIOの受信割込みサービスルーチンと割込み要求ライン
    129          */
    130         cell tISR RxISRInstance {
    131                 interruptNumber = composite.rxInterruptNumber;
    132                 isrPriority     = composite.isrPriority;
    133                 ciISRBody       = SCIF.eiRxISR;
    134         };
    135         cell tInterruptRequest RxInterruptRequest {
    136                 interruptNumber   = composite.rxInterruptNumber;
    137                 interruptPriority = composite.interruptPriority;
    138         };
    139 
    140         /*
    141          *  SIOの受信割込みサービスルーチンと割込み要求ライン
    142          */
    143         cell tISR TxISRInstance {
    144                 interruptNumber = composite.txInterruptNumber;
    145                 isrPriority     = composite.isrPriority;
    146                 ciISRBody       = SCIF.eiTxISR;
    147         };
    148         cell tInterruptRequest TxInterruptRequest {
    149                 interruptNumber   = composite.txInterruptNumber;
    150                 interruptPriority = composite.interruptPriority;
    151         };
    152115};
    153116
     
    157120 *  サンプルプログラムが使うポートが,SIOPortTarget1に固定されているた
    158121 *  め,ポート1とポート3を入れ換えている.具体的には,SIOPortTarget1は
    159  *  SCIFのチャネル2(チャネル番号は0から始まるので,ポート3のこと)に,
    160  *  SIOPortTarget3はSCIFのチャネル0につながっている.
     122 *  MbedSerialのチャネル2(チャネル番号は0から始まるので,ポート3のこと)に,
     123 *  SIOPortTarget3はMbedSerialのチャネル0につながっている.
    161124 */
    162125[prototype]
    163126cell tSIOPortGRPeach SIOPortTarget1 {
    164127        /* 属性の設定 */
    165         baseAddress       = C_EXP("SCIF2_BASE");
    166         rxInterruptNumber = C_EXP("INTNO_SCIF2_RXI");
    167         txInterruptNumber = C_EXP("INTNO_SCIF2_TXI");
     128        tx = C_EXP("P6_3");
     129        rx = C_EXP("P6_2");
    168130};
    169131
     
    171133cell tSIOPortGRPeach SIOPortTarget2 {
    172134        /* 属性の設定 */
    173         baseAddress       = C_EXP("SCIF1_BASE");
    174         rxInterruptNumber = C_EXP("INTNO_SCIF1_RXI");
    175         txInterruptNumber = C_EXP("INTNO_SCIF1_TXI");
     135        tx = C_EXP("P2_5");
     136        rx = C_EXP("P2_6");
    176137};
    177138
     
    179140cell tSIOPortGRPeach SIOPortTarget3 {
    180141        /* 属性の設定 */
    181         baseAddress       = C_EXP("SCIF0_BASE");
    182         rxInterruptNumber = C_EXP("INTNO_SCIF0_RXI");
    183         txInterruptNumber = C_EXP("INTNO_SCIF0_TXI");
     142        tx = C_EXP("P4_12");
     143        rx = C_EXP("P4_13");
    184144};
    185145
     
    187147cell tSIOPortGRPeach SIOPortTarget4 {
    188148        /* 属性の設定 */
    189         baseAddress       = C_EXP("SCIF3_BASE");
    190         rxInterruptNumber = C_EXP("INTNO_SCIF3_RXI");
    191         txInterruptNumber = C_EXP("INTNO_SCIF3_TXI");
     149        tx = C_EXP("P2_14");
     150        rx = C_EXP("P2_15");
    192151};
    193152
     
    195154cell tSIOPortGRPeach SIOPortTarget5 {
    196155        /* 属性の設定 */
    197         baseAddress       = C_EXP("SCIF4_BASE");
    198         rxInterruptNumber = C_EXP("INTNO_SCIF4_RXI");
    199         txInterruptNumber = C_EXP("INTNO_SCIF4_TXI");
     156        tx = C_EXP("P4_14");
     157        rx = C_EXP("P4_15");
    200158};
    201159
     
    203161cell tSIOPortGRPeach SIOPortTarget6 {
    204162        /* 属性の設定 */
    205         baseAddress       = C_EXP("SCIF5_BASE");
    206         rxInterruptNumber = C_EXP("INTNO_SCIF5_RXI");
    207         txInterruptNumber = C_EXP("INTNO_SCIF5_TXI");
     163        tx = C_EXP("P5_3");
     164        rx = C_EXP("P5_4");
    208165};
    209166
     
    211168cell tSIOPortGRPeach SIOPortTarget7 {
    212169        /* 属性の設定 */
    213         baseAddress       = C_EXP("SCIF6_BASE");
    214         rxInterruptNumber = C_EXP("INTNO_SCIF6_RXI");
    215         txInterruptNumber = C_EXP("INTNO_SCIF6_TXI");
     170        tx = C_EXP("P8_8");
     171        rx = C_EXP("P8_9");
    216172};
    217173
     
    219175cell tSIOPortGRPeach SIOPortTarget8 {
    220176        /* 属性の設定 */
    221         baseAddress       = C_EXP("SCIF7_BASE");
    222         rxInterruptNumber = C_EXP("INTNO_SCIF7_RXI");
    223         txInterruptNumber = C_EXP("INTNO_SCIF7_TXI");
    224 };
     177        tx = C_EXP("P5_0");
     178        rx = C_EXP("P5_1");
     179};
     180
     181[prototype]
     182cell tSIOPortGRPeach SIOPortTarget9 {
     183        /* 属性の設定 */
     184        tx = C_EXP("P8_14");
     185        rx = C_EXP("P8_15");
     186};
     187
     188[prototype]
     189cell tSIOPortGRPeach SIOPortTarget10 {
     190        /* 属性の設定 */
     191        tx = C_EXP("P8_13");
     192        rx = C_EXP("P8_11");
     193};
     194
     195[prototype]
     196cell tSIOPortGRPeach SIOPortTarget11 {
     197        /* 属性の設定 */
     198        tx = C_EXP("P11_10");
     199        rx = C_EXP("P11_11");
     200};
     201
     202[prototype]
     203cell tSIOPortGRPeach SIOPortTarget12 {
     204        /* 属性の設定 */
     205        tx = C_EXP("P6_6");
     206        rx = C_EXP("P6_7");
     207};
     208
     209[prototype]
     210cell tSIOPortGRPeach SIOPortTarget13 {
     211        /* 属性の設定 */
     212        tx = C_EXP("P5_6");
     213        rx = C_EXP("P5_7");
     214};
     215
     216[prototype]
     217cell tSIOPortGRPeach SIOPortTarget14 {
     218        /* 属性の設定 */
     219        tx = C_EXP("P11_1");
     220        rx = C_EXP("P11_2");
     221};
     222
     223[prototype]
     224cell tSIOPortGRPeach SIOPortTarget15 {
     225        /* 属性の設定 */
     226        tx = C_EXP("P7_4");
     227        rx = C_EXP("P7_5");
     228};
  • EcnlProtoTool/trunk/asp3_dcre/target/gr_peach_gcc/tSIOPortGRPeachMain_inline.h

    r321 r429  
    5757         */
    5858        cSIOPort_open();
    59 
    60         /*
    61          *  SIOの割込みマスクを解除する.
    62          */
    63         cRxInterruptRequest_enable();
    64         cTxInterruptRequest_enable();
    6559}
    6660
     
    7771         */
    7872        cSIOPort_close();
    79 
    80         /*
    81          *  SIOの割込みをマスクする.
    82          */
    83         cRxInterruptRequest_disable();
    84         cTxInterruptRequest_disable();
    8573}
    8674
  • EcnlProtoTool/trunk/asp3_dcre/target/gr_peach_gcc/target.cdl

    r321 r429  
    66 *  Copyright (C) 2015 by Ushio Laboratory
    77 *              Graduate School of Engineering Science, Osaka Univ., JAPAN
    8  *  Copyright (C) 2015,2016 by Embedded and Real-Time Systems Laboratory
     8 *  Copyright (C) 2015-2018 by Embedded and Real-Time Systems Laboratory
    99 *              Graduate School of Information Science, Nagoya Univ., JAPAN
    1010 *
     
    4242
    4343/*
     44 *              コンポーネント記述ファイルのターゲット依存部(GR-PEACH用)
     45 */
     46
     47/*
    4448 *  タスクのスタックサイズのデフォルト
    4549 */
     
    6064 *  ターゲット依存のセルタイプの定義
    6165 */
    62 import("tPutLogGRPeach.cdl");
     66import("syssvc/tPutLogSIOPort.cdl");
    6367import("tSIOPortGRPeach.cdl");
    6468
     
    7276 *  低レベル出力の組み上げ記述
    7377 */
    74 cell tPutLogGRPeach PutLogTarget {
     78cell tPutLogSIOPort PutLogTarget {
    7579        /* SIOドライバとの結合 */
    7680        cSIOPort = SIOPortTarget1.eSIOPort;
  • EcnlProtoTool/trunk/asp3_dcre/target/gr_peach_gcc/target_check.trb

    r321 r429  
    11# -*- coding: utf-8 -*-
    22#
    3 #               パス3の生成スクリプトのターゲット依存部(GR-PEACH用)
     3#               パス3の生成スクリプトのターゲット依存部
     4#
     5#  $Id: target_check.trb 1071 2018-11-25 01:27:37Z ertl-hiro $
    46#
    57
  • EcnlProtoTool/trunk/asp3_dcre/target/gr_peach_gcc/target_kernel.cfg

    r321 r429  
    44 *  $Id$
    55 */
    6 INCLUDE("target_timer.cfg")
     6INCLUDE("target_timer.cfg");
  • EcnlProtoTool/trunk/asp3_dcre/target/gr_peach_gcc/target_kernel.h

    r321 r429  
    1 /*
    2  *  TOPPERS/ASP Kernel
    3  *      Toyohashi Open Platform for Embedded Real-Time Systems/
    4  *      Advanced Standard Profile Kernel
    5  *
    6  *  Copyright (C) 2006-2016 by Embedded and Real-Time Systems Laboratory
    7  *              Graduate School of Information Science, Nagoya Univ., JAPAN
    8  *
    9  *  上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ
    10  *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
    11  *  変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
    12  *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
    13  *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
    14  *      スコード中に含まれていること.
    15  *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
    16  *      用できる形で再配布する場合には,再配布に伴うドキュメント(利用
    17  *      者マニュアルなど)に,上記の著作権表示,この利用条件および下記
    18  *      の無保証規定を掲載すること.
    19  *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
    20  *      用できない形で再配布する場合には,次のいずれかの条件を満たすこ
    21  *      と.
    22  *    (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
    23  *        作権表示,この利用条件および下記の無保証規定を掲載すること.
    24  *    (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
    25  *        報告すること.
    26  *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
    27  *      害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
    28  *      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
    29  *      由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
    30  *      免責すること.
    31  *
    32  *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
    33  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    34  *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
    35  *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
    36  *  の責任を負わない.
    37  *
    38  *  $Id$
    39  */
    40 
    411/*
    422 *              kernel.hのターゲット依存部(GR-PEACH用)
     
    455 *  から直接インクルードすることはない.このファイルをインクルードする
    466 *  前に,t_stddef.hがインクルードされるので,それに依存してもよい.
     7 *
     8 *  $Id$
    479 */
    4810
    4911#ifndef TOPPERS_TARGET_KERNEL_H
    5012#define TOPPERS_TARGET_KERNEL_H
     13
     14/*
     15 *  高分解能タイマのタイマ周期
     16 *
     17 *  2^32 / 33.33…を丸めた値とする.
     18 */
     19#define TCYC_HRTCNT             128849019U
     20
     21/*
     22 *  高分解能タイマのカウント値の進み幅
     23 */
     24#define TSTEP_HRTCNT    1U
     25
     26/*
     27 *  オーバランハンドラの残りプロセッサ時間に指定できる最大値
     28 *
     29 *  この値をOSタイマへの設定値に変換してタイマに設定した後,タイマの現
     30 *  在値を読み出してμ秒単位に変換できる値としている.タイマの現在値を
     31 *  μ秒単位に変換する時に34を加えるため,以下の条件を満たす最大の値と
     32 *  する.
     33 *              (TMAX_OVRTIM * 33 + TMAX_OVRTIM / 3 + 1) + 34 < 2^32
     34 */
     35#define TMAX_OVRTIM             128849017U
    5136
    5237/*
  • EcnlProtoTool/trunk/asp3_dcre/target/gr_peach_gcc/target_kernel.trb

    r321 r429  
    11# -*- coding: utf-8 -*-
    22#
    3 #               パス2の生成スクリプトのターゲット依存部(GR-PEACH用)
     3#               パス2の生成スクリプトのターゲット依存部
     4#
     5#  $Id: target_kernel.trb 1071 2018-11-25 01:27:37Z ertl-hiro $
    46#
    57
     
    79#  生成スクリプトのチップ依存部
    810#
    9 IncludeTrb("chip_kernel.trb")
     11IncludeTrb("chip_kernel.trb");
  • EcnlProtoTool/trunk/asp3_dcre/target/gr_peach_gcc/target_kernel_impl.c

    r321 r429  
    33 *      Toyohashi Open Platform for Embedded Real-Time Systems/
    44 *      Advanced Standard Profile Kernel
    5  *
    6  *  Copyright (C) 2007-2016 by Embedded and Real-Time Systems Laboratory
     5 * 
     6 *  Copyright (C) 2007-2018 by Embedded and Real-Time Systems Laboratory
    77 *              Graduate School of Information Science, Nagoya Univ., JAPAN
    8  *
     8 * 
    99 *  上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ
    1010 *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
     
    2929 *      由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
    3030 *      免責すること.
    31  *
     31 * 
    3232 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
    3333 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     
    3535 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
    3636 *  の責任を負わない.
    37  *
     37 * 
    3838 *  $Id$
    3939 */
     
    4848#include "rza1.h"
    4949#include "scif.h"
    50 #include "core_pl310.h"
    51 #include "us_ticker_api.h"
     50
     51/*
     52 * C++のグローバルコンストラクタ呼び出し
     53 */
     54void __libc_init_array()
     55{
     56        /* グローバルコンストラクタでOS APIを呼び出す場合は、
     57           タスクが起動してから行う */
     58}
    5259
    5360/*
     
    6370 *  MMUへの設定属性(第1レベルディスクリプタ)
    6471 */
    65 #define MMU_ATTR_RAM    (ARM_MMU_DSCR1_SHARED|ARMV6_MMU_DSCR1_APX0 \
    66                                                         |ARM_MMU_DSCR1_TEX001|ARM_MMU_DSCR1_AP11 \
    67                                                         |ARM_MMU_DSCR1_CB11)
    68 #define MMU_ATTR_IODEV  (ARM_MMU_DSCR1_SHARED|ARMV6_MMU_DSCR1_APX0 \
    69                                                         |ARM_MMU_DSCR1_TEX000|ARM_MMU_DSCR1_AP11 \
    70                                                         |ARM_MMU_DSCR1_CB01|ARMV6_MMU_DSCR1_NOEXEC)
     72#define MMU_ATTR_RAM    (ARM_MMU_DSCR1_SHARED|ARM_MMU_DSCR1_TEX001 \
     73                                                        |ARMV6_MMU_DSCR1_AP011|ARM_MMU_DSCR1_CB11)
     74#define MMU_ATTR_IODEV  (ARM_MMU_DSCR1_SHARED|ARM_MMU_DSCR1_TEX000 \
     75                                                        |ARMV6_MMU_DSCR1_AP011|ARM_MMU_DSCR1_CB01 \
     76                                                        |ARMV6_MMU_DSCR1_NOEXEC)
     77
    7178/*
    7279 *  MMUの設定情報(メモリエリアの情報)
    7380 */
    74 ARM_MMU_CONFIG arm_memory_area[] = {
     81const ARM_MMU_CONFIG arm_memory_area[] = {
    7582        { SPI_ADDR, SPI_ADDR, SPI_SIZE, MMU_ATTR_RAM },
    7683        { SRAM_ADDR, SRAM_ADDR, SRAM_SIZE, MMU_ATTR_RAM },
     
    206213 *  システムログの低レベル出力のための初期化
    207214 *
    208  *  セルタイプtPutLogGRPeach内に実装されている関数を直接呼び出す.
    209  */
    210 extern void     tPutLogGRPeach_initialize(void);
     215 *  セルタイプtPutLogSIOPort内に実装されている関数を直接呼び出す.
     216 */
     217extern void     tPutLogSIOPort_initialize(void);
    211218
    212219/*
     
    244251
    245252        /*
    246          *  L2キャッシュコントローラ(PL310)の初期化
    247          */
    248         /*pl310_initialize(0x0U, ~0x0U);*/
    249 
    250         /*
    251253         *  LEDを青色に点灯させる
    252254         */
     
    254256
    255257        /*
    256          *  低レベル出力用にSIOを初期化
     258         *  SIOを初期化
    257259         */
    258260#ifndef TOPPERS_OMIT_TECS
    259         tPutLogGRPeach_initialize();
     261        tPutLogSIOPort_initialize();
    260262#endif /* TOPPERS_OMIT_TECS */
    261263}
     
    268270{
    269271        static int first = 1;
     272        extern void    software_term_hook(void);
     273        void (*volatile fp)(void) = software_term_hook;
     274
     275        /*
     276         *  software_term_hookへのポインタを,一旦volatile指定のあるfpに代
     277         *  入してから使うのは,0との比較が最適化で削除されないようにするた
     278         *  めである.
     279         */
     280        if (fp != 0) {
     281                (*fp)();
     282        }
    270283
    271284        /*
     
    293306        rza1_config_port(RZA1_PORT_P(6), led, set);
    294307}
    295 
    296 void us_ticker_init(void)
    297 {
    298 }
    299 
    300 uint32_t us_ticker_read()
    301 {
    302         ER ret;
    303         SYSTIM now;
    304 
    305         ret = get_tim(&now);
    306         if(ret != E_OK)
    307                 return 0;
    308 
    309         return now;
    310 }
    311 
    312 void us_ticker_set_interrupt(timestamp_t timestamp)
    313 {
    314         Asm("bkpt #0");
    315 }
    316 
    317 void us_ticker_disable_interrupt(void)
    318 {
    319 }
    320 
    321 void us_ticker_clear_interrupt(void)
    322 {
    323 }
    324 
    325 void wait(float s)
    326 {
    327         wait_us(s * 1000000.0f);
    328 }
    329 
    330 void wait_ms(int ms)
    331 {
    332         wait_us(ms * 1000);
    333 }
    334 
    335 void wait_us(int us)
    336 {
    337         ER ret;
    338 
    339         ret = dly_tsk(us);
    340         if (ret == E_CTX){
    341                 uint32_t start = us_ticker_read();
    342                 while ((us_ticker_read() - start) < (uint32_t)us);
    343         }
    344 }
  • EcnlProtoTool/trunk/asp3_dcre/target/gr_peach_gcc/target_kernel_impl.h

    r321 r429  
    33 *      Toyohashi Open Platform for Embedded Real-Time Systems/
    44 *      Advanced Standard Profile Kernel
    5  *
     5 * 
    66 *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
    77 *                              Toyohashi Univ. of Technology, JAPAN
    8  *  Copyright (C) 2006-2016 by Embedded and Real-Time Systems Laboratory
     8 *  Copyright (C) 2006-2018 by Embedded and Real-Time Systems Laboratory
    99 *              Graduate School of Information Science, Nagoya Univ., JAPAN
    10  *
     10 * 
    1111 *  上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ
    1212 *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
     
    3131 *      由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
    3232 *      免責すること.
    33  *
     33 * 
    3434 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
    3535 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     
    3737 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
    3838 *  の責任を負わない.
    39  *
     39 * 
    4040 *  $Id$
    4141 */
     
    5757
    5858/*
    59  *  トレースログに関する設定
    60  */
    61 #ifdef TOPPERS_ENABLE_TRACE
    62 #include "arch/tracelog/trace_log.h"
    63 #endif /* TOPPERS_ENABLE_TRACE */
    64 
    65 /*
    66  *  デフォルトの非タスクコンテキスト用のスタック領域の定義
    67  */
    68 #define DEFAULT_ISTKSZ  0x2000U         /* 8KB */
    69 
    70 /*
    7159 *  微少時間待ちのための定義(本来はSILのターゲット依存部)
    7260 */
    73 #define SIL_DLY_TIM1    352
    74 #define SIL_DLY_TIM2    200
     61#define SIL_DLY_TIM1    110
     62#define SIL_DLY_TIM2    72
    7563
    7664/*
     
    8472 *  ターゲットシステム依存の初期化
    8573 */
    86 extern void target_initialize(void);
     74extern void     target_initialize(void);
    8775
    8876/*
     
    9179 *  システムを終了する時に使う.
    9280 */
    93 extern void target_exit(void) NoReturn;
     81extern void     target_exit(void) NoReturn;
    9482
    9583#endif /* TOPPERS_MACRO_ONLY */
  • EcnlProtoTool/trunk/asp3_dcre/target/gr_peach_gcc/target_rename.def

    r331 r429  
    11# target_kernel_impl.c
     2arm_tnum_memory_area
     3arm_memory_area
    24target_initialize
    35target_exit
    46
    5 # tTraceLog.c
    6 log_dsp_enter
    7 log_dsp_leave
    8 log_inh_enter
    9 log_inh_leave
    10 log_exc_enter
    11 log_exc_leave
    12 
    137INCLUDE "chip"
  • EcnlProtoTool/trunk/asp3_dcre/target/gr_peach_gcc/target_rename.h

    r321 r429  
    77 *  target_kernel_impl.c
    88 */
     9#define arm_tnum_memory_area            _kernel_arm_tnum_memory_area
     10#define arm_memory_area                         _kernel_arm_memory_area
    911#define target_initialize                       _kernel_target_initialize
    1012#define target_exit                                     _kernel_target_exit
    11 
    12 /*
    13  *  tTraceLog.c
    14  */
    15 #define log_dsp_enter                           _kernel_log_dsp_enter
    16 #define log_dsp_leave                           _kernel_log_dsp_leave
    17 #define log_inh_enter                           _kernel_log_inh_enter
    18 #define log_inh_leave                           _kernel_log_inh_leave
    19 #define log_exc_enter                           _kernel_log_exc_enter
    20 #define log_exc_leave                           _kernel_log_exc_leave
    2113
    2214
  • EcnlProtoTool/trunk/asp3_dcre/target/gr_peach_gcc/target_sil.h

    r321 r429  
    11/*
    2  *  TOPPERS Software
    3  *      Toyohashi Open Platform for Embedded Real-Time Systems
    4  *
    5  *  Copyright (C) 2007-2015 by Embedded and Real-Time Systems Laboratory
    6  *              Graduate School of Information Science, Nagoya Univ., JAPAN
    7  *
    8  *  上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ
    9  *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
    10  *  変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
    11  *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
    12  *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
    13  *      スコード中に含まれていること.
    14  *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
    15  *      用できる形で再配布する場合には,再配布に伴うドキュメント(利用
    16  *      者マニュアルなど)に,上記の著作権表示,この利用条件および下記
    17  *      の無保証規定を掲載すること.
    18  *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
    19  *      用できない形で再配布する場合には,次のいずれかの条件を満たすこ
    20  *      と.
    21  *    (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
    22  *        作権表示,この利用条件および下記の無保証規定を掲載すること.
    23  *    (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
    24  *        報告すること.
    25  *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
    26  *      害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
    27  *      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
    28  *      由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
    29  *      免責すること.
    30  *
    31  *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
    32  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    33  *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
    34  *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
    35  *  の責任を負わない.
    36  *
    37  *  $Id$
    38  */
    39 
    40 /*
    41  *              sil.hのチップ依存部(GR-PEACH用)
     2 *              sil.hのターゲット依存部(GR-PEACH用)
    423 *
    434 *  このヘッダファイルは,sil.hからインクルードされる.他のファイルから
    445 *  直接インクルードすることはない.このファイルをインクルードする前に,
    456 *  t_stddef.hがインクルードされるので,それに依存してもよい.
     7 *
     8 *  $Id$
    469 */
    4710
     
    5720 *  コアで共通な定義(チップ依存部は飛ばす)
    5821 */
    59 #ifndef TECSGEN
    6022#include "core_sil.h"
    61 #endif /* TECSGEN */
    6223
    6324#endif /* TOPPERS_TARGET_SIL_H */
  • EcnlProtoTool/trunk/asp3_dcre/target/gr_peach_gcc/target_stddef.h

    r321 r429  
    1 /*
    2  *  TOPPERS Software
    3  *      Toyohashi Open Platform for Embedded Real-Time Systems
    4  *
    5  *  Copyright (C) 2007-2016 by Embedded and Real-Time Systems Laboratory
    6  *              Graduate School of Information Science, Nagoya Univ., JAPAN
    7  *
    8  *  上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ
    9  *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
    10  *  変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
    11  *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
    12  *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
    13  *      スコード中に含まれていること.
    14  *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
    15  *      用できる形で再配布する場合には,再配布に伴うドキュメント(利用
    16  *      者マニュアルなど)に,上記の著作権表示,この利用条件および下記
    17  *      の無保証規定を掲載すること.
    18  *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
    19  *      用できない形で再配布する場合には,次のいずれかの条件を満たすこ
    20  *      と.
    21  *    (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
    22  *        作権表示,この利用条件および下記の無保証規定を掲載すること.
    23  *    (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
    24  *        報告すること.
    25  *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
    26  *      害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
    27  *      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
    28  *      由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
    29  *      免責すること.
    30  *
    31  *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
    32  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    33  *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
    34  *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
    35  *  の責任を負わない.
    36  *
    37  *  $Id$
    38  */
    39 
    401/*
    412 *              t_stddef.hのターゲット依存部(GR-PEACH用)
     
    445 *  イルからは直接インクルードすることはない.他のヘッダファイルに先立っ
    456 *  て処理されるため,他のヘッダファイルに依存してはならない.
     7 *
     8 *  $Id$
    469 */
    4710
     
    5619
    5720/*
    58  *  開発環境で共通な定義
    59  */
    60 #ifndef TOPPERS_MACRO_ONLY
    61 #include <stdint.h>
    62 #endif /* TOPPERS_MACRO_ONLY */
    63 
    64 #define TOPPERS_STDFLOAT_TYPE1
    65 #include "tool_stddef.h"
    66 
    67 /*
    68  *  チッブ依存で共通な定義
     21 *  チッブで共通な定義
    6922 */
    7023#include "chip_stddef.h"
  • EcnlProtoTool/trunk/asp3_dcre/target/gr_peach_gcc/target_support.S

    r321 r429  
    5151#define CAST(type, val)         (val)           /* 型キャストを行うマクロ */
    5252#include "kernel_impl.h"
    53 #include "core_pl310.h"
     53#include "pl310.h"
    5454#include "core_asm.inc"
    5555
     
    7171        ldrb    r0, [r2]                /* ダミーリード */
    7272
    73         /* 
     73        /*
    7474         *  クロック関係の初期化
    7575         *
     
    103103
    104104#ifdef TOPPERS_RZA1H
    105         /* 
     105        /*
    106106         *  画像処理クロックを「×2/3」に(266.67MHz)
    107107         */
     
    115115#endif /* TOPPERS_RZA1H */
    116116
    117         /* 
     117        /*
    118118         *  ソフトウェアスタンバイ復帰中でなくなるまで待つ
    119119         */
  • EcnlProtoTool/trunk/asp3_dcre/target/gr_peach_gcc/target_syssvc.h

    r426 r429  
    11/*
    2  *  TOPPERS/ASP Kernel
    3  *      Toyohashi Open Platform for Embedded Real-Time Systems/
    4  *      Advanced Standard Profile Kernel
    5  *
    6  *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
    7  *                              Toyohashi Univ. of Technology, JAPAN
    8  *  Copyright (C) 2005-2016 by Embedded and Real-Time Systems Laboratory
    9  *              Graduate School of Information Science, Nagoya Univ., JAPAN
    10  *
    11  *  上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ
    12  *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
    13  *  変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
    14  *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
    15  *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
    16  *      スコード中に含まれていること.
    17  *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
    18  *      用できる形で再配布する場合には,再配布に伴うドキュメント(利用
    19  *      者マニュアルなど)に,上記の著作権表示,この利用条件および下記
    20  *      の無保証規定を掲載すること.
    21  *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
    22  *      用できない形で再配布する場合には,次のいずれかの条件を満たすこ
    23  *      と.
    24  *    (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
    25  *        作権表示,この利用条件および下記の無保証規定を掲載すること.
    26  *    (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
    27  *        報告すること.
    28  *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
    29  *      害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
    30  *      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
    31  *      由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
    32  *      免責すること.
    33  *
    34  *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
    35  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    36  *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
    37  *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
    38  *  の責任を負わない.
    39  *
    40  *  $Id$
    41  */
    42 
    43 /*
    44  *              システムサービスのターゲット依存部(GR-PEACH用)
     2 *              システムサービスのターゲット依存部
    453 *
    464 *  システムサービスのターゲット依存部のヘッダファイル.システムサービ
    475 *  スのターゲット依存の設定は,できる限りコンポーネント記述ファイルで
    486 *  記述し,このファイルに記述するものは最小限とする.
     7 *
     8 *  $Id$
    499 */
    5010
    5111#ifndef TOPPERS_TARGET_SYSSVC_H
    5212#define TOPPERS_TARGET_SYSSVC_H
    53 
    54 #include "gr_peach.h"
    55 
    56 /*
    57  *  トレースログに関する設定
    58  */
    59 #ifdef TOPPERS_ENABLE_TRACE
    60 #include "arch/tracelog/trace_log.h"
    61 #endif /* TOPPERS_ENABLE_TRACE */
    6213
    6314/*
  • EcnlProtoTool/trunk/asp3_dcre/target/gr_peach_gcc/target_test.h

    r321 r429  
    33 *      Toyohashi Open Platform for Embedded Real-Time Systems/
    44 *      Advanced Standard Profile Kernel
    5  *
     5 * 
    66 *  Copyright (C) 2007-2016 by Embedded and Real-Time Systems Laboratory
    77 *              Graduate School of Information Science, Nagoya Univ., JAPAN
    8  *
     8 * 
    99 *  上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ
    1010 *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
     
    2929 *      由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
    3030 *      免責すること.
    31  *
     31 * 
    3232 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
    3333 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     
    3535 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
    3636 *  の責任を負わない.
    37  *
     37 * 
    3838 *  $Id$
    3939 */
     
    4949
    5050/*
    51  *  サンプルプログラムで使用する割込みに関する定義
     51 *  サンプルプログラム/テストプログラムで使用する割込みに関する定義
    5252 */
    5353#define INTNO1                          INTNO_IRQ5
    5454#define INTNO1_INTATR           TA_ENAINT|TA_NEGEDGE
    55 #define INTNO1_INTPRI           -15
     55#define INTNO1_INTPRI           (-15)
    5656#define intno1_clear()          rza1_clear_irq(INTNO_IRQ5)
    5757
  • EcnlProtoTool/trunk/asp3_dcre/target/gr_peach_gcc/target_timer.cfg

    r321 r429  
    55 */
    66
    7 #include "gr_peach.h"
    87#include "target_timer.h"
    98
    109/*
    11  *  チップ依存部(RZ/A1用)
     10 *  チップ依存部
    1211 */
    1312INCLUDE("chip_timer.cfg");
  • EcnlProtoTool/trunk/asp3_dcre/target/gr_peach_gcc/target_timer.h

    r321 r429  
    11/*
    2  *  TOPPERS/ASP Kernel
    3  *      Toyohashi Open Platform for Embedded Real-Time Systems/
    4  *      Advanced Standard Profile Kernel
    5  *
    6  *  Copyright (C) 2007-2016 by Embedded and Real-Time Systems Laboratory
    7  *              Graduate School of Information Science, Nagoya Univ., JAPAN
    8  *
    9  *  上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ
    10  *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
    11  *  変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
    12  *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
    13  *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
    14  *      スコード中に含まれていること.
    15  *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
    16  *      用できる形で再配布する場合には,再配布に伴うドキュメント(利用
    17  *      者マニュアルなど)に,上記の著作権表示,この利用条件および下記
    18  *      の無保証規定を掲載すること.
    19  *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
    20  *      用できない形で再配布する場合には,次のいずれかの条件を満たすこ
    21  *      と.
    22  *    (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
    23  *        作権表示,この利用条件および下記の無保証規定を掲載すること.
    24  *    (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
    25  *        報告すること.
    26  *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
    27  *      害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
    28  *      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
    29  *      由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
    30  *      免責すること.
    31  *
    32  *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
    33  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    34  *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
    35  *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
    36  *  の責任を負わない.
    37  *
     2 *              タイマドライバ
     3 *
    384 *  $Id$
    39  */
    40 
    41 /*
    42  *              タイマドライバ(GR-PEACH用)
    435 */
    446
     
    479
    4810/*
    49  *  チップで共通な定義(RZ/A1用)
     11 *  チップで共通な定義
    5012 */
    5113#include "chip_timer.h"
  • EcnlProtoTool/trunk/asp3_dcre/target/gr_peach_gcc/target_unrename.h

    r321 r429  
    88 *  target_kernel_impl.c
    99 */
     10#undef arm_tnum_memory_area
     11#undef arm_memory_area
    1012#undef target_initialize
    1113#undef target_exit
    12 
    13 /*
    14  *  tTraceLog.c
    15  */
    16 #undef log_dsp_enter
    17 #undef log_dsp_leave
    18 #undef log_inh_enter
    19 #undef log_inh_leave
    20 #undef log_exc_enter
    21 #undef log_exc_leave
    2214
    2315
  • EcnlProtoTool/trunk/asp3_dcre/target/gr_peach_gcc/target_user.txt

    r331 r429  
    33                GR-PEACH依存部 ユーザーズマニュアル
    44
    5                 対応バージョン: Release 3.1
    6                 最終更新: 2016年4月2
     5                対応バージョン: Release 3.5.0
     6                最終更新: 2019年10月6
    77
    88このドキュメントは,TOPPERS/ASP3カーネルのGR-PEACHターゲット依存部を使
     
    1414     Advanced Standard Profile Kernel
    1515
    16  Copyright (C) 2008-2016 by Embedded and Real-Time Systems Laboratory
     16 Copyright (C) 2008-2019 by Embedded and Real-Time Systems Laboratory
    1717             Graduate School of Information Science, Nagoya Univ., JAPAN
    1818 
    19  上記著作権者は,以下の(1)(4)の条件を満たす場合に限り,本ソフトウェ
     19 上記著作権者は,以下の(1)(4)の条件を満たす場合に限り,本ソフトウェ
    2020 ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
    2121 変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
     
    4646 の責任を負わない.
    4747 
    48  $Id: target_user.txt 1145 2017-02-06 04:26:43Z coas-nagasima $
     48 $Id: target_user.txt 1280 2019-10-06 01:47:52Z ertl-hiro $
    4949----------------------------------------------------------------------
    5050
     
    5757
    5858○目次
     59
     601.GR-PEACHターゲット依存部の概要
     61        1.1 対応するターゲットシステムとターゲット略称
     62        1.2 ターゲット依存部の構成
     63        1.3 依存している個別パッケージのバージョン番号
     64        1.4 開発環境/デバッグ環境と動作確認条件
     65        1.5 メモリマップ
     662.ターゲット定義事項の規定
     673.ドライバ関連の情報
     68        3.1 タイマドライバ
     69        3.2 シリアルインタフェースドライバ
     70        3.3 システムログの低レベル出力
     714.システム構築手順と実行手順
     72        4.1 ROM実行の場合の構築手順と実行手順
     73        4.2 RAM実行の場合の構築手順と実行手順
     74        4.3 ドライバのインストール
     755.リファレンス
     76        5.1 ディレクトリ構成・ファイル構成
     77        5.2 バージョン履歴
    5978
    6079
     
    98117                arm_gcc/doc/            ARM依存部に関するドキュメント
    99118                gcc/                            GCC開発環境依存部
    100                 tracelog/                       トレースログ記録のサンプルコード
    101119
    1021201.3 依存している個別パッケージのバージョン番号
    103121
    104 GR-PEACHターゲット依存部(バージョン 3.1.0)の個別パッケージが依存して
     122GR-PEACHターゲット依存部(バージョン 3.4.0)の個別パッケージが依存して
    105123いる個別パッケージと,動作確認を行ったバージョンは次の通り.
    106124
    107125        個別パッケージの名称      バージョン   個別パッケージファイル名
    108126        ------------------------------------------------------------------
    109         ターゲット非依存部               3.1.0           asp3-3.1.0.tar.gz
     127        ターゲット非依存部               3.4.0           asp3-3.4.0.tar.gz
    110128
    1111291.4 開発環境/デバッグ環境と動作確認条件
    112130
    113 開発環境として,以下のURLからプリビルド版をダウンロードすることができる
    114 GCC ARM Embeddedを用いている.
    115 
    116         https://launchpad.net/gcc-arm-embedded/
     131開発環境として,以下のURLからプリビルド版をダウンロードすることができ
     132るGNU ARM Embedded Toolchainを用いている(Cortex-MとCortex-R向けの開発
     133環境であるが,Cortex-A向けにも使用できる).
     134
     135        https://developer.arm.com/open-source/gnu-toolchain/gnu-rm
    117136
    118137動作確認を行ったバージョンは次の通り.
    119138
    120         gcc: version 4.8.3 20140228
    121         binutils(objcopy,objdump):2.23.2.20140228
    122 
    123 デバッグ環境として,オンボードのCMSIS-DAPから,OpenOCDを経由して,GDB
    124 用いる環境で動作確認を行っている.動作確認を行ったデバッグ環境のバージョ
    125 ンは次の通り.
     139        gcc: 7.3.1 20180622
     140        binutils(objcopy,objdump):2.30.0.20180329
     141
     142デバッグ環境として,オンボードのCMSIS-DAPから,OpenOCDを経由して,GDB
     143を用いる環境で動作確認を行っている.動作確認を行ったデバッグ環境のバー
     144ジョンは次の通り.
    126145
    127146        gdb: 7.6.0.20140228-cvs
    128147        openocd: 0.10.0-dev-00287-g85cec24
    129148
    130 古いバージョンのOpenOCDでは正しく動作しないことが報告されているため,注
    131 意が必要である.
    132 
    133 GUIベースの開発環境/デバッグ環境として,Atollic TrueStudioを用いること
    134 ができる.
     149新しいgdb(8.1.0.20180315-git)を使用したところ,OpenOCDとうまく接続で
     150きなかったため,やや古いgdbを使用している.また,異なるバージョンの
     151OpenOCDでは正しく動作しないことが報告されているため,注意が必要である.
     152
     153GUIベースの開発環境/デバッグ環境として,Atollic TrueSTUDIOを用いるこ
     154とができる.
    135155
    1361561.5 メモリマップ
     
    143163        0xe8000000 - 0xffffffff:I/O領域(384MB),予約領域を含む
    144164
    145 内蔵SRAM領域の先頭の16KBは,ブートローダを置くために使用する.
     165シリアルフラッシュメモリの先頭の16KBは,ブートローダを置くために使用す
     166る.
    146167
    147168RAM実行の場合は,以下のメモリマップを想定している.
    148169
    149         0x20000000 - 0x200fffff:内蔵SRAM(1MB)… ROM領域として使用
    150         0x20100000 - 0x209fffff:内蔵SRAM(9MB)
     170        0x20000000 - 0x200fffff:ROMとみなす内蔵SRAM領域(1MB)
     171        0x20100000 - 0x209fffff:RAMとみなす内蔵SRAM領域(9MB)
    151172        0x3fe00000 - 0x3fffffff:I/O領域(2MB),予約領域を含む
    152173        0xe8000000 - 0xffffffff:I/O領域(384MB),予約領域を含む
     
    156177
    157178メモリマップを変更する場合には,target_kernel_impl.cとgr_peach_rom.ld
    158 (または,pr_peach_ram.kd)を修正する必要がある.
     179(または,pr_peach_ram.ld)を修正する必要がある.
    159180
    160181
     
    164185装されている.ARMコア依存部およびRZ/A1チップ依存部におけるターゲット定
    165186義事項の規定については,「ARM依存部 ユーザーズマニュアル」を参照するこ
    166 と.それらの規定以外に,GR-PEACHターゲット定義の事項はない.
     187と.
    167188
    168189
     
    180201コミュニケーションインタフェースをサポートしている.
    181202
    182 USB経由でホストと接続できるポートは,SCIFのチャネル2(チャネル番号は0か
    183 ら始まるので,ポート3に相当)である.一方,sample1.cdlでは,ログタスク
    184 およびサンプルプログラムが使うポートがポート1となっているため,ポート1
    185 とポート3を入れ換えている.すなわち,シリアルインタフェースドライバのポー
    186 ト1がSCIFのチャネル2,ポート2がチャネル1,ポート3がチャネル0,ポート4が
    187 チャネル3,…に対応している.
     203GR-PEACHでUSB経由でホストと接続できるポートは,SCIFのチャネル2(チャネ
     204ル番号は0から始まるので,ポート3に相当)である.一方,サンプルプログラ
     205ム(sample1.cdl)では,ログタスクおよびサンプルプログラムが使うポート
     206がポート1となっているため,ポート1とポート3を入れ換えている.すなわち,
     207シリアルインタフェースドライバのポート1がSCIFのチャネル2,ポート2がチャ
     208ネル1,ポート3がチャネル0,ポート4がチャネル3,…に対応している.この
     209対応を変更するには,tSIOPortGRPeach.cdlを修正する必要がある.
     210
     211各ポートは,以下の通りに設定している.
    188212
    189213        ボーレート:115200bps
     
    191215        パリティ:なし
    192216        ストップビット:1ビット
    193         フロー制御:なし
    194 
    195 この対応を変更するには,tSIOPortGRPeach.cdlを修正する必要がある.
     217
     218この設定は,RZ/A1チップ依存部で行っているが,tSIOPortGRPeach.cdlを修正
     219することで変更することができる.
    196220
    1972213.3 システムログの低レベル出力
     
    292316                renesas_rza1h_swd.cfg   OpenOCDの起動スクリプト
    293317                sf_boot.c                               ブートローダ(ROM実行用)
    294                 tPutLogGRPeach.c                システムログの低レベル出力
    295                 tPutLogGRPeach.cdl              システムログの低レベル出力のコンポーネント記述
    296318                tSIOPortGRPeach.cdl             シリアルインタフェースドライバのターゲット
    297319                                                                依存部(GR-PEACH用)のコンポーネント記述
    298                 tSIOPortGRPeachMain_inline.h    シリアルインタフェースドライバの
    299                                                                 ターゲット依存部(GR-PEACH用)
    300320                target.cdl                              コンポーネント記述ファイルのターゲット依存部
    301321                target_cfg1_out.h               cfg1_out.cのリンクに必要なスタブの定義
     
    322342
    323343        2016年5月15日      Release 3.1.0           最初の一般公開
     344        2017年7月21日      Release 3.2.0
     345        2018年4月19日      Release 3.3.0
     346        2019年3月20日      Release 3.4.0
     347        2019年10月6日      Release 3.5.0
    324348
    325349以上
  • EcnlProtoTool/trunk/asp3_dcre/target/gr_peach_gcc/tinet_target_config.h

    r331 r429  
    182182#define NUM_IF_MBED_RXBUF               NUM_OF_RX_DESCRIPTOR    /* 受信バッファ数                      */
    183183
    184 #define TMO_IF_MBED_GET_NET_BUF 1000    /* [ms]、受信用 net_buf 獲得タイムアウト    */
     184#define TMO_IF_MBED_GET_NET_BUF 1000    /* [us]、受信用 net_buf 獲得タイムアウト    */
    185185                                        /* [s]、 送信タイムアウト                        */
    186186#define TMO_IF_MBED_XMIT                (2*IF_TIMER_HZ)
    187187
    188188/*#define IF_MBED_CFG_ACCEPT_ALL                 マルチキャスト、エラーフレームも受信するときはコメントを外す。*/
     189
     190/*
     191 *  Bluetooth USB PAN に関する定義
     192 */
     193
     194#define NUM_IF_BTUSB_TXBUF              2       /* 送信バッファ数                      */
     195#define NUM_IF_BTUSB_RXBUF              2       /* 受信バッファ数                      */
     196#define IF_BTUSB_BUF_PAGE_SIZE  1518    /* バッファサイズ */
     197
     198#define TMO_IF_BTUSB_GET_NET_BUF        1000    /* [us]、受信用 net_buf 獲得タイムアウト    */
     199                                        /* [s]、 送信タイムアウト                        */
     200#define TMO_IF_BTUSB_XMIT               (2*IF_TIMER_HZ)
    189201
    190202/*
Note: See TracChangeset for help on using the changeset viewer.