OSDN Git Service

コメントの修正及びPLL設定ルーチンの記述。
[toppersasp4lpc/asp.git] / asp / target / lpc1830_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 LPC1830用)
51  * \details
52  * カーネル構築に必要でターゲットに依存する定義をこのファイルで行う。
53  */
54 #include "kernel_impl.h"
55 #include <sil.h>
56 #include "lpc1830_generic.h"
57 #include "target_serial.h"
58 #include "target_syssvc.h"
59
60
61 /**
62  * \brief ターゲット依存部 初期化処理
63  * \details
64  * sta_ker() の中から呼び出されてターゲットのハードウェアの初期化を行う。この関数の中では
65  * PLLの初期化やペリフェラル・ピンの初期化などを行う。
66  */
67 void target_initialize(void)
68 {
69
70     /*
71      *  チップ依存部の初期化。この呼び出しは削除してはいけない。
72      */
73     chip_initialize();
74
75     initPLL1(SYS_CLOCK);  // Set coreclock to desired frequency
76
77     // USART0のピンの設定
78     LPC_SCU->SFSP6_4 = 2;                       // TXD0 : Mode 2
79     LPC_SCU->SFSP6_5 = 2 | (1<<4) | (1<<6) ;    // RXD0 : Mode 2, EPUN, EZI
80
81     /*
82      *  バナー出力用のシリアル初期化
83      */
84     target_uart_init(SIO_PORTID);
85 }
86
87
88
89
90 /**
91  * \brief ターゲット依存部 終了処理
92  * \details
93  * システム終了時にカーネルから呼ばれる。この関数は呼び出し元に戻らない。
94  */
95 void target_exit(void)
96 {
97     /* チップ依存部の終了処理 */
98     chip_exit();
99
100     while(1)
101         ;
102 }
103
104 /**
105  * \brief システムログの低レベル出力のための文字出力
106  * \param c 出力キャラクタ
107  * \details
108  * コンソールに1文字出力する。チップ依存部が供給する出力関数をそのまま利用する。
109  */
110 void target_fput_log(char_t c)
111 {
112     chip_fput_log(c);
113 }
114
115
116
117 /**
118  * \}
119  */
120