source: ssp_qb_r5f100le_cs/trunk/target/qb_r5f100le_cs/target_config.c

Last change on this file was 95, checked in by nmir-saito, 9 years ago

ファイルの mime-type 変更

  • Property svn:mime-type set to text/plain; charset=shift_jis
File size: 3.7 KB
Line 
1/*
2 * TOPPERS/SSP Kernel
3 * Smallest Set Profile Kernel
4 *
5 * Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
6 * Toyohashi Univ. of Technology, JAPAN
7 * Copyright (C) 2003-2004 by Platform Development Center
8 * RICOH COMPANY,LTD. JAPAN
9 * Copyright (C) 2003-2015 by Naoki Saito
10 * Nagoya Municipal Industrial Research Institute, JAPAN
11 *
12 * 上記著作権者は,以下の (1)〜(4) の条件を満たす場合に限り,本ソフトウェ
13 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改変・
14 * 再配布(以下,利用と呼ぶ)することを無償で許諾する.
15 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作権
16 * 表示,この利用条件および下記の無保証規定が,そのままの形でソース
17 * コード中に含まれていること.
18 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使用
19 * できる形で再配布する場合には,再配布に伴うドキュメント(利用者マ
20 * ニュアルなど)に,上記の著作権表示,この利用条件および下記の無保
21 * 証規定を掲載すること.
22 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使用
23 * できない形で再配布する場合には,次のいずれかの条件を満たすこと.
24 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著作
25 * 権表示,この利用条件および下記の無保証規定を掲載すること.
26 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに報
27 * 告すること.
28 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害
29 * からも,上記著作権者およびTOPPERSプロジェクトを免責すること.また,
30 * 本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ
31 * く請求からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
32 *
33 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者およ
34 * びTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的に対す
35 * る適合性も含めて,いかなる保証も行わない.また,本ソフトウェアの利用
36 * により直接的または間接的に生じたいかなる損害に関しても,その責任を負
37 * わない.
38 *
39 */
40
41/*
42 * ターゲットシステム依存モジュール(QB-R5F100LE用)
43 */
44#pragma sfr
45#pragma NOP
46#include "kernel_impl.h"
47
48/*
49 * ターゲットシステム依存 初期化ルーチン
50 */
51
52void
53target_initialize(void)
54{
55 /*
56 * プロセッサ依存の初期化
57 */
58 prc_initialize();
59
60 /*
61 * クロック設定
62 */
63 // X1発信モード,低消費発振,AMPH=1(高速クロック)
64 CMC = UINT8_C(0x51);
65
66 // クロック動作ステータス制御レジスタ(X1開始,XT1停止, オンチップオシレータ動作)
67 CSC = UINT8_C(0x40);
68
69 // 発振が安定するまでの時間だけ待つ
70 while((OSTC & UINT8_C(0x01)) == 0){}
71
72 // システムクロック制御レジスタ
73 CKC &= ~UINT8_C(0x40); // CPU/周辺ハードウェアクロックにメインシステムクロック
74 CKC |= UINT8_C(0x10); // メインシステムクロックに高速システムクロック
75 CKC &= ~UINT8_C(0x0f); // 必ず0に設定
76
77 // クロック動作ステータス制御レジスタ
78 CSC |= UINT8_C(0x01); // 高速オンチップオシレータ停止
79
80 /*
81 * UART用ピン設定
82 */
83 // RXD,TXD に P11, P12 を使用
84 PIOR &= ~TBIT_PIOR_PIOR1;
85
86 // P11(RxD0) を入力に設定
87 PM1 |= UINT8_C(0x02);
88
89 // P12(TxD0) をHに設定しておく
90 P1 |= UINT8_C(0x04);
91
92 // P12(TxD0) を出力に設定
93 PM1 &= ~UINT8_C(0x04);
94
95 /*
96 * UARTの設定
97 */
98 target_sau_init(1);
99}
100
101
102/*
103 * ターゲットシステムの終了ルーチン
104 */
105
106void
107target_exit(void)
108{
109 /* CPU依存の終了ルーチン */
110 prc_terminate();
111
112 while (true)
113 {
114 }
115}
116
117/*
118 * システムログの低レベル出力のための文字出力
119 */
120void target_fput_log(char c)
121{
122 if (c == '\n') {
123 sys_putc('\r', LOGTASK_PORTID);
124 }
125 sys_putc(c, LOGTASK_PORTID);
126}
127
128/*
129 * アサーションの失敗時の実行中断処理
130 */
131void
132TOPPERS_assert_abort(void)
133{
134 while(1)
135 {
136 }
137}
Note: See TracBrowser for help on using the repository browser.