SUZAKU-VでTOPPERS/ASPを動かす#2
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
* SUZAKU-VでTOPPERS/ASPを動かす#2 [#j59bcf84]
[[SUZAKU-VでTOPPERS/ASPを動かす#1]]の続きです。
ここよりTOPPERS/ASP TESC版の移植を進めます。
#contents
----
**TOPPERS/ASPの移植・その1 [#u0e4b71a]
今回はTECS対応版を使用します。~
コンポーネント対応をしておくと、今後の機能変更が容易にな...
また、現在のASPは今後TECSに統合していくとのことですし。~
+TECS対応版のダウンロード~
[[ここ:http://www.toppers.jp/tecs.html]]からダウンロード...
今回はtecs_package-20090728.tar.gzをダウンロードし、/suza...
~
+TOPPERS/ASPの移植準備
++アーカイブの展開~
アーカイブを展開します。
$ cd /suzakuv
$ tar xvfz tecs_package-20090728.tar.gz
++ターゲット依存部の仮準備~
SUZAKU-VのCPUがPowerPCであることから、当初ターゲット移植...
仕切り直しということで、CPUは異なりますがMindstormsNXT版...
~
付属のMindstormsNXT版からsuzaku-v版を仮作成します。ついで...
$ cd /suzakuv/tecs_package/asp+tecs/target
$ cp -r mindstorms_nxt_gcc suzakuv_gcc
$ cd /suzakuv/tecs_package/asp+tecs
$ cp -r sample sample_suzakuv
$ ln -s ../bin/tecsgen.exe tecsgen.exe
++アーキテクチャ依存部の仮準備~
こちらも同様に付属のMindstormsNXT版からsuzaku-v版を仮作成...
$ cd /suzakuv/tecs_package/asp+tecs/arch
$ cp -r arm_gcc ppc_gcc
$ cd ppc_gcc
$ mv at91sam7s ppc405
~
+情報収集
(■■以下見直し中■■)
++Makefileの変更~
Makefileを一部変更します。~
対象ファイル: /suzakuv/tecs_package/asp+tecs/sample_suzak...
105: #tecsgen.exeを利用する場合
>106: #TECSGEN_CPP = 'gcc -E -D TECS'
107: #cygwinのgccがシンボリックリンクの場合は、
108: #下記のようにシンボリックリンク先(gcc-3,gcc-4など)...
109: #TECSGEN_CPP = 'gcc-3 -E -D TECS'
110: #TECSGEN_CPP = 'gcc-4 -E -D TECS'
>111: TECSGEN_CPP = 'powerpc-suzakuv-elf-gcc -E -D TECS'
112: TECSGEN = $(SRCDIR)/tecsgen -c $(TECSGEN_CPP) -k euc
(省略)
224 #
225 # ターゲットファイル(複数を同時に選択してはならな...
226 #
>227 #all: $(OBJFILE)
>228 all: $(OBJNAME).bin
229 #all: $(OBJNAME).srec
----
**TOPPERS/ASPの移植・その2 [#l249bb61]
+大まかに修正してみる~
++MANIFESTの修正~
対象ファイル: /suzakuv/tecs_package/asp+tecs/MANIFEST~
~
ターゲット依存部およびアーキテクチャ依存部のMANIFESTの定...
114: INCLUDE target/macosx_gcc/MANIFEST
115: INCLUDE target/at91skyeye_gcc/MANIFEST
>116: INCLUDE target/suzakuv_gcc/MANIFEST
117: INCLUDE arch/arm_gcc/MANIFEST
118: INCLUDE arch/gcc/MANIFEST
119: INCLUDE arch/logtrace/MANIFEST
>120: INCLUDE arch/powerpc_gcc/MANIFEST
121: # INCLUDE cfg/MANIFEST
122: # INCLUDE test/MANIFEST
123: # INCLUDE extension/MANIFEST
~
++ターゲット依存部の修正~
対象フォルダ: /suzakuv/tecs_package/asp+tecs/target/suzak...
~
まずはファイル名を変更します。MacOSXになっている所をすべ...
~
【対象ファイル】
macosx.h → suzakuv.h
tPutLogMacOSX.c → tPutLogSuzakuV.c
tPutLogMacOSX.cdl → tPutLogSuzakuV.cdl
tSIOPortMacOSX.c → tSIOPortSuzakuV.c
tSIOPortMacOSX.cdl → tSIOPortSuzakuV.cdl
tSIOPortMacOSX.h → tSIOPortSuzakuV.h
続いて各ファイルでmacosx,MacOSX,MACOSX,Mac OS Xになってい...
~
【対象ファイル】
E_PACKAGE
Makefile.target
MANIFEST
suzakuv.h
target.tf
target_check.tf
target_config.c
target_config.h
target_kernel.h
target_sil.h
target_stddef.h
target_syssvc.h
target_syssvc_decl.cdl
target_syssvc_inst.cdl
target_test.h
target_timer.c
target_timer.h
target_user.txt
tPutLogSuzakuV.c
tPutLogSuzakuV.cdl
tSIOPortSuzakuV.c
tSIOPortSuzakuV.cdl
tSIOPortSuzakuV.h
++アーキテクチャ依存部の修正~
対象フォルダ: /suzakuv/tecs_package/asp+tecs/arch/suzakuv...
~
とりあえず変更せずにそのまま使用します。~
~
+サンプルプログラムのビルド~
エラー承知で試しにサンプルプログラムをビルドしてみます。
$ export PATH=/suzakuv/bin:/suzakuv/gcc/bin:$PATH ←Cygw...
$ cd /suzakuv/tecs_package/asp+tecs
$ mkdir obj
$ cd obj
$ perl ../configure -T suzakuv_gcc -A tSample1 -t sample...
$ make all
../tecsgen -c 'powerpc-suzakuv-elf-gcc -E -D TECS' -k eu...
...
gen -I../tecs_kernel -I../include -I../arch -I.. -I../t...
tecsgen version 1.0.0.6 copyright(c) 2008-2009, TOPPER...
warning: ../include/kernel.cdl: line 644 p_block pointer...
warning: ../include/kernel.cdl: line 645 p_block pointer...
warning: ../include/kernel.cdl: line 646 p_block pointer...
warning: ../target/suzakuv_gcc/tSIOPortSuzakuV.cdl: line...
4 warnings
touch tecs.timestamp
../cfg/cfg/cfg --pass 1 --kernel asp -I. -I./gen -I../te...
I../arch -I.. -I../target/suzakuv_gcc --api-table ../ke...
g1-def-table ../kernel/kernel_def.csv --cfg1-def-table ...
rget_def.csv tSample1.cfg
gcc -c -Wall -g -O2 -I. -I./gen -I../tecs_kernel -I../...
-I../target/suzakuv_gcc -DALLFUNC -I../kernel cfg1_ou...
In file included from ../kernel/kernel_impl.h:82,
from ../kernel/kernel_int.h:53,
from cfg1_out.c:3:
../target/suzakuv_gcc/target_config.h:112:2: error: #err...
In file included from ../kernel/kernel_impl.h:82,
from ../kernel/kernel_int.h:53,
from cfg1_out.c:3:
../target/suzakuv_gcc/target_config.h: In function 'sens...
../target/suzakuv_gcc/target_config.h:195: error: 'stack...
../target/suzakuv_gcc/target_config.h:195: error: (Each ...
../target/suzakuv_gcc/target_config.h:195: error: for ea...
../target/suzakuv_gcc/target_config.h:195: error: expect...
../target/suzakuv_gcc/target_config.h:197: warning: impl...
../target/suzakuv_gcc/target_config.h:197: error: 'ss' u...
../target/suzakuv_gcc/target_config.h:198: error: 'SA_ON...
../target/suzakuv_gcc/target_config.h: In function 'x_pr...
../target/suzakuv_gcc/target_config.h:374: warning: impl...
../target/suzakuv_gcc/target_config.h: In function 'x_de...
../target/suzakuv_gcc/target_config.h:504: error: 'SA_ON...
../target/suzakuv_gcc/target_config.h:507: warning: impl...
../target/suzakuv_gcc/target_config.h: In function 'x_de...
../target/suzakuv_gcc/target_config.h:525: error: 'struc...
../target/suzakuv_gcc/target_config.h:526: warning: 'str...
../target/suzakuv_gcc/target_config.h:526: warning: its ...
../target/suzakuv_gcc/target_config.h:527: error: 'SA_ON...
../target/suzakuv_gcc/target_config.h:527: error: 'SA_SI...
../target/suzakuv_gcc/target_config.h:527: error: 'SA_NO...
../target/suzakuv_gcc/target_config.h: In function 'exc_...
../target/suzakuv_gcc/target_config.h:581: error: 'ucont...
../target/suzakuv_gcc/target_config.h:581: error: expect...
../target/suzakuv_gcc/target_config.h: In function 'exc_...
../target/suzakuv_gcc/target_config.h:590: error: 'ucont...
../target/suzakuv_gcc/target_config.h:590: error: expect...
gen/tecsgen.cfg: At top level:
gen/tecsgen.cfg:5: error: 'SIGSTKSZ' undeclared here (no...
../target/suzakuv_gcc/unix_sigio.cfg:13: error: 'SIGIO' ...
tSample1.cfg:15: error: 'SIGINFO' undeclared here (not i...
make: *** [cfg1_out.o] Error 1
tecsgenとcfgは無事動作しているようです。この結果を元に修...
~
+tecsgenエラーを修正~
次の警告については依存部ではないのでそのまま無視します。~
warning: ../include/kernel.cdl: line 644 p_block pointer...
warning: ../include/kernel.cdl: line 645 p_block pointer...
warning: ../include/kernel.cdl: line 646 p_block pointer...
次の警告については修正します。~
warning: ../target/suzakuv_gcc/tSIOPortSuzakuV.cdl: line...
/suzakuv/tecs_package/asp+tecs/target/suzakuv_gcc/tSIOPor...
34: attr {
>35: char_t *path; /* ファイルのパ...
36: };
+cfgエラーを修正~
まずはこれを修正。~
../target/suzakuv_gcc/target_config.h:112:2: error: #err...
target_config.h内でプロセッサを判定していますが、これは P...
++target_config.hの修正~
対象ファイル: /suzakuv/tecs_package/asp+tecs/target/suzak...
~
94行目から、次のように変更します。~
94: /*
95: * アーキテクチャ(プロセッサ)依存の定義
96: */
97: #define JMPBUF_PC 21 /* jmp_buf中でのPCの位置 */
98: #define JMPBUF_SP 0 /* jmp_buf中でのSPの位置 */
99: #define TASK_STACK_MERGIN 4U
100: #define DEFAULT_ISTKSZ SIGSTKSZ /* シグナルスタッ...
101:
102: /*
103: * 標準の割込み管理機能の初期化を行わないための定義
104: */
~
([[SUZAKU-VでTOPPERS/ASPを動かす#3]]に続くかも)
~
----
#comment
Total:&counter(total); Today:&counter(today); Yesterday...
終了行:
* SUZAKU-VでTOPPERS/ASPを動かす#2 [#j59bcf84]
[[SUZAKU-VでTOPPERS/ASPを動かす#1]]の続きです。
ここよりTOPPERS/ASP TESC版の移植を進めます。
#contents
----
**TOPPERS/ASPの移植・その1 [#u0e4b71a]
今回はTECS対応版を使用します。~
コンポーネント対応をしておくと、今後の機能変更が容易にな...
また、現在のASPは今後TECSに統合していくとのことですし。~
+TECS対応版のダウンロード~
[[ここ:http://www.toppers.jp/tecs.html]]からダウンロード...
今回はtecs_package-20090728.tar.gzをダウンロードし、/suza...
~
+TOPPERS/ASPの移植準備
++アーカイブの展開~
アーカイブを展開します。
$ cd /suzakuv
$ tar xvfz tecs_package-20090728.tar.gz
++ターゲット依存部の仮準備~
SUZAKU-VのCPUがPowerPCであることから、当初ターゲット移植...
仕切り直しということで、CPUは異なりますがMindstormsNXT版...
~
付属のMindstormsNXT版からsuzaku-v版を仮作成します。ついで...
$ cd /suzakuv/tecs_package/asp+tecs/target
$ cp -r mindstorms_nxt_gcc suzakuv_gcc
$ cd /suzakuv/tecs_package/asp+tecs
$ cp -r sample sample_suzakuv
$ ln -s ../bin/tecsgen.exe tecsgen.exe
++アーキテクチャ依存部の仮準備~
こちらも同様に付属のMindstormsNXT版からsuzaku-v版を仮作成...
$ cd /suzakuv/tecs_package/asp+tecs/arch
$ cp -r arm_gcc ppc_gcc
$ cd ppc_gcc
$ mv at91sam7s ppc405
~
+情報収集
(■■以下見直し中■■)
++Makefileの変更~
Makefileを一部変更します。~
対象ファイル: /suzakuv/tecs_package/asp+tecs/sample_suzak...
105: #tecsgen.exeを利用する場合
>106: #TECSGEN_CPP = 'gcc -E -D TECS'
107: #cygwinのgccがシンボリックリンクの場合は、
108: #下記のようにシンボリックリンク先(gcc-3,gcc-4など)...
109: #TECSGEN_CPP = 'gcc-3 -E -D TECS'
110: #TECSGEN_CPP = 'gcc-4 -E -D TECS'
>111: TECSGEN_CPP = 'powerpc-suzakuv-elf-gcc -E -D TECS'
112: TECSGEN = $(SRCDIR)/tecsgen -c $(TECSGEN_CPP) -k euc
(省略)
224 #
225 # ターゲットファイル(複数を同時に選択してはならな...
226 #
>227 #all: $(OBJFILE)
>228 all: $(OBJNAME).bin
229 #all: $(OBJNAME).srec
----
**TOPPERS/ASPの移植・その2 [#l249bb61]
+大まかに修正してみる~
++MANIFESTの修正~
対象ファイル: /suzakuv/tecs_package/asp+tecs/MANIFEST~
~
ターゲット依存部およびアーキテクチャ依存部のMANIFESTの定...
114: INCLUDE target/macosx_gcc/MANIFEST
115: INCLUDE target/at91skyeye_gcc/MANIFEST
>116: INCLUDE target/suzakuv_gcc/MANIFEST
117: INCLUDE arch/arm_gcc/MANIFEST
118: INCLUDE arch/gcc/MANIFEST
119: INCLUDE arch/logtrace/MANIFEST
>120: INCLUDE arch/powerpc_gcc/MANIFEST
121: # INCLUDE cfg/MANIFEST
122: # INCLUDE test/MANIFEST
123: # INCLUDE extension/MANIFEST
~
++ターゲット依存部の修正~
対象フォルダ: /suzakuv/tecs_package/asp+tecs/target/suzak...
~
まずはファイル名を変更します。MacOSXになっている所をすべ...
~
【対象ファイル】
macosx.h → suzakuv.h
tPutLogMacOSX.c → tPutLogSuzakuV.c
tPutLogMacOSX.cdl → tPutLogSuzakuV.cdl
tSIOPortMacOSX.c → tSIOPortSuzakuV.c
tSIOPortMacOSX.cdl → tSIOPortSuzakuV.cdl
tSIOPortMacOSX.h → tSIOPortSuzakuV.h
続いて各ファイルでmacosx,MacOSX,MACOSX,Mac OS Xになってい...
~
【対象ファイル】
E_PACKAGE
Makefile.target
MANIFEST
suzakuv.h
target.tf
target_check.tf
target_config.c
target_config.h
target_kernel.h
target_sil.h
target_stddef.h
target_syssvc.h
target_syssvc_decl.cdl
target_syssvc_inst.cdl
target_test.h
target_timer.c
target_timer.h
target_user.txt
tPutLogSuzakuV.c
tPutLogSuzakuV.cdl
tSIOPortSuzakuV.c
tSIOPortSuzakuV.cdl
tSIOPortSuzakuV.h
++アーキテクチャ依存部の修正~
対象フォルダ: /suzakuv/tecs_package/asp+tecs/arch/suzakuv...
~
とりあえず変更せずにそのまま使用します。~
~
+サンプルプログラムのビルド~
エラー承知で試しにサンプルプログラムをビルドしてみます。
$ export PATH=/suzakuv/bin:/suzakuv/gcc/bin:$PATH ←Cygw...
$ cd /suzakuv/tecs_package/asp+tecs
$ mkdir obj
$ cd obj
$ perl ../configure -T suzakuv_gcc -A tSample1 -t sample...
$ make all
../tecsgen -c 'powerpc-suzakuv-elf-gcc -E -D TECS' -k eu...
...
gen -I../tecs_kernel -I../include -I../arch -I.. -I../t...
tecsgen version 1.0.0.6 copyright(c) 2008-2009, TOPPER...
warning: ../include/kernel.cdl: line 644 p_block pointer...
warning: ../include/kernel.cdl: line 645 p_block pointer...
warning: ../include/kernel.cdl: line 646 p_block pointer...
warning: ../target/suzakuv_gcc/tSIOPortSuzakuV.cdl: line...
4 warnings
touch tecs.timestamp
../cfg/cfg/cfg --pass 1 --kernel asp -I. -I./gen -I../te...
I../arch -I.. -I../target/suzakuv_gcc --api-table ../ke...
g1-def-table ../kernel/kernel_def.csv --cfg1-def-table ...
rget_def.csv tSample1.cfg
gcc -c -Wall -g -O2 -I. -I./gen -I../tecs_kernel -I../...
-I../target/suzakuv_gcc -DALLFUNC -I../kernel cfg1_ou...
In file included from ../kernel/kernel_impl.h:82,
from ../kernel/kernel_int.h:53,
from cfg1_out.c:3:
../target/suzakuv_gcc/target_config.h:112:2: error: #err...
In file included from ../kernel/kernel_impl.h:82,
from ../kernel/kernel_int.h:53,
from cfg1_out.c:3:
../target/suzakuv_gcc/target_config.h: In function 'sens...
../target/suzakuv_gcc/target_config.h:195: error: 'stack...
../target/suzakuv_gcc/target_config.h:195: error: (Each ...
../target/suzakuv_gcc/target_config.h:195: error: for ea...
../target/suzakuv_gcc/target_config.h:195: error: expect...
../target/suzakuv_gcc/target_config.h:197: warning: impl...
../target/suzakuv_gcc/target_config.h:197: error: 'ss' u...
../target/suzakuv_gcc/target_config.h:198: error: 'SA_ON...
../target/suzakuv_gcc/target_config.h: In function 'x_pr...
../target/suzakuv_gcc/target_config.h:374: warning: impl...
../target/suzakuv_gcc/target_config.h: In function 'x_de...
../target/suzakuv_gcc/target_config.h:504: error: 'SA_ON...
../target/suzakuv_gcc/target_config.h:507: warning: impl...
../target/suzakuv_gcc/target_config.h: In function 'x_de...
../target/suzakuv_gcc/target_config.h:525: error: 'struc...
../target/suzakuv_gcc/target_config.h:526: warning: 'str...
../target/suzakuv_gcc/target_config.h:526: warning: its ...
../target/suzakuv_gcc/target_config.h:527: error: 'SA_ON...
../target/suzakuv_gcc/target_config.h:527: error: 'SA_SI...
../target/suzakuv_gcc/target_config.h:527: error: 'SA_NO...
../target/suzakuv_gcc/target_config.h: In function 'exc_...
../target/suzakuv_gcc/target_config.h:581: error: 'ucont...
../target/suzakuv_gcc/target_config.h:581: error: expect...
../target/suzakuv_gcc/target_config.h: In function 'exc_...
../target/suzakuv_gcc/target_config.h:590: error: 'ucont...
../target/suzakuv_gcc/target_config.h:590: error: expect...
gen/tecsgen.cfg: At top level:
gen/tecsgen.cfg:5: error: 'SIGSTKSZ' undeclared here (no...
../target/suzakuv_gcc/unix_sigio.cfg:13: error: 'SIGIO' ...
tSample1.cfg:15: error: 'SIGINFO' undeclared here (not i...
make: *** [cfg1_out.o] Error 1
tecsgenとcfgは無事動作しているようです。この結果を元に修...
~
+tecsgenエラーを修正~
次の警告については依存部ではないのでそのまま無視します。~
warning: ../include/kernel.cdl: line 644 p_block pointer...
warning: ../include/kernel.cdl: line 645 p_block pointer...
warning: ../include/kernel.cdl: line 646 p_block pointer...
次の警告については修正します。~
warning: ../target/suzakuv_gcc/tSIOPortSuzakuV.cdl: line...
/suzakuv/tecs_package/asp+tecs/target/suzakuv_gcc/tSIOPor...
34: attr {
>35: char_t *path; /* ファイルのパ...
36: };
+cfgエラーを修正~
まずはこれを修正。~
../target/suzakuv_gcc/target_config.h:112:2: error: #err...
target_config.h内でプロセッサを判定していますが、これは P...
++target_config.hの修正~
対象ファイル: /suzakuv/tecs_package/asp+tecs/target/suzak...
~
94行目から、次のように変更します。~
94: /*
95: * アーキテクチャ(プロセッサ)依存の定義
96: */
97: #define JMPBUF_PC 21 /* jmp_buf中でのPCの位置 */
98: #define JMPBUF_SP 0 /* jmp_buf中でのSPの位置 */
99: #define TASK_STACK_MERGIN 4U
100: #define DEFAULT_ISTKSZ SIGSTKSZ /* シグナルスタッ...
101:
102: /*
103: * 標準の割込み管理機能の初期化を行わないための定義
104: */
~
([[SUZAKU-VでTOPPERS/ASPを動かす#3]]に続くかも)
~
----
#comment
Total:&counter(total); Today:&counter(today); Yesterday...
ページ名: