Changeset 95 for ssp_qb_r5f100le_cs/trunk/sample
- Timestamp:
- Jun 2, 2015, 3:39:53 PM (9 years ago)
- Location:
- ssp_qb_r5f100le_cs/trunk/sample
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
ssp_qb_r5f100le_cs/trunk/sample/Makefile
-
Property svn:mime-type
set to
text/plain; charset=shift_jis
r93 r95 10 10 # Copyright (C) 2010 by Meika Sugimoto 11 11 # 12 # ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 13 # Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 14 # ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 15 # (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 16 # \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 17 # XR[hÉÜÜêÄ¢é±ÆD 18 # (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 19 # pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 20 gip 21 # Ò}j 22 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 23 # ̳ÛØKèðfÚ·é±ÆD 24 # (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 25 # pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 26 # ÆD 27 # (a) Äzzɺ¤hL 28 gipÒ}j 29 AÈÇjÉCãLÌ 30 # ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 31 # (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 32 # ñ·é±ÆD 33 # (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 34 # Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 35 # ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 36 # RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 37 # ÆÓ·é±ÆD 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 # 免責すること. 38 34 # 39 # {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨40 # æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI41 # ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF42 # AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»43 # ÌÓCðíÈ¢D35 # 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 36 # よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 37 # に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 38 # アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 39 # の責任を負わない. 44 40 # 45 41 # 46 42 47 43 # 48 # ^[QbgÌwèiMakefile.targetÅ㫳êéÌðh®½ßj44 # ターゲットの指定(Makefile.targetで上書きされるのを防ぐため) 49 45 # 50 46 all: 51 47 52 48 # 53 # ^[QbgªÌÌè`49 # ターゲット略称の定義 54 50 # 55 51 TARGET = @(TARGET) 56 52 57 53 # 58 # vO~O¾êÌè`54 # プログラミング言語の定義 59 55 # 60 56 SRCLANG = @(SRCLANG) … … 66 62 67 63 # 68 # \[Xt@CÌfBNgÌè`64 # ソースファイルのディレクトリの定義 69 65 # 70 66 SRCDIR = @(SRCDIR) 71 67 72 68 # 73 # IuWFNgt@C¼Ìg£qÌÝè69 # オブジェクトファイル名の拡張子の設定 74 70 # 75 71 OBJEXT = @(OBJEXT) 76 72 77 73 # 78 # Às«Ìè`i^[Qbg˶É㫳êéêª éj74 # 実行環境の定義(ターゲット依存に上書きされる場合がある) 79 75 # 80 76 DBGENV := @(DBGENV) 81 77 82 78 # 83 # J[lCuilibkernel.ajÌfBNg¼84 # iJ[lCuàmakeÎÛÉ·éÍCóÉè`·éj79 # カーネルライブラリ(libkernel.a)のディレクトリ名 80 # (カーネルライブラリもmake対象にする時は,空に定義する) 85 81 # 86 82 KERNEL_LIB = @(KERNEL_LIB) 87 83 88 84 # 89 # J[lðÖPÊÅRpC·é©Ç¤©Ìè`85 # カーネルを関数単位でコンパイルするかどうかの定義 90 86 # 91 87 KERNEL_FUNCOBJS = @(KERNEL_FUNCOBJS) 92 88 93 89 # 94 # g[XOðæ¾·é©Ç¤©Ìè`90 # トレースログを取得するかどうかの定義 95 91 # 96 92 ENABLE_TRACE = @(ENABLE_TRACE) 97 93 98 94 # 99 # [eBeBvO̼Ì95 # ユーティリティプログラムの名称 100 96 # 101 97 PERL = @(PERL) … … 103 99 104 100 # 105 # IuWFNgt@C¼Ìè`101 # オブジェクトファイル名の定義 106 102 # 107 103 OBJNAME = ssp … … 115 111 116 112 # 117 # ^[Qbg˶ÌfBNgÌè`113 # ターゲット依存部のディレクトリの定義 118 114 # 119 115 TARGETDIR = $(SRCDIR)/target/$(TARGET) 120 116 121 117 # 122 # ^[Qbg˶Ìè`ÌCN[h118 # ターゲット依存の定義のインクルード 123 119 # 124 120 include $(TARGETDIR)/Makefile.target 125 121 126 122 # 127 # J[l\¬è`ÌCN[h123 # カーネル構成定義のインクルード 128 124 # 129 125 -include Makefile.config 130 126 131 127 # 132 # RtBM 133 [^ÖWÌÏÌè` 128 # コンフィギュレータ関係の変数の定義 134 129 # 135 130 CFG_TABS := --api-table $(SRCDIR)/kernel/ssp_kernel_api.csv \ … … 140 135 141 136 # 142 # ¤ÊRpCIvVÌè`137 # 共通コンパイルオプションの定義 143 138 # 144 139 COPTS := $(COPTS) -g … … 156 151 157 152 # 158 # AvP[VvOÉÖ·éè`153 # アプリケーションプログラムに関する定義 159 154 # 160 155 APPLNAME = @(APPLNAME) … … 177 172 178 173 # 179 # VXeT[rXÉÖ·éè`174 # システムサービスに関する定義 180 175 # 181 176 SYSSVC_DIR := $(SYSSVC_DIR) $(SRCDIR)/syssvc $(SRCDIR)/library … … 187 182 188 183 # 189 # g£pbP[WÉÖ·éè`184 # 拡張パッケージに関する定義 190 185 # 191 186 … … 194 189 195 190 # 196 # J[lÉÖ·éè` 197 # 198 # KERNEL_ASMOBJS: J[lCuÉÜßéC\[XªAZu¾êÌ 199 # IuWFNgt@CD 200 # KERNEL_COBJS: J[lÌCuÉÜßéC\[XªC¾êÅC\[X 201 # t@CÆ1Î1ÉηéIuWFNgt@CD 202 # KERNEL_LCSRCS: J[lÌCuÉÜßéC¾êÌ\[Xt@CÅC 203 # 1ÂÌ\[Xt@C©ç¡ÌIuWFNgt@Cð¶ 204 # ¬·éàÌD 205 # KERNEL_LCOBJS: ãÌ\[Xt@C©ç¶¬³êéIuWFNgt@CD 206 # KERNEL_AUX_COBJS: [hW 207 [ÉÜßÈ¢ªCJ[lÌ\[Xt@ 208 # CƯ¶IvVðKpµÄRpC·×«C\[ 209 # XªC¾êÌIuWFNgt@CD 191 # カーネルに関する定義 192 # 193 # KERNEL_ASMOBJS: カーネルライブラリに含める,ソースがアセンブリ言語の 194 # オブジェクトファイル. 195 # KERNEL_COBJS: カーネルのライブラリに含める,ソースがC言語で,ソース 196 # ファイルと1対1に対応するオブジェクトファイル. 197 # KERNEL_LCSRCS: カーネルのライブラリに含めるC言語のソースファイルで, 198 # 1つのソースファイルから複数のオブジェクトファイルを生 199 # 成するもの. 200 # KERNEL_LCOBJS: 上のソースファイルから生成されるオブジェクトファイル. 201 # KERNEL_AUX_COBJS: ロードモジュールに含めないが,カーネルのソースファ 202 # イルと同じオプションを適用してコンパイルすべき,ソー 203 # スがC言語のオブジェクトファイル. 210 204 # 211 205 KERNEL_DIR := $(KERNEL_DIR) $(SRCDIR)/kernel … … 215 209 216 210 # 217 # ^[Qbgt@Ci¡ð¯ÉIðµÄÍÈçÈ¢j211 # ターゲットファイル(複数を同時に選択してはならない) 218 212 # 219 213 all: $(OBJFILE) … … 221 215 #all: $(OBJNAME).srec 222 216 223 ##### ȺÍÒWµÈ¢±Æ#####224 225 # 226 # «É˶·éRpCIvVÌè`217 ##### 以下は編集しないこと ##### 218 219 # 220 # 環境に依存するコンパイルオプションの定義 227 221 # 228 222 ifdef DBGENV … … 230 224 endif 231 225 # 232 # J[lCuÉÖA·éè`226 # カーネルライブラリに関連する定義 233 227 # 234 228 ifdef KERNEL_LIB … … 239 233 240 234 # 241 # J[lÌt@C\¬Ìè`235 # カーネルのファイル構成の定義 242 236 # 243 237 include $(SRCDIR)/kernel/Makefile.kernel … … 253 247 254 248 # 255 # \[Xt@CÌ éfBNgÉÖ·éè`249 # ソースファイルのあるディレクトリに関する定義 256 250 # 257 251 vpath %.c $(KERNEL_DIR) $(SYSSVC_DIR) $(APPL_DIR) $(EXTPKG_DIR) … … 259 253 260 254 # 261 # RpC̽ßÌÏÌè`255 # コンパイルのための変数の定義 262 256 # 263 257 KERNEL_LIB_OBJS = $(KERNEL_ASMOBJS) $(KERNEL_COBJS) $(KERNEL_LCOBJS) … … 280 274 281 275 # 282 # J[lÌRtBM 283 [Vt@C̶¬ 276 # カーネルのコンフィギュレーションファイルの生成 284 277 # 285 278 cfg1_out.c: … … 297 290 298 291 # 299 # J[lCut@C̶¬292 # カーネルライブラリファイルの生成 300 293 # 301 294 libkernel.a: $(KERNEL_LIB_OBJS) … … 305 298 306 299 # 307 # ÁÊÈ˶ÖWÌè`300 # 特別な依存関係の定義 308 301 # 309 302 banner.o: kernel_cfg.timestamp $(filter-out banner.o,$(ALL_OBJS)) \ … … 311 304 312 305 # 313 # SÌÌN306 # 全体のリンク 314 307 # 315 308 $(OBJFILE): kernel_cfg.timestamp $(ALL_OBJS) $(filter %.a,$(ALL_LIBS)) … … 323 316 324 317 # 325 # oCit@C̶¬318 # バイナリファイルの生成 326 319 # 327 320 $(OBJNAME).bin: $(OBJFILE) … … 329 322 330 323 # 331 # S R[ht@C̶¬324 # Sレコードファイルの生成 332 325 # 333 326 $(OBJNAME).srec: $(OBJFILE) … … 335 328 336 329 # 337 # RpCÊÌÁ330 # コンパイル結果の消去 338 331 # 339 332 .PHONY: clean … … 370 363 371 364 # 372 # kernel_cfg.c Æcfg1_out.cÌRpC[Æ˶ÖWì¬[Ìè`373 # 374 # kernel_cfg.c Æcfg1_out.cÍCAvP[VvOpCVXeT[375 # rXpCJ[lpÌ·×ÄÌIvVðt¯ÄRpC·éD365 # kernel_cfg.cとcfg1_out.cのコンパイルルールと依存関係作成ルールの定義 366 # 367 # kernel_cfg.cとcfg1_out.cは,アプリケーションプログラム用,システムサー 368 # ビス用,カーネル用のすべてのオプションを付けてコンパイルする. 376 369 # 377 370 KERNEL_CFG_CFLAGS = $(APPL_CFLAGS) $(SYSSVC_CFLAGS) $(KERNEL_CFLAGS) … … 388 381 389 382 # 390 # ÁêÈ˶ÖWì¬[Ìè`383 # 特殊な依存関係作成ルールの定義 391 384 # 392 385 cfg1_out.depend: … … 398 391 399 392 # 400 # ˶ÖWt@C̶¬393 # 依存関係ファイルの生成 401 394 # 402 395 .PHONY: gendepend … … 417 410 418 411 # 419 # ˶ÖWt@CðCN[h412 # 依存関係ファイルをインクルード 420 413 # 421 414 -include Makefile.depend 422 415 423 416 # 424 # Jc[ÌR}h¼Ìè`417 # 開発ツールのコマンド名の定義 425 418 # 426 419 ifeq ($(TOOL),gcc) 427 420 # 428 # GNU J«p421 # GNU開発環境用 429 422 # 430 423 ifdef GCC_TARGET … … 451 444 452 445 # 453 # RpC[Ìè`446 # コンパイルルールの定義 454 447 # 455 448 KERNEL_ALL_COBJS = $(KERNEL_COBJS) $(KERNEL_AUX_COBJS) … … 495 488 496 489 # 497 # ˶ÖWì¬[Ìè`490 # 依存関係作成ルールの定義 498 491 # 499 492 $(KERNEL_COBJS:.o=.d): %.d: %.c … … 530 523 531 524 # 532 # ftHgRpC[ðã«525 # デフォルトコンパイルルールを上書き 533 526 # 534 527 %.o: %.c -
Property svn:mime-type
set to
-
ssp_qb_r5f100le_cs/trunk/sample/hello_world.c
-
Property svn:mime-type
set to
text/plain; charset=shift_jis
r93 r95 10 10 * Nagoya Municipal Industrial Research Institute, JAPAN 11 11 * 12 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 13 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 14 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 15 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 16 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 17 * XR[hÉÜÜêÄ¢é±ÆD 18 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 19 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 20 gip 21 * Ò}j 22 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 23 * ̳ÛØKèðfÚ·é±ÆD 24 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 25 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 26 * ÆD 27 * (a) Äzzɺ¤hL 28 gipÒ}j 29 AÈÇjÉCãLÌ 30 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 31 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 32 * ñ·é±ÆD 33 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 34 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 35 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 36 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 37 * ÆÓ·é±ÆD 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 * 免責すること. 38 34 * 39 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨40 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI41 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF42 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»43 * ÌÓCðíÈ¢D35 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 36 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 37 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 38 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 39 * の責任を負わない. 44 40 * 45 41 */ 46 42 47 43 /* 48 * TOPPERS/SSP ÌHello WorldvOD44 * TOPPERS/SSPのHello Worldプログラム. 49 45 */ 50 46 … … 56 52 57 53 /* 58 * OoÍ54 * ログ出力 59 55 */ 60 56 #define LOGPUT(str) \ … … 62 58 63 59 /* 64 * \¦·ébZ[W60 * 表示するメッセージ 65 61 */ 66 62 #define MSGHELLO ("Hello World.!\n") 67 63 68 64 void task(intptr_t exinf) { 69 /* VA|[gÌI[v*/65 /* シリアルポートのオープン */ 70 66 serial_opn_por(TASK_PORTID); 71 67 72 /* bZ[WÌ\¦*/68 /* メッセージの表示 */ 73 69 (void)LOGPUT(MSGHELLO); 74 70 75 /* J[lÌI¹*/71 /* カーネルの終了 */ 76 72 (void)ext_ker(); 77 73 } -
Property svn:mime-type
set to
-
ssp_qb_r5f100le_cs/trunk/sample/hello_world.cfg
-
Property svn:mime-type
set to
text/plain; charset=shift_jis
r93 r95 1 1 /* 2 * TOPPESRS/SSP J[lÌTvvO2 * TOPPESRS/SSPカーネルのサンプルプログラム 3 3 */ 4 4 -
Property svn:mime-type
set to
-
ssp_qb_r5f100le_cs/trunk/sample/hello_world.h
-
Property svn:mime-type
set to
text/plain; charset=shift_jis
r93 r95 5 5 * Copyright (C) 2010 by Meika Sugimoto 6 6 * 7 * ãLì ÒÍCÈºÌ (1)`(4) Ìðð½·êÉÀèC{\tgEF 8 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»EüÏE 9 * ÄzziȺCpÆÄÔj·é±Æð³Åø·éD 10 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 11 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[X 12 * R[hÉÜÜêÄ¢é±ÆD 13 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉgp 14 * Å«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 15 gipÒ} 16 * j 17 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺLÌ³Û 18 * ØKèðfÚ·é±ÆD 19 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉgp 20 * Å«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±ÆD 21 * (a) Äzzɺ¤hL 22 gipÒ}j 23 AÈÇjÉCãLÌì 24 * \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 25 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉñ 26 * ·é±ÆD 27 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹Q 28 * ©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆDܽC 29 * {\tgEFAÌ[UܽÍGh[U©çÌ¢©ÈéRÉîà 30 * ¿©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 7 * 上記著作権者は,以下の (1)〜(4) の条件を満たす場合に限り,本ソフトウェ 8 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改変・ 9 * 再配布(以下,利用と呼ぶ)することを無償で許諾する. 10 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作権 11 * 表示,この利用条件および下記の無保証規定が,そのままの形でソース 12 * コード中に含まれていること. 13 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使用 14 * できる形で再配布する場合には,再配布に伴うドキュメント(利用者マ 15 * ニュアルなど)に,上記の著作権表示,この利用条件および下記の無保 16 * 証規定を掲載すること. 17 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使用 18 * できない形で再配布する場合には,次のいずれかの条件を満たすこと. 19 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著作 20 * 権表示,この利用条件および下記の無保証規定を掲載すること. 21 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに報 22 * 告すること. 23 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害 24 * からも,上記著作権者およびTOPPERSプロジェクトを免責すること.また, 25 * 本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ 26 * く請求からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 31 27 * 32 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨æ33 * ÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚIÉη34 * éK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEFAÌp35 * Éæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»ÌÓCð36 * íÈ¢D28 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者およ 29 * びTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的に対す 30 * る適合性も含めて,いかなる保証も行わない.また,本ソフトウェアの利用 31 * により直接的または間接的に生じたいかなる損害に関しても,その責任を負 32 * わない. 37 33 * 38 34 */ … … 42 38 43 39 /* 44 * ^[Qbg˶Ìè`40 * ターゲット依存の定義 45 41 */ 46 42 #include "target_test.h" -
Property svn:mime-type
set to
-
ssp_qb_r5f100le_cs/trunk/sample/sample1.c
-
Property svn:mime-type
set to
text/plain; charset=shift_jis
r93 r95 10 10 * Nagoya Municipal Industrial Research Institute, JAPAN 11 11 * 12 * ãLì ÒÍCȺÌ(1)`(4)Ìðð½·êÉÀèC{\tgEF 13 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»Eü 14 * ÏEÄzziȺCpÆÄÔj·é±Æð³Åø·éD 15 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 16 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[ 17 * XR[hÉÜÜêÄ¢é±ÆD 18 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉg 19 * pÅ«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 20 gip 21 * Ò}j 22 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺL 23 * ̳ÛØKèðfÚ·é±ÆD 24 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉg 25 * pÅ«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·± 26 * ÆD 27 * (a) Äzzɺ¤hL 28 gipÒ}j 29 AÈÇjÉCãLÌ 30 * ì \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 31 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉ 32 * ñ·é±ÆD 33 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹ 34 * Q©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 35 * ܽC{\tgEFAÌ[UܽÍGh[U©çÌ¢©Èé 36 * RÉîÿ©çàCãLì Ò¨æÑTOPPERSvWFNgð 37 * ÆÓ·é±ÆD 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 * 免責すること. 38 34 * 39 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨40 * æÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚI41 * ÉηéK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEF42 * AÌpÉæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»43 * ÌÓCðíÈ¢D35 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 36 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 37 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 38 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 39 * の責任を負わない. 44 40 * 45 41 */ 46 42 47 43 /* 48 * TOPPERS/SSP ÌTvvO49 * 50 * SSP J[lÌî{IÈ®ìðmF·é½ßÌTvvOD51 * 52 * vOÌTv:53 * 54 * [UC^tF[Xðó¯ÂC^XNÆC3ÂÌÀsÀs³êé55 * ^XNÆÅ\¬³êéD^XNID¨æÑDæxÝèÍȺÌÊèD56 * ( ^XNID) (N®Dæx) (ÀsDæx)57 * MAIN_TASK MAIN_PRIORITY ( ¶É¯¶)58 * TASK1 TASK1_PRIORITY ( ¶É¯¶)59 * TASK2 TASK2_PRIORITY ( ¶É¯¶)44 * TOPPERS/SSPのサンプルプログラム 45 * 46 * SSPカーネルの基本的な動作を確認するためのサンプルプログラム. 47 * 48 * プログラムの概要: 49 * 50 * ユーザインタフェースを受け持つメインタスクと,3つの並行実行される 51 * タスクとで構成される.タスクIDおよび優先度設定は以下の通り. 52 * (タスクID) (起動時優先度) (実行時優先度) 53 * MAIN_TASK MAIN_PRIORITY (左に同じ) 54 * TASK1 TASK1_PRIORITY (左に同じ) 55 * TASK2 TASK2_PRIORITY (左に同じ) 60 56 * TASK3 TASK3_PRIORITY TASK3_EXEPRIORITY 61 57 * 62 * ܽCN®üúª2bÌüúnhiüúnhID: CYC1j¨æÑ 63 * C^XNN®pÌüúnh(üúnhID: MAIN_CYC)ðp¢éD 64 * 65 * ÀsÀs³êé^XNÍCtask_loopñó[vðÀs·éxÉC^XNª 66 * ÀsÅ é±Æð çí·bZ[Wð\¦·éDó[vðÀs·é 67 * ÌÍCó[vȵÅbZ[WðoÍ·éÆC½ÊÌbZ[WªoÍ 68 * ³êCvOÌ®ìªmFµ¸çÈé½ßÅ éDܽCá¬ÈV 69 * A|[gðp¢ÄbZ[WðoÍ·éêÉC·×ÄÌbZ[W 70 * ªoÍÅ«éæ¤ÉCbZ[WÌÊð§À·éÆ¢¤Rà éD 71 * 72 * üúnh(CYC1)ÍCN®µ½±Æð¦·bZ[Wð\¦·éD 73 * vOÌN®¼ãÍCüúnh(CYC1)Íâ~óÔÉÈÁÄ¢éD 74 * 75 * C^XNÍCüúnh(MAIN_CYC)©ç100~b²ÆÉN®³êC 76 * VAI/O|[g©ç̶üÍðs¢CüÍ³ê½ 77 * ¶Éε½ðÀs·éDüͳ꽶ÆÌÖWÍÌÊèD 78 * 'Q'ªüͳêéÆCvOðI¹·éD 79 * 80 * '1' : ÎÛ^XNðTASK1ÉØè·¦éiúÝèjD 81 * '2' : ÎÛ^XNðTASK2ÉØè·¦éD 82 * '3' : ÎÛ^XNðTASK3ÉØè·¦éD 83 * 'a' : ÎÛ^XNðact_tskÉæèN®·éD 84 * 'e' : ÎÛ^XNðÖÌ^[ÉæèI¹³¹éD 85 * 'c' : üúnhð®ìJn³¹éD 86 * 'C' : üúnhð®ìâ~³¹éD 87 * 'b' : A[nhð5bãÉN®·é椮ìJn³¹éD 88 * 'B' : A[nhð®ìâ~³¹éD 89 * 'z' : ÎÛ^XNÉCPUáO𶳹éi^XNðI¹³¹éjD 90 * 's' : CxgtO(ID:FLG1)ÉY^XNÉÖA·érbgðZbg·éD 91 * 'l' : ·×ÄÌ^XNÖA·éCxgtO(ID:FLG1)ÌrbgðNA·éD 92 * 'p' : |[OÅCxgtO(FLG1)ðÒÂD 93 * 'd' : |[OÅf[^L 94 [(ID:DTQ1)Öf[^ðM·éD 95 * 'r' : |[OÅf[^L 96 [(ID:DTQ1)©çf[^ðóM·éD 58 * また,起動周期が2秒の周期ハンドラ(周期ハンドラID: CYC1)および 59 * メインタスク起動用の周期ハンドラ(周期ハンドラID: MAIN_CYC)を用いる. 60 * 61 * 並行実行されるタスクは,task_loop回空ループを実行する度に,タスクが 62 * 実行中であることをあらわすメッセージを表示する.空ループを実行する 63 * のは,空ループなしでメッセージを出力すると,多量のメッセージが出力 64 * され,プログラムの動作が確認しずらくなるためである.また,低速なシ 65 * リアルポートを用いてメッセージを出力する場合に,すべてのメッセージ 66 * が出力できるように,メッセージの量を制限するという理由もある. 67 * 68 * 周期ハンドラ(CYC1)は,起動したことを示すメッセージを表示する. 69 * プログラムの起動直後は,周期ハンドラ(CYC1)は停止状態になっている. 70 * 71 * メインタスクは,周期ハンドラ(MAIN_CYC)から100ミリ秒ごとに起動され, 72 * シリアルI/Oポートからの文字入力を行い,入力された 73 * 文字に対応した処理を実行する.入力された文字と処理の関係は次の通り. 74 * 'Q'が入力されると,プログラムを終了する. 75 * 76 * '1' : 対象タスクをTASK1に切り換える(初期設定). 77 * '2' : 対象タスクをTASK2に切り換える. 78 * '3' : 対象タスクをTASK3に切り換える. 79 * 'a' : 対象タスクをact_tskにより起動する. 80 * 'e' : 対象タスクを関数のリターンにより終了させる. 81 * 'c' : 周期ハンドラを動作開始させる. 82 * 'C' : 周期ハンドラを動作停止させる. 83 * 'b' : アラームハンドラを5秒後に起動するよう動作開始させる. 84 * 'B' : アラームハンドラを動作停止させる. 85 * 'z' : 対象タスクにCPU例外を発生させる(タスクを終了させる). 86 * 's' : イベントフラグ(ID:FLG1)に当該タスクに関連するビットをセットする. 87 * 'l' : すべてのタスク関連するイベントフラグ(ID:FLG1)のビットをクリアする. 88 * 'p' : ポーリングでイベントフラグ(FLG1)を待つ. 89 * 'd' : ポーリングでデータキュー(ID:DTQ1)へデータを送信する. 90 * 'r' : ポーリングでデータキュー(ID:DTQ1)からデータを受信する. 97 91 */ 98 92 … … 108 102 109 103 /* 110 * VXeT[rXÌG[nhO104 * システムサービスのエラーハンドリング 111 105 */ 112 106 #define SVC(expression) \ … … 118 112 119 113 /* 120 * ÀñÀs³êé^XNÖÌbZ[WÌæ114 * 並列実行されるタスクへのメッセージ領域 121 115 */ 122 116 char message[3]; 123 117 124 118 /* 125 * [vñ126 */ 127 ulong_t task_loop; /* ^XNàÅÌ[vñ*/119 * ループ回数 120 */ 121 ulong_t task_loop; /* タスク内でのループ回数 */ 128 122 129 123 void init_task(intptr_t exinf) … … 134 128 #endif /* TASK_LOOP */ 135 129 136 /* VA|[gÌI[v*/130 /* シリアルポートのオープン */ 137 131 SVC(serial_opn_por(TASK_PORTID)); 138 132 SVC(serial_ctl_por(TASK_PORTID , IOCTL_CRLF)); 139 133 140 /* O^XNÌú»*/134 /* ログタスクの初期化 */ 141 135 logtask_initialize(LOGTASK_PORTID); 142 136 143 /* N®bZ[WÌoÍ*/137 /* 起動メッセージの出力 */ 144 138 syslog(LOG_INFO , "Sample program starts."); 145 139 146 /* üúnhÌN®*/140 /* 周期ハンドラの起動 */ 147 141 SVC(sta_cyc(MAIN_CYC)); 148 142 149 143 /* 150 * [vñÌÝè144 * ループ回数の設定 151 145 * 152 * TASK_LOOP ª}Nè`³êÄ¢éêCªè¹¸ÉCTASK_LOOPÉè153 * `³ê½lðC^XNàÅÌ[vñÆ·éD146 * TASK_LOOPがマクロ定義されている場合,測定せずに,TASK_LOOPに定 147 * 義された値を,タスク内でのループ回数とする. 154 148 * 155 * MEASURE_TWICE ª}Nè`³êÄ¢éêC1ñÚ̪èÊðÌÄ156 * ÄC2ñÚ̪èÊðg¤D1ñÚ̪èÍ·ßÌÔªoé½ßD149 * MEASURE_TWICEがマクロ定義されている場合,1回目の測定結果を捨て 150 * て,2回目の測定結果を使う.1回目の測定は長めの時間が出るため. 157 151 */ 158 152 #ifdef TASK_LOOP … … 163 157 SVC(get_tim(&stime1)); 164 158 for (i = 0; i < task_loop; i++) { 165 /* Ô©¹¬Ì½ßÌ[vÅ èC±±ÅͽàµÈ¢*/159 /* 時間かせぎのためのループであり,ここでは何もしない */ 166 160 } 167 161 SVC(get_tim(&stime2)); … … 180 174 181 175 182 /* VA|[g©ç̶óM*/176 /* シリアルポートからの文字受信 */ 183 177 if(serial_rea_dat(TASK_PORTID , &c , 1) > 0) 184 178 { … … 231 225 break; 232 226 default: 233 /* G[\¦*/227 /* エラー表示 */ 234 228 syslog(LOG_INFO , "Unknown command."); 235 229 break; … … 241 235 void task(intptr_t exinf) 242 236 { 243 /* exinf Í^XNÔ*/237 /* exinfはタスク番号 */ 244 238 uint_t tskno = (uint_t)exinf; 245 239 int_t n = 0; … … 256 250 { 257 251 for (i = 0; i < task_loop; i++) { 258 /* Ô©¹¬Ì½ßÌ[vÅ èC±±ÅͽàµÈ¢*/252 /* 時間かせぎのためのループであり,ここでは何もしない */ 259 253 } 260 254 261 /* ^XNÔÌ\¦*/255 /* タスク番号の表示 */ 262 256 syslog(LOG_NOTICE, "task%d is running (%03d). %s", 263 257 tskno, ++n, graph[tskno-1]); 264 258 265 /* R}hæ¾CbZ[WÌæðNA*/259 /* コマンド取得,メッセージ領域をクリア */ 266 260 command = message[tskno - 1]; 267 261 message[tskno - 1] = 0; -
Property svn:mime-type
set to
-
ssp_qb_r5f100le_cs/trunk/sample/sample1.cfg
-
Property svn:mime-type
set to
text/plain; charset=shift_jis
r93 r95 1 1 /* 2 * TOPPESRS/SSP J[lÌTvvO2 * TOPPESRS/SSPカーネルのサンプルプログラム 3 3 */ 4 4 -
Property svn:mime-type
set to
-
ssp_qb_r5f100le_cs/trunk/sample/sample1.h
-
Property svn:mime-type
set to
text/plain; charset=shift_jis
r93 r95 7 7 * Nagoya Municipal Industrial Research Institute, JAPAN 8 8 * 9 * ãLì ÒÍCÈºÌ (1)`(4) Ìðð½·êÉÀèC{\tgEF 10 * Ai{\tgEFAðüϵ½àÌðÜÞDȺ¯¶jðgpE¡»EüÏE 11 * ÄzziȺCpÆÄÔj·é±Æð³Åø·éD 12 * (1) {\tgEFAð\[XR[hÌ`Åp·éêÉÍCãLÌì 13 * \¦C±Ìpð¨æѺL̳ÛØKèªC»ÌÜÜÌ`Å\[X 14 * R[hÉÜÜêÄ¢é±ÆD 15 * (2) {\tgEFAðCCu`®ÈÇC¼Ì\tgEFAJÉgp 16 * Å«é`ÅÄzz·éêÉÍCÄzzɺ¤hL 17 gipÒ} 18 * j 19 AÈÇjÉCãLÌì \¦C±Ìpð¨æѺLÌ³Û 20 * ØKèðfÚ·é±ÆD 21 * (3) {\tgEFAðC@íÉgÝÞÈÇC¼Ì\tgEFAJÉgp 22 * Å«È¢`ÅÄzz·éêÉÍCÌ¢¸ê©Ìðð½·±ÆD 23 * (a) Äzzɺ¤hL 24 gipÒ}j 25 AÈÇjÉCãLÌì 26 * \¦C±Ìpð¨æѺL̳ÛØKèðfÚ·é±ÆD 27 * (b) ÄzzÌ`ÔðCÊÉèßéû@ÉæÁÄCTOPPERSvWFNgÉñ 28 * ·é±ÆD 29 * (4) {\tgEFAÌpÉæè¼ÚIܽÍÔÚIɶ¶é¢©Èé¹Q 30 * ©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆDܽC 31 * {\tgEFAÌ[UܽÍGh[U©çÌ¢©ÈéRÉîà 32 * ¿©çàCãLì Ò¨æÑTOPPERSvWFNgðÆÓ·é±ÆD 9 * 上記著作権者は,以下の (1)〜(4) の条件を満たす場合に限り,本ソフトウェ 10 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改変・ 11 * 再配布(以下,利用と呼ぶ)することを無償で許諾する. 12 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作権 13 * 表示,この利用条件および下記の無保証規定が,そのままの形でソース 14 * コード中に含まれていること. 15 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使用 16 * できる形で再配布する場合には,再配布に伴うドキュメント(利用者マ 17 * ニュアルなど)に,上記の著作権表示,この利用条件および下記の無保 18 * 証規定を掲載すること. 19 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使用 20 * できない形で再配布する場合には,次のいずれかの条件を満たすこと. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著作 22 * 権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに報 24 * 告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害 26 * からも,上記著作権者およびTOPPERSプロジェクトを免責すること.また, 27 * 本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ 28 * く請求からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 33 29 * 34 * {\tgEFAÍC³ÛØÅñ³êÄ¢éàÌÅ éDãLì Ò¨æ35 * ÑTOPPERSvWFNgÍC{\tgEFAÉÖµÄCÁèÌgpÚIÉη36 * éK«àÜßÄC¢©ÈéÛØàsíÈ¢DܽC{\tgEFAÌp37 * Éæè¼ÚIܽÍÔÚIɶ¶½¢©Èé¹QÉÖµÄàC»ÌÓCð38 * íÈ¢D30 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者およ 31 * びTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的に対す 32 * る適合性も含めて,いかなる保証も行わない.また,本ソフトウェアの利用 33 * により直接的または間接的に生じたいかなる損害に関しても,その責任を負 34 * わない. 39 35 * 40 36 */ … … 44 40 45 41 /* 46 * ^[Qbg˶Ìè`42 * ターゲット依存の定義 47 43 */ 48 44 #include "target_test.h" … … 81 77 82 78 #ifndef TASK_PORTID 83 #define TASK_PORTID 1 /* ¶üÍ·éVA|[gID */79 #define TASK_PORTID 1 /* 文字入力するシリアルポートID */ 84 80 #endif /* TASK_PORTID */ 85 81 86 82 #ifndef LOOP_REF 87 #define LOOP_REF ULONG_C(1000000) /* ¬xvªpÌ[vñ*/83 #define LOOP_REF ULONG_C(1000000) /* 速度計測用のループ回数 */ 88 84 #endif /* LOOP_REF */ 89 85 -
Property svn:mime-type
set to
Note:
See TracChangeset
for help on using the changeset viewer.