source: rubycfg_asp/trunk/asp_dcre/target/gr_sakura_gcc/target_support.c@ 313

Last change on this file since 313 was 313, checked in by coas-nagasima, 7 years ago

ソースを追加

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
  • Property svn:mime-type set to text/x-csrc
File size: 4.9 KB
Line 
1/*
2 * TOPPERS/ASP Kernel
3 * Toyohashi Open Platform for Embedded Real-Time Systems/
4 * Advanced Standard Profile Kernel
5 *
6 * Copyright (C) 2014 Cores Co., Ltd. Japan
7 *
8 * 上記著作権者
9は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ
10 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
11 * 変・再é…
12å¸ƒï¼ˆä»¥ä¸‹ï¼Œåˆ©ç”¨ã¨å‘¼ã¶ï¼‰ã™ã‚‹ã“とを無償で許諾する.
13 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
14 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー
15 * スコード中に含まれていること.
16 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
17 * 用できる形で再é…
18å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œå†é…
19å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨
20 * 者
21マニュアルなど)に,上記の著作権表示,この利用条件および下記
22 * の無保証規定を掲載すること.
23 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
24 * 用できない形で再é…
25å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œæ¬¡ã®ã„ずれかの条件を満たすこ
26 * と.
27 * (a) 再é…
28å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€…
29マニュアルなど)に,上記の著
30 * 作権表示,この利用条件および下記の無保証規定を掲載すること.
31 * (b) 再é…
32å¸ƒã®å½¢æ…
33‹ã‚’,別に定める方法によって,TOPPERSプロジェクトに
34 * 報告すること.
35 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
36 * 害からも,上記著作権者
37およびTOPPERSプロジェクトをå…
38è²¬ã™ã‚‹ã“と.
39 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
40 * 由に基づく請求からも,上記著作権者
41およびTOPPERSプロジェクトを
42 * å…
43è²¬ã™ã‚‹ã“と.
44 *
45 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者
46お
47 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
48 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
49 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
50 * の責任を負わない.
51 *
52 * @(#) $Id: target_support.c 313 2017-07-23 04:50:32Z coas-nagasima $
53 */
54
55/*
56 * ターゲットシステム依存モジュール(GR-SAKURA用)
57 */
58
59#include "kernel_impl.h"
60#include <sil.h>
61
62void hardware_init_hook()
63{
64 /*
65 * 動作モード設定
66 *
67 * 動作モードはボード上の端子によって決定されるため,
68 * ここでは特別設定しない.
69 * ただし, リトルエンディアン/シングルチップモード
70 * であることを前提とする.
71 *
72 * またリセット後, 内
73蔵ROM:有効, 内
74蔵RAM:有効, 外部バス:無効
75 * である.
76 */
77
78 /*
79 * クロック設定
80 *
81 * å…
82¥åŠ›ï¼š12MHz
83 * PLL回路:12 x 8 = 96MHz
84 * システムクロック:96MHz
85 * 周辺モジュールクロック:48MHz
86 * 外部バスクロック:96MHz
87 * とする.
88 */
89 sil_wrb_mem(PORT3_PDR_ADDR,
90 sil_reb_mem(PORT3_PDR_ADDR) & ~PORT_PDR_B6_BIT);
91 sil_wrb_mem(PORT3_PDR_ADDR,
92 sil_reb_mem(PORT3_PDR_ADDR) & ~PORT_PDR_B7_BIT);
93 sil_wrb_mem(PORT3_PMR_ADDR,
94 sil_reb_mem(PORT3_PMR_ADDR) & ~PORT_PDR_B6_BIT);
95 sil_wrb_mem(PORT3_PMR_ADDR,
96 sil_reb_mem(PORT3_PMR_ADDR) & ~PORT_PDR_B7_BIT);
97
98 sil_wrh_mem(SYSTEM_PRCR_ADDR, 0xa503);
99
100 /* メインクロック発振器強制発振 */
101 while((sil_reb_mem(SYSTEM_MOFCR_ADDR) & SYSTEM_MOFCR_MOFXIN) == 0)
102 sil_wrb_mem(SYSTEM_MOFCR_ADDR,
103 sil_reb_mem(SYSTEM_MOFCR_ADDR) | SYSTEM_MOFCR_MOFXIN);
104
105 /* メインクロック発振器動作 */
106 while((sil_reb_mem(SYSTEM_MOSCCR_ADDR) & SYSTEM_MOSCCR_MOSTP) != 0)
107 sil_wrb_mem(SYSTEM_MOSCCR_ADDR,
108 sil_reb_mem(SYSTEM_MOSCCR_ADDR) & ~SYSTEM_MOSCCR_MOSTP);
109
110 sil_wrh_mem(SYSTEM_PLLCR_ADDR,
111 (sil_reh_mem(SYSTEM_PLLCR_ADDR) & ~SYSTEM_PLLCR_STC_MASK)
112 | (0x0f << SYSTEM_PLLCR_STC_OFFSET));
113
114 sil_wrb_mem(SYSTEM_PLLCR2_ADDR,
115 sil_reb_mem(SYSTEM_PLLCR2_ADDR) & ~SYSTEM_PLLCR2_PLLEN);
116
117 sil_wrw_mem(SYSTEM_SCKCR_ADDR, 0x21021211);
118
119 sil_wrh_mem(SYSTEM_SCKCR2_ADDR, 0x0033);
120
121 /* PLL回路選択 */
122 sil_wrh_mem(SYSTEM_SCKCR3_ADDR,
123 (sil_reh_mem(SYSTEM_SCKCR3_ADDR) & ~SYSTEM_SCKCR3_CKSEL_MASK)
124 | (4 << SYSTEM_SCKCR3_CKSEL_OFFSET));
125
126 /*
127 * モジュールストップ
128 *
129 * リセット後, 動作している内
130蔵周辺モジュールはDMAC, DTC,
131 * 内
132蔵RAMのみである.
133 * それ以外の内
134蔵周辺モジュールに関しては使用する側で
135 * 設定すること.
136 */
137 sil_wrh_mem(SYSTEM_PRCR_ADDR, 0xa500);
138}
139
140void software_init_hook()
141{
142 /*
143 * 本コンパイラではweak definitionの機能が無いため,
144 * 特に必
145要な処理はないが, 必
146ず呼び出すこととする.
147 */
148}
Note: See TracBrowser for help on using the repository browser.