Changeset 386 for ssp_rpi3/trunk/arch/arm64_gcc/bcm283x/chip_serial.c
- Timestamp:
- Apr 17, 2019, 12:13:00 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
ssp_rpi3/trunk/arch/arm64_gcc/bcm283x/chip_serial.c
-
Property svn:mime-type
set to
text/plain; charset=utf-8
r384 r386 10 10 * Nagoya Municipal Industrial Research Institute, JAPAN 11 11 * 12 * ä¸è¨èä½æ¨©è 13 ã¯ï¼ä»¥ä¸ã®(1)ã(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ 14 * ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹ 15 * å¤ã»åé 16 å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 17 * (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 18 * 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 19 * ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 20 * (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 21 * ç¨ã§ããå½¢ã§åé 22 å¸ããå ´åã«ã¯ï¼åé 23 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 24 * è 25 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 26 * ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 27 * (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 28 * ç¨ã§ããªãå½¢ã§åé 29 å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã 30 * ã¨ï¼ 31 * (a) åé 32 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 33 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 34 * ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 35 * (b) åé 36 å¸ã®å½¢æ 37 ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã« 38 * å ±åãããã¨ï¼ 39 * (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 40 * 害ãããï¼ä¸è¨èä½æ¨©è 41 ããã³TOPPERSããã¸ã§ã¯ããå 42 責ãããã¨ï¼ 43 * ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç 44 * ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è 45 ããã³TOPPERSããã¸ã§ã¯ãã 46 * å 47 責ãããã¨ï¼ 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 * 免責すること. 48 34 * 49 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 50 ã 51 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 52 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 53 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 54 * ã®è²¬ä»»ãè² ããªãï¼ 35 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 36 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 37 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 38 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 39 * の責任を負わない. 55 40 * 56 41 */ 57 42 58 43 /* 59 * ã·ãªã¢ã«ãã©ã¤ã44 * シリアルドライバ 60 45 */ 61 46 … … 67 52 68 53 /* 69 * ã¬ã¸ã¹ã¿è¨å®å¤54 * レジスタ設定値 70 55 */ 71 56 #define PORT2SIOPID(x) ((x) + 1) … … 85 70 86 71 /* 87 * éä¿¡ãããã¡ã«ç©ºãããããï¼72 * 送信バッファに空きがあるか? 88 73 */ 89 74 Inline bool_t … … 94 79 95 80 /* 96 * åä¿¡ãããã¡ã«æåããããï¼81 * 受信バッファに文字があるか? 97 82 */ 98 83 Inline bool_t … … 103 88 104 89 /* 105 * åä¿¡ããæåã®ååºã90 * 受信した文字の取出し 106 91 */ 107 92 Inline char … … 112 97 113 98 /* 114 * éä¿¡ããæåã®æ¸è¾¼ã¿99 * 送信する文字の書込み 115 100 */ 116 101 Inline void … … 121 106 122 107 /* 123 * ã¿ã¼ã²ããã®ã·ãªã¢ã«åæå108 * ターゲットのシリアル初期化 124 109 */ 125 110 void target_low_output_init(ID siopid) … … 135 120 sil_wrw_mem(UART_CR(inib->baseAddress), 0U); 136 121 137 // ã¯ããã¯ã®ã»ããã¢ãã122 // クロックのセットアップ 138 123 mbox[0] = 9*4; 139 124 mbox[1] = MBOX_REQUEST; … … 174 159 175 160 /* 176 * SIO åæå161 * SIO初期化 177 162 */ 178 163 void sio_initialize(intptr_t exinf) … … 187 172 188 173 /* 189 * ã·ãªã¢ã«ãªã¼ãã³174 * シリアルオープン 190 175 */ 191 176 SIOPCB *sio_opn_por(ID siopid, intptr_t exinf) … … 202 187 target_low_output_init(siopid); 203 188 204 // åä¿¡ã³ã¼ã«ããã¯è¨±å¯189 // 受信コールバック許可 205 190 sio_ena_cbr(siopcb, SIO_RDY_RCV); 206 191 … … 209 194 210 195 /* 211 * ã·ãªã¢ã«ã¯ãã¼ãº196 * シリアルクローズ 212 197 */ 213 198 void sio_cls_por(SIOPCB *siopcb) 214 199 { 215 200 /* 216 * UART ããã£ã¹ã¨ã¼ãã«201 * UARTをディスエーブル 217 202 */ 218 203 sil_wrw_mem(UART_CR(siopcb->inib->baseAddress), 0U); … … 220 205 221 206 /* 222 * å²è¾¼ã¿ãã³ãã©207 * 割込みハンドラ 223 208 */ 224 209 #include "target_syssvc.h" … … 229 214 if (sio_getready(siopcb)) { 230 215 /* 231 * åä¿¡éç¥ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼216 * 受信通知コールバックルーチンを呼び出す. 232 217 */ 233 218 sio_irdy_rcv(siopcb->exinf); … … 235 220 if (sio_putready(siopcb)) { 236 221 /* 237 * éä¿¡å¯è½ã³ã¼ã«ããã¯ã«ã¼ãã³ãå¼ã³åºãï¼222 * 送信可能コールバックルーチンを呼び出す. 238 223 */ 239 224 sio_irdy_snd(siopcb->exinf); … … 242 227 243 228 /* 244 * 1 æåéä¿¡229 * 1文字送信 245 230 */ 246 231 bool_t sio_snd_chr(SIOPCB *siopcb, char c) … … 254 239 255 240 /* 256 * 1 æååä¿¡241 * 1文字受信 257 242 */ 258 243 int_t sio_rcv_chr(SIOPCB *siopcb) … … 265 250 266 251 /* 267 * ã³ã¼ã«ããã¯ã®è¨±å¯252 * コールバックの許可 268 253 */ 269 254 void sio_ena_cbr(SIOPCB *siopcb, uint_t cbrtn) … … 287 272 288 273 /* 289 * ã³ã¼ã«ããã¯ã®ç¦æ¢274 * コールバックの禁止 290 275 */ 291 276 void sio_dis_cbr(SIOPCB *siopcb, uint_t cbrtn) … … 309 294 310 295 /* 311 * 1 æååºåï¼ãã¼ãªã³ã°ã§ã®åºåï¼296 * 1文字出力(ポーリングでの出力) 312 297 */ 313 298 void sio_pol_snd_chr(char c, ID siopid) -
Property svn:mime-type
set to
Note:
See TracChangeset
for help on using the changeset viewer.