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) 2004-2010 by Embedded and Real-Time Systems Laboratory
|
---|
9 | * Graduate School of Information Science, Nagoya Univ., JAPAN
|
---|
10 | * Copyright (C) 2015-2016 by TOPPERS PROJECT Educational Working Group.
|
---|
11 | *
|
---|
12 | * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ
|
---|
13 | * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
|
---|
14 | * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
|
---|
15 | * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
|
---|
16 | * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー
|
---|
17 | * スコード中に含まれていること.
|
---|
18 | * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
|
---|
19 | * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用
|
---|
20 | * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記
|
---|
21 | * の無保証規定を掲載すること.
|
---|
22 | * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
|
---|
23 | * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ
|
---|
24 | * と.
|
---|
25 | * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
|
---|
26 | * 作権表示,この利用条件および下記の無保証規定を掲載すること.
|
---|
27 | * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
|
---|
28 | * 報告すること.
|
---|
29 | * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
|
---|
30 | * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
|
---|
31 | * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
|
---|
32 | * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
|
---|
33 | * 免責すること.
|
---|
34 | *
|
---|
35 | * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お
|
---|
36 | * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
|
---|
37 | * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
|
---|
38 | * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
|
---|
39 | * の責任を負わない.
|
---|
40 | *
|
---|
41 | * $Id$
|
---|
42 | */
|
---|
43 |
|
---|
44 | /*
|
---|
45 | * LCDシールド制御プログラムのヘッダファイル
|
---|
46 | */
|
---|
47 |
|
---|
48 | /*
|
---|
49 | * ターゲット依存の定義
|
---|
50 | */
|
---|
51 | #include "target_test.h"
|
---|
52 | #include "usb_otg.h"
|
---|
53 | #include "tusbh_msc.h"
|
---|
54 | #include "glcd_disp.h"
|
---|
55 |
|
---|
56 | /*
|
---|
57 | * 各タスクの優先度の定義
|
---|
58 | */
|
---|
59 |
|
---|
60 | #define MAIN_PRIORITY 9 /* メインタスクの優先度 */
|
---|
61 | /* HIGH_PRIORITYより高くすること */
|
---|
62 |
|
---|
63 | #define HIGH_PRIORITY 6 /* 並行実行されるタスクの優先度 */
|
---|
64 | #define MID_PRIORITY 10
|
---|
65 | #define LOW_PRIORITY 11
|
---|
66 |
|
---|
67 | /*
|
---|
68 | * ターゲットに依存する可能性のある定数の定義
|
---|
69 | */
|
---|
70 |
|
---|
71 | #ifndef TASK_PORTID
|
---|
72 | #define TASK_PORTID 1 /* 文字入力するシリアルポートID */
|
---|
73 | #endif /* TASK_PORTID */
|
---|
74 |
|
---|
75 | #ifndef STACK_SIZE
|
---|
76 | #define STACK_SIZE 4096 /* タスクのスタックサイズ */
|
---|
77 | #endif /* STACK_SIZE */
|
---|
78 |
|
---|
79 | //#define SPISDCARD_PORTID 0
|
---|
80 |
|
---|
81 | #define PORT_HIGH 1
|
---|
82 | #define PORT_LOW 0
|
---|
83 |
|
---|
84 | #define GPIO_OTYPE GPIO_OTYPE_PP
|
---|
85 | #ifndef GPIO_SELECT_PDOWN
|
---|
86 | #define GPIO_PULLMODE GPIO_PULLUP
|
---|
87 | #else
|
---|
88 | #define GPIO_PULLMODE GPIO_PULLDOWN
|
---|
89 | #endif
|
---|
90 |
|
---|
91 | #define BUFFERSIZE 140
|
---|
92 |
|
---|
93 | #define INHNO_SPI IRQ_VECTOR_SPI1 /* 割込みハンドラ番号 */
|
---|
94 | #define INTNO_SPI IRQ_VECTOR_SPI1 /* 割込み番号 */
|
---|
95 | #define INTPRI_SPI -4 /* 割込み優先度 */
|
---|
96 | #define INTATR_SPI TA_EDGE /* 割込み属性 */
|
---|
97 |
|
---|
98 | #define INHNO_DMARX IRQ_VECTOR_DMA2_STREAM2 /* 割込みハンドラ番号 */
|
---|
99 | #define INTNO_DMARX IRQ_VECTOR_DMA2_STREAM2 /* 割込み番号 */
|
---|
100 | #define INTPRI_DMARX -4 /* 割込み優先度 */
|
---|
101 | #define INTATR_DMARX TA_EDGE /* 割込み属性 */
|
---|
102 |
|
---|
103 | #define INHNO_DMATX IRQ_VECTOR_DMA2_STREAM3 /* 割込みハンドラ番号 */
|
---|
104 | #define INTNO_DMATX IRQ_VECTOR_DMA2_STREAM3 /* 割込み番号 */
|
---|
105 | #define INTPRI_DMATX -4 /* 割込み優先度 */
|
---|
106 | #define INTATR_DMATX TA_EDGE /* 割込み属性 */
|
---|
107 |
|
---|
108 |
|
---|
109 | #define INHNO_USBFS IRQ_VECTOR_OTG_FS /* 割込みハンドラ番号 */
|
---|
110 | #define INTNO_USBFS IRQ_VECTOR_OTG_FS /* 割込み番号 */
|
---|
111 | #define INTPRI_USBFS -5 /* 割込み優先度 */
|
---|
112 | #define INTATR_USBFS 0 /* 割込み属性 */
|
---|
113 |
|
---|
114 | #define INHNO_FSWKUP IRQ_VECTOR_OTG_FS_WKUP /* 割込みハンドラ番号 */
|
---|
115 | #define INTNO_FSWKUP IRQ_VECTOR_OTG_FS_WKUP /* 割込み番号 */
|
---|
116 | #define INTPRI_FSWKUP -10 /* 割込み優先度 */
|
---|
117 | #define INTATR_FSWKUP 0 /* 割込み属性 */
|
---|
118 |
|
---|
119 |
|
---|
120 | #define INHNO_ADC IRQ_VECTOR_ADC /* 割込みハンドラ番号 */
|
---|
121 | #define INTNO_ADC IRQ_VECTOR_ADC /* 割込み番号 */
|
---|
122 | #define INTPRI_ADC -5 /* 割込み優先度 */
|
---|
123 | #define INTATR_ADC 0 /* 割込み属性 */
|
---|
124 |
|
---|
125 | #define INHNO_DMAADC IRQ_VECTOR_DMA2_STREAM0 /* 割込みハンドラ番号 */
|
---|
126 | #define INTNO_DMAADC IRQ_VECTOR_DMA2_STREAM0 /* 割込み番号 */
|
---|
127 | #define INTPRI_DMAADC -4 /* 割込み優先度 */
|
---|
128 | #define INTATR_DMAADC TA_EDGE /* 割込み属性 */
|
---|
129 |
|
---|
130 | /* Definition for ADCx's Channel */
|
---|
131 | #define ADCx_CHANNEL ADC_CHANNEL_9
|
---|
132 |
|
---|
133 | /* Definition for ADCx Channel Pin */
|
---|
134 | #define ADCx_CHANNEL_GPIO_PORT TADR_GPIOF_BASE
|
---|
135 | #define ADCx_CHANNEL_PINNO 3
|
---|
136 |
|
---|
137 | #define NUM_USBH_EVT1 64
|
---|
138 | #define NUM_USBH_EVT2 16
|
---|
139 |
|
---|
140 | #define NUM_JSPOSITION 6
|
---|
141 |
|
---|
142 | #define JS_OFF 0x01
|
---|
143 | #define JS_ON 0x02
|
---|
144 | #define JS_UP 0x04
|
---|
145 | #define JS_DOWN 0x08
|
---|
146 | #define JS_LEFT 0x10
|
---|
147 | #define JS_RIGHT 0x20
|
---|
148 | #define JS_MASK 0x3F
|
---|
149 |
|
---|
150 | #define CS_PORT 10
|
---|
151 | #define RST_PORT 9
|
---|
152 | #define RS_PORT 8
|
---|
153 | #define CS2_PORT 4
|
---|
154 |
|
---|
155 | #define cs_set(sw) digitalWrite(CS_PORT, sw)
|
---|
156 | #define rs_set(sw) digitalWrite(RS_PORT, sw)
|
---|
157 | #define rst_set(sw) digitalWrite(RST_PORT, sw)
|
---|
158 | #define cs2_set(sw) digitalWrite(CS2_PORT, sw)
|
---|
159 |
|
---|
160 | #ifndef TOPPERS_MACRO_ONLY
|
---|
161 | /*
|
---|
162 | * ヒープ領域の設定
|
---|
163 | */
|
---|
164 | extern uint32_t heap_param[2];
|
---|
165 |
|
---|
166 | /*
|
---|
167 | * 関数のプロトタイプ宣言
|
---|
168 | */
|
---|
169 | extern void main_task(intptr_t exinf);
|
---|
170 | extern void stick_task(intptr_t exinf);
|
---|
171 |
|
---|
172 | extern void heap_init(intptr_t exinf);
|
---|
173 | extern void sw_int(void);
|
---|
174 | extern void device_info_init(intptr_t exinf);
|
---|
175 |
|
---|
176 |
|
---|
177 | #endif /* TOPPERS_MACRO_ONLY */
|
---|