| 1 | = TOPPERS/SSP Kernel用 Ruby版コンフィギュレータ向け追加ファイル = |
| 2 | |
| 3 | TOPPERS/SSPカーネル1.3.0でRuby版コンフィギュレータを使用するために必要な追加ファイルです.[[BR]] |
| 4 | Ubuntu 16.04 LTS (Xenial Xerus) での動作を確認しています. |
| 5 | |
| 6 | 利用方法については [https://www.docker.com/ Docker] を用いた動作確認手順を示しますので,参考にしてください.[[BR]] |
| 7 | |
| 8 | {{{ |
| 9 | # Dockerスクリプトの取得 |
| 10 | $ git clone https://github.com/nmiri-nagoya-nsaito/docker-toppers-ssp.git |
| 11 | Cloning into 'docker-toppers-ssp'... |
| 12 | remote: Counting objects: 26, done. |
| 13 | remote: Compressing objects: 100% (21/21), done. |
| 14 | remote: Total 26 (delta 4), reused 25 (delta 3), pack-reused 0 |
| 15 | Unpacking objects: 100% (26/26), done. |
| 16 | Checking connectivity... done. |
| 17 | |
| 18 | # スクリプトのディレクトリへ移動 |
| 19 | $ cd docker-toppers-ssp |
| 20 | |
| 21 | # コンテナ起動してシェルに入る(詳細はスクリプトを参照してください) |
| 22 | $ ./start_shell.sh |
| 23 | Building ssp |
| 24 | Step 1/16 : FROM ubuntu:xenial |
| 25 | ---> 0ef2e08ed3fa |
| 26 | Step 2/16 : MAINTAINER Naoki Saito <saito.naoki@nmiri.city.nagoya.jp> |
| 27 | (略) |
| 28 | Successfully built 51a7d3533fb4 |
| 29 | Creating network "dockertoppersssp_default" with the default driver |
| 30 | Creating dockertoppersssp_ssp_1 |
| 31 | To run a command as administrator (user "root"), use "sudo <command>". |
| 32 | See "man sudo_root" for details. |
| 33 | |
| 34 | saito@99c8ea0640a6:~$ |
| 35 | }}} |
| 36 | |
| 37 | この時点で Linux コンテナ内のシェルが起動していますので,次は Ruby版コンフィギュレータを使用してSSPカーネルをビルドします. |
| 38 | |
| 39 | {{{ |
| 40 | # 適当な作業ディレクトリへ移動(dockerの設定で ~/workdir ホストと共有する設定にしている) |
| 41 | $ cd workdir |
| 42 | |
| 43 | # SSPカーネルコードのセットアップ及びビルド |
| 44 | $ ~/scripts/build_ssp_ruby.sh |
| 45 | % Total % Received % Xferd Average Speed Time Time Time Current |
| 46 | Dload Upload Total Spent Left Speed |
| 47 | 100 579k 100 579k 0 0 1524k 0 --:--:-- --:--:-- --:--:-- 1528k |
| 48 | ./asp3/configure.rb |
| 49 | ./asp3/MANIFEST |
| 50 | ./asp3/README.txt |
| 51 | ./asp3/doc/asp_spec.txt |
| 52 | (略) |
| 53 | ./asp3/target/dummy_gcc/target_timer.cfg |
| 54 | ./asp3/target/dummy_gcc/target_timer.h |
| 55 | ./asp3/target/dummy_gcc/target_unrename.h |
| 56 | % Total % Received % Xferd Average Speed Time Time Time Current |
| 57 | Dload Upload Total Spent Left Speed |
| 58 | 100 161k 100 161k 0 0 1374k 0 --:--:-- --:--:-- --:--:-- 1372k |
| 59 | ./ssp/configure |
| 60 | ./ssp/MANIFEST |
| 61 | ./ssp/doc/ssp_spec.txt |
| 62 | (略) |
| 63 | ./ssp/extension/dataqueue.c |
| 64 | ./ssp/extension/eventflag.h |
| 65 | ./ssp/extension/eventflag.c |
| 66 | A rubycfg_ssp/syssvc_sym.def |
| 67 | A rubycfg_ssp/install.sh |
| 68 | A rubycfg_ssp/alarm.trb |
| 69 | (略) |
| 70 | A rubycfg_ssp/target_check.trb |
| 71 | A rubycfg_ssp/prc_kernel.trb |
| 72 | A rubycfg_ssp/target_kernel.trb |
| 73 | リビジョン 284 をチェックアウトしました。 |
| 74 | patching file arch/arm_m_gcc/Makefile.prc |
| 75 | patching file sample/Makefile |
| 76 | patching file sample/sample1.cfg |
| 77 | patching file target/cq_frk_fm3_gcc/Makefile.target |
| 78 | Generating Makefile from ../sample/Makefile. |
| 79 | ruby ../cfg/cfg.rb --pass 1 --kernel ssp -I. -I../include -I../arch -I../target/cq_frk_fm3_gcc -I../arch/arm_m_gcc/ -I.. -I../sample -I./gen -I../tecs_kernel --api-table ../kernel/kernel_api.def --symval-table ../kernel/kernel_sym.def --symval-table ../syssvc/syssvc_sym.def --symval-table ../arch/arm_m_gcc/prc_sym.def \ |
| 80 | -M deps/cfg1_out_c.d ../target/cq_frk_fm3_gcc/target_kernel.cfg ../sample/sample1.cfg |
| 81 | [cfg.rb] Generated cfg1_out.c |
| 82 | arm-none-eabi-gcc -c -MD -MP -MF deps/cfg1_out.d -O2 -Wall -g -mcpu=cortex-m3 -mthumb -mthumb -DTOPPERS_OMIT_TECS -DROM_BOOT -DTOPPERS_LABEL_ASM -I. -I../include -I../arch -I../target/cq_frk_fm3_gcc -I../arch/arm_m_gcc/ -I.. -I../sample -I./gen -I../tecs_kernel -DTOPPERS_CB_TYPE_ONLY -mcpu=cortex-m3 -mthumb -DALLFUNC -fno-strict-aliasing -mcpu=cortex-m3 -mthumb -I../kernel -I ../extension cfg1_out.c |
| 83 | arm-none-eabi-gcc -c -O2 -Wall -g -mcpu=cortex-m3 -mthumb -mthumb -DTOPPERS_OMIT_TECS -DROM_BOOT -DTOPPERS_LABEL_ASM -I. -I../include -I../arch -I../target/cq_frk_fm3_gcc -I../arch/arm_m_gcc/ -I.. -I../sample -I./gen -I../tecs_kernel -DALLFUNC -fno-strict-aliasing -mcpu=cortex-m3 -mthumb -I../kernel -I ../extension ../arch/arm_m_gcc/start.S |
| 84 | arm-none-eabi-gcc -O2 -Wall -g -mcpu=cortex-m3 -mthumb -mthumb -DTOPPERS_OMIT_TECS -DROM_BOOT -DTOPPERS_LABEL_ASM -I. -I../include -I../arch -I../target/cq_frk_fm3_gcc -I../arch/arm_m_gcc/ -I.. -I../sample -I./gen -I../tecs_kernel -nostdlib -nostdlib --entry _start -T ../target/cq_frk_fm3_gcc/cq_frm_fm3_rom.ld -o cfg1_out \ |
| 85 | cfg1_out.o |
| 86 | arm-none-eabi-nm -n cfg1_out > cfg1_out.syms |
| 87 | arm-none-eabi-objcopy -O srec -S cfg1_out cfg1_out.srec |
| 88 | ruby ../cfg/cfg.rb --pass 2 --kernel ssp -I. -I../include -I../arch -I../target/cq_frk_fm3_gcc -I../arch/arm_m_gcc/ -I.. -I../sample -I./gen -I../tecs_kernel -T ../target/cq_frk_fm3_gcc/target_kernel.trb |
| 89 | ===================================== |
| 90 | Task priority configuration result: |
| 91 | INIT_TASK: IPRI = 1, EXEPRI = 1 |
| 92 | LOGTASK: IPRI = 2, EXEPRI = 2 |
| 93 | MAIN_TASK: IPRI = 3, EXEPRI = 3 |
| 94 | TASK1: IPRI = 4, EXEPRI = 4 |
| 95 | TASK2: IPRI = 5, EXEPRI = 5 |
| 96 | TASK3: IPRI = 6, EXEPRI = 5 |
| 97 | ===================================== |
| 98 | ===================================== |
| 99 | Stack size configuration result: |
| 100 | Estimated task stack size = 768 |
| 101 | Specified interrupt stack size = INTERRUPT_STACKSIZE(value=1024) |
| 102 | Allocated total stack size = ALL_STACKSIZE(value=2048) |
| 103 | ===================================== |
| 104 | [cfg.rb] Generated kernel_cfg.h |
| 105 | [cfg.rb] Generated kernel_cfg.c |
| 106 | arm-none-eabi-gcc -c -MD -MP -MF deps/sample1.d -O2 -Wall -g -mcpu=cortex-m3 -mthumb -mthumb -DTOPPERS_OMIT_TECS -DROM_BOOT -DTOPPERS_LABEL_ASM -I. -I../include -I../arch -I../target/cq_frk_fm3_gcc -I../arch/arm_m_gcc/ -I.. -I../sample -I./gen -I../tecs_kernel ../sample/sample1.c |
| 107 | (略) |
| 108 | arm-none-eabi-gcc -c -MD -MP -MF deps/dataqueue.d -O2 -Wall -g -mcpu=cortex-m3 -mthumb -mthumb -DTOPPERS_OMIT_TECS -DROM_BOOT -DTOPPERS_LABEL_ASM -I. -I../include -I../arch -I../target/cq_frk_fm3_gcc -I../arch/arm_m_gcc/ -I.. -I../sample -I./gen -I../tecs_kernel -DALLFUNC -fno-strict-aliasing -mcpu=cortex-m3 -mthumb -I../kernel -I ../extension ../extension/dataqueue.c |
| 109 | rm -f libkernel.a |
| 110 | arm-none-eabi-ar -rcs libkernel.a target_support.o prc_support.o target_config.o target_serial.o prc_config.o prc_timer.o startup.o task.o task_manage.o interrupt.o exception.o sys_manage.o cyclic.o alarm.o time_manage.o time_event.o eventflag.o dataqueue.o |
| 111 | arm-none-eabi-ranlib libkernel.a |
| 112 | arm-none-eabi-gcc -O2 -Wall -g -mcpu=cortex-m3 -mthumb -mthumb -DTOPPERS_OMIT_TECS -DROM_BOOT -DTOPPERS_LABEL_ASM -I. -I../include -I../arch -I../target/cq_frk_fm3_gcc -I../arch/arm_m_gcc/ -I.. -I../sample -I./gen -I../tecs_kernel -nostdlib -nostdlib --entry _start -T ../target/cq_frk_fm3_gcc/cq_frm_fm3_rom.ld -L. -o ssp \ |
| 113 | sample1.o log_output.o vasyslog.o banner.o serial.o syslog.o logtask.o kernel_cfg.o \ |
| 114 | -lkernel -lc -lgcc |
| 115 | arm-none-eabi-nm -n ssp > ssp.syms |
| 116 | arm-none-eabi-objcopy -O srec -S ssp ssp.srec |
| 117 | ruby ../cfg/cfg.rb --pass 3 --kernel ssp -O -I. -I../include -I../arch -I../target/cq_frk_fm3_gcc -I../arch/arm_m_gcc/ -I.. -I../sample -I./gen -I../tecs_kernel -T ../target/cq_frk_fm3_gcc/target_check.trb \ |
| 118 | --rom-symbol ssp.syms --rom-image ssp.srec |
| 119 | configuration check passed |
| 120 | }}} |
| 121 | |
| 122 | 以上で,<カレントディレクトリ>/ssp_ruby/build/ に実行プログラムファイル(ssp)が生成されます. |