source: uKadecot/trunk/ssp/target/grsakura_ccrx/target_support.c@ 107

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

SHIFT_JISのコードにcharsetプロパティを付けた

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
  • Property svn:mime-type set to text/plain; charset=SHIFT_JIS
File size: 2.3 KB
Line 
1/*-----------------------------------------------------------------------------
2 * TOPPERS/SSP Windows Debug Environment
3 * Copyright (C) 2014 Cores Co., Ltd. Japan
4 *-----------------------------------------------------------------------------
5 * $Id: target_support.c 107 2015-06-10 11:40:31Z coas-nagasima $
6 */
7
8/*
9 * ターゲットシステム依存モジュール(AP-RX62N-0A用)
10 */
11
12#include "kernel_impl.h"
13#include <sil.h>
14
15void hardware_init_hook()
16{
17 /*
18 * 動作モード設定
19 *
20 * 動作モードはボード上の端子によって決定されるため,
21 * ここでは特別設定しない.
22 * ただし, リトルエンディアン/シングルチップモード
23 * であることを前提とする.
24 *
25 * またリセット後, 内蔵ROM:有効, 内蔵RAM:有効, 外部バス:無効
26 * である.
27 */
28
29 /*
30 * クロック設定
31 *
32 * 入力:12MHz
33 * PLL回路:12 x 8 = 96MHz
34 * システムクロック:96MHz
35 * 周辺モジュールクロック:48MHz
36 * 外部バスクロック:96MHz
37 * とする.
38 */
39 sil_wrb_mem(PORT3_PDR_ADDR,
40 sil_reb_mem(PORT3_PDR_ADDR) & ~PORT_PDR_B6_BIT);
41 sil_wrb_mem(PORT3_PDR_ADDR,
42 sil_reb_mem(PORT3_PDR_ADDR) & ~PORT_PDR_B7_BIT);
43 sil_wrb_mem(PORT3_PMR_ADDR,
44 sil_reb_mem(PORT3_PMR_ADDR) & ~PORT_PDR_B6_BIT);
45 sil_wrb_mem(PORT3_PMR_ADDR,
46 sil_reb_mem(PORT3_PMR_ADDR) & ~PORT_PDR_B7_BIT);
47
48 sil_wrh_mem(SYSTEM_PRCR_ADDR, 0xa503);
49
50 /* メインクロック発振器強制発振 */
51 while((sil_reb_mem(SYSTEM_MOFCR_ADDR) & SYSTEM_MOFCR_MOFXIN) == 0)
52 sil_wrb_mem(SYSTEM_MOFCR_ADDR,
53 sil_reb_mem(SYSTEM_MOFCR_ADDR) | SYSTEM_MOFCR_MOFXIN);
54
55 /* メインクロック発振器動作 */
56 while((sil_reb_mem(SYSTEM_MOSCCR_ADDR) & SYSTEM_MOSCCR_MOSTP) != 0)
57 sil_wrb_mem(SYSTEM_MOSCCR_ADDR,
58 sil_reb_mem(SYSTEM_MOSCCR_ADDR) & ~SYSTEM_MOSCCR_MOSTP);
59
60 sil_wrh_mem(SYSTEM_PLLCR_ADDR,
61 (sil_reh_mem(SYSTEM_PLLCR_ADDR) & ~SYSTEM_PLLCR_STC_MASK)
62 | (0x0f << SYSTEM_PLLCR_STC_OFFSET));
63
64 sil_wrb_mem(SYSTEM_PLLCR2_ADDR,
65 sil_reb_mem(SYSTEM_PLLCR2_ADDR) & ~SYSTEM_PLLCR2_PLLEN);
66
67 sil_wrw_mem(SYSTEM_SCKCR_ADDR, 0x21021211);
68
69 /* PLL回路選択 */
70 sil_wrh_mem(SYSTEM_SCKCR3_ADDR,
71 (sil_reh_mem(SYSTEM_SCKCR3_ADDR) & ~SYSTEM_SCKCR3_CKSEL_MASK)
72 | (4 << SYSTEM_SCKCR3_CKSEL_OFFSET));
73
74 /*
75 * モジュールストップ
76 *
77 * リセット後, 動作している内蔵周辺モジュールはDMAC, DTC,
78 * 内蔵RAMのみである.
79 * それ以外の内蔵周辺モジュールに関しては使用する側で
80 * 設定すること.
81 */
82 sil_wrh_mem(SYSTEM_PRCR_ADDR, 0xa500);
83}
84
85void software_init_hook()
86{
87 /*
88 * 本コンパイラではweak definitionの機能が無いため,
89 * 特に必要な処理はないが, 必ず呼び出すこととする.
90 */
91}
Note: See TracBrowser for help on using the repository browser.