OSDN Git Service

コメントの修正及びPLL設定ルーチンの記述。
[toppersasp4lpc/asp.git] / asp / arch / arm_m_gcc / lpc1800_gcc / chip_config.h
1 /*
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-2007 by Embedded and Real-Time Systems Laboratory
9  *              Graduate School of Information Science, Nagoya Univ., JAPAN
10  *  Copyright (C) 2010 by TOPPERS/ASP for LPC project
11  *              http://sourceforge.jp/projects/toppersasp4lpc/
12  * 
13  *  上記著作権者は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ
14  *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
15  *  変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
16  *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
17  *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
18  *      スコード中に含まれていること.
19  *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
20  *      用できる形で再配布する場合には,再配布に伴うドキュメント(利用
21  *      者マニュアルなど)に,上記の著作権表示,この利用条件および下記
22  *      の無保証規定を掲載すること.
23  *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
24  *      用できない形で再配布する場合には,次のいずれかの条件を満たすこ
25  *      と.
26  *    (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
27  *        作権表示,この利用条件および下記の無保証規定を掲載すること.
28  *    (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
29  *        報告すること.
30  *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
31  *      害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
32  *      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
33  *      由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
34  *      免責すること.
35  * 
36  *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
37  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
38  *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
39  *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
40  *  の責任を負わない.
41  * 
42  */
43
44 #ifndef TOPPERS_CHIP_CONFIG_H
45 #define TOPPERS_CHIP_CONFIG_H
46 /**
47  * \addtogroup TOPPERS_CHIP
48  * \{
49  */
50
51 /**
52  * \file chip_config.h
53  * \brief カーネル実装のチップ依存部モジュール(NXP LPC18XX用汎用)
54  * \details
55  * カーネルのターゲット依存部のインクルードファイル.kernel_impl.hのター
56  * ゲット依存部の位置付けとなす.
57  */
58
59 /*
60  * チップ依存部の読み込み
61  */
62 #include "lpc1800.h"
63
64 /*
65  *  トレースログに関する設定
66  */
67 #ifdef TOPPERS_ENABLE_TRACE
68 #include "logtrace/trace_config.h"
69 #endif /* TOPPERS_ENABLE_TRACE */
70
71
72
73
74 /**
75  * \brief 非タスクコンテキスト用スタックポインタの初期値を格納する変数
76  * \details
77  * porting.txtは、*_kernel_istkptを変数として使い、そこに非タスクコンテキスト用
78  * スタックポインタの初期値を格納することを要請している。LPC1800の場合、*_kernel_istkptの
79  * 値は、SRAM実行とROM実行で異なる。これに対応するため、LDスクリプトで例外ベクトルの先頭を
80  * 指す値、_vector_start_lmaを作り、_kernel_istkptとして使用している。
81  */
82 #define _kernel_istkpt _vector_start_lma
83
84 #ifndef DEFAULT_ISTKSZ
85 /**
86  * \brief デフォルトの非タスクコンテキスト用のスタック領域の定義
87  * \details
88  *  割り込み用のスタックのサイズを指定する。8の倍数として指定すること。このマクロは
89  *  ターゲット依存部で指定していない場合にのみ使用される。
90  */
91 #define DEFAULT_ISTKSZ                  (2048)
92 #endif
93
94
95
96 #ifndef TOPPERS_MACRO_ONLY
97
98 /**
99  * @brief PLLのクロックソース。 initPLL0に渡して使う。
100  */
101 typedef enum { eIrc, eMainOsc, eRtcOsc} pllClockSource_type;
102
103 /**
104  * @param Hz PLLの出力周波数。Hz単位。4の倍数が許される。
105  * @details
106  * PLL1の周波数を設定する。クロックソースとなる発振器はIRC(12Mhz)で、それを元に
107  * PLL1を設定する。周波数は任意のものを与えてよいが、設定されるのは4MHzの倍数である。
108  */
109 extern void initPLL1(
110         unsigned int            Hz
111     );
112
113
114
115 /**
116  *  \brief チップ依存の初期化
117  *  \details
118  *  この館数はtarget_initializeから呼ぶことを前提としている。
119  */
120 extern void     chip_initialize(void);
121
122 /**
123  * \brief チップの終了処理
124  * \details
125  *  システムを終了する時に使う.この関数はtarget_exit()から
126  *  呼ぶことを前提としており、prc_terminate()を呼び、処理が終了すると制御を戻す。
127  */
128 extern void     chip_exit(void);
129
130 /**
131  * \brief システムログの低レベル出力のための文字出力
132  * \param c 出力キャラクタ
133  * \details
134  * コンソールに1文字出力する。
135  */
136 extern void chip_fput_log(char_t c);
137
138
139 #endif /* TOPPERS_MACRO_ONLY */
140
141 /*
142  *  プロセッサ依存モジュール(ARM-M用)
143  */
144 #include "arm_m_gcc/common/core_config.h"
145
146 #endif /* TOPPERS_CHIP_CONFIG_H */
147
148 /**
149  * \}
150  */
151