OSDN Git Service

マルチプロジェクト型にレポジトリを変更するために移動した
[toppersasp4lpc/asp.git] / asp / target / lpc1768_generic_gcc / target_config.c
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  * \addtogroup TOPPERS_TARGET
45  * \{
46  */
47
48 /**
49  * \file target_config.c
50  * \brief カーネル実装のターゲット依存モジュール(NXP LPC1768用)
51  * \details
52  * カーネル構築に必要でターゲットに依存する定義をこのファイルで行う。
53  */
54 #include "kernel_impl.h"
55 #include <sil.h>
56 #include "lpc1768_generic.h"
57 #include "target_serial.h"
58 #include "target_syssvc.h"
59
60 /**
61  * \brief UART0のTX信号にピンを割り付けるためのビットフィールド定義
62  *
63  */
64 #define PINSEL_UART0_TX 0x10
65
66 /**
67  * \brief UART0のRX信号にピンを割り付けるためのビットフィールド定義
68  *
69  */
70 #define PINSEL_UART0_RX 0x40
71
72
73
74
75
76 /**
77  * \brief ターゲット依存部 初期化処理
78  * \details
79  * sta_ker() の中から呼び出されてターゲットのハードウェアの初期化を行う。この関数の中では
80  * PLLの初期化やペリフェラル・ピンの初期化などを行う。
81  */
82 void target_initialize(void)
83 {
84
85         /*
86          *  チップ依存部の初期化。この呼び出しは削除してはいけない。
87          */
88         chip_initialize();
89
90         /* Flash Accelerator を初期化。100MHz動作に対応 */
91         LPC_SC->FLASHCFG = 0x403a;
92
93         /*
94          *  プロセッサクロックの初期化
95          */
96                 // PLLの設定 (2 * 50 * 4MHz)/1/4 = 100MHz
97         initPLL0(
98                         eIrc,   // pllClockSource_type  clkSrc,
99                         0,              // unsigned int                         isMainOsc20MHzMore,
100                         1,              // unsigned int                 N,
101                         50,             // unsigned int                 M,
102                         4               // unsigned int                 cpuClkDiv
103                 );
104
105
106         /*
107          *  I/Oポートの初期化
108          */
109         /* bit5:4=01, bit7:6=01, ピンをUART0に割り当てる。*/
110         LPC_PINCON->PINSEL0 = PINSEL_UART0_TX | PINSEL_UART0_RX;
111
112
113         /*
114          *  バナー出力用のシリアル初期化
115          */
116         target_uart_init(SIO_PORTID);
117 }
118
119
120
121
122 /**
123  * \brief ターゲット依存部 終了処理
124  * \details
125  * システム終了時にカーネルから呼ばれる。この関数は呼び出し元に戻らない。
126  */
127 void target_exit(void)
128 {
129         /* チップ依存部の終了処理 */
130         chip_exit();
131
132         while(1)
133                 ;
134 }
135
136 /**
137  * \brief システムログの低レベル出力のための文字出力
138  * \param c 出力キャラクタ
139  * \details
140  * コンソールに1文字出力する。チップ依存部が供給する出力関数をそのまま利用する。
141  */
142 void target_fput_log(char_t c)
143 {
144         chip_fput_log(c);
145 }
146
147
148
149 /**
150  * \}
151  */
152