(toppers-users 4175) Re: kernel_cfg.timestampでのSegmentation Fault

Juggler Shu shu @ jugglershu.net
2013年 12月 3日 (火) 02:39:24 JST


返信ありがとうございます。

利用しているsafegのバージョンは以下のものです。
  - safeg-0.5-armadillo-800-eva-6mar2013

ログを見る限り、以下のバージョンのソースコードをfetch_sources.shは取って 
きているようです。
  - linux-2.6.35-a800eva-at3.tar.gz
  - asp_armadillo-800-eva_gcc-20130221.tar.gz
  - cfg-1.8.0.tar.gz

なお、コンパイラはATDE4に追加で
gcc-arm-none-eabi-4_7-2013q3
をダウンロードし、コンパイルしてインストールしました。

以下に、build_all.shスクリプトでエラーが起きた箇所のビルドログを貼り付け 
ます。
何か環境等、確認すべきものがあればお教え下さい。
よろしくお願い致します。

----BEGIN----
LIBBOOST_SUFFIX=
BOOST_VERSION=1_55
BOOST_DIR=/usr/local/include
LIBBOOST_DIR=/usr/local/lib
OPTIONS=
make BOOST_DIR="/usr/local/include" LIBBOOST_SUFFIX="" CXXFLAGS="-O2 " 
-C toppers
make[1]: ディレクトリ 
`/home/atmark/Downloads/safeg/safeg-0.5-armadillo-800-eva-6mar2013/asp/cfg/toppers' 
に入ります
make[1]: `all' に対して行うべき事はありません.
make[1]: ディレクトリ 
`/home/atmark/Downloads/safeg/safeg-0.5-armadillo-800-eva-6mar2013/asp/cfg/toppers' 
から出ます
make BOOST_DIR="/usr/local/include" LIBBOOST_SUFFIX="" CXXFLAGS="-O2 " 
-C toppers/itronx
make[1]: ディレクトリ 
`/home/atmark/Downloads/safeg/safeg-0.5-armadillo-800-eva-6mar2013/asp/cfg/toppers/itronx' 
に入ります
make[1]: `all' に対して行うべき事はありません.
make[1]: ディレクトリ 
`/home/atmark/Downloads/safeg/safeg-0.5-armadillo-800-eva-6mar2013/asp/cfg/toppers/itronx' 
から出ます
make BOOST_DIR="/usr/local/include" LIBBOOST_SUFFIX="" CXXFLAGS="-O2 " 
-C cfg
make[1]: ディレクトリ 
`/home/atmark/Downloads/safeg/safeg-0.5-armadillo-800-eva-6mar2013/asp/cfg/cfg' 
に入ります
make[1]: `all' に対して行うべき事はありません.
make[1]: ディレクトリ 
`/home/atmark/Downloads/safeg/safeg-0.5-armadillo-800-eva-6mar2013/asp/cfg/cfg' 
から出ます
if ! [ -f Makefile.depend ]; then \
         rm -f kernel_cfg.timestamp kernel_cfg.c kernel_cfg.h ; \
         rm -f cfg1_out.c cfg1_out.o cfg1_out.elf cfg1_out.syms 
cfg1_out.srec; \
         rm -f makeoffset.s offset.h; \
     fi
rm -f Makefile.depend
../../asp/cfg/cfg/cfg --pass 1 --kernel asp -I. -I../../asp/include 
-I../../asp/arch -I../../asp -I../../asp/target/armadillo-800-eva_gcc 
-I../../asp/arch/arm_gcc/safeg -I../../asp/arch/arm_gcc/rma1 
-I../../asp/arch/arm_gcc/common -I../../asp/arch/gcc --api-table 
../../asp/kernel/kernel_api.csv --cfg1-def-table 
../../asp/kernel/kernel_def.csv  --cfg1-def-table 
../../asp/arch/arm_gcc/common/core_def.csv  sample1.cfg
arm-none-eabi-gcc -c  -mlittle-endian -mcpu=cortex-a9 -g -Wall -O2  
-DTOPPERS_SAFEG_SECURE -DTOPPERS_SAFEG_COM -DTOPPERS_SAFEG_LOAD 
-D__TARGET_ARCH_ARM=7 -I. -I../../asp/include -I../../asp/arch 
-I../../asp -I../../asp/target/armadillo-800-eva_gcc 
-I../../asp/arch/arm_gcc/safeg -I../../asp/arch/arm_gcc/rma1 
-I../../asp/arch/arm_gcc/common -I../../asp/arch/gcc   -DALLFUNC 
-I../../asp/kernel cfg1_out.c
arm-none-eabi-gcc  -mlittle-endian -mcpu=cortex-a9 -g -Wall -O2 
-DTOPPERS_SAFEG_SECURE -DTOPPERS_SAFEG_COM -DTOPPERS_SAFEG_LOAD 
-D__TARGET_ARCH_ARM=7 -I. -I../../asp/include -I../../asp/arch 
-I../../asp  -I../../asp/target/armadillo-800-eva_gcc 
-I../../asp/arch/arm_gcc/safeg -I../../asp/arch/arm_gcc/rma1 
-I../../asp/arch/arm_gcc/common -I../../asp/arch/gcc  -nostdlib 
-mlittle-endian -N -mcpu=cortex-a9 -Wl,-Ttext,0x5f000000 -T 
../../asp/target/armadillo-800-eva_gcc/armadillo-800-eva.ld  -o 
cfg1_out.elf \
                          cfg1_out.o
arm-none-eabi-nm -C cfg1_out.elf > cfg1_out.syms
arm-none-eabi-objcopy -O srec -S cfg1_out.elf cfg1_out.srec
../../asp/cfg/cfg/cfg --pass 2 --kernel asp -I. -I../../asp/include 
-I../../asp/arch -I../../asp -I../../asp/target/armadillo-800-eva_gcc 
-I../../asp/arch/arm_gcc/safeg -I../../asp/arch/arm_gcc/rma1 
-I../../asp/arch/arm_gcc/common -I../../asp/arch/gcc \
                 -T ../../asp/target/armadillo-800-eva_gcc/target.tf 
--api-table ../../asp/kernel/kernel_api.csv --cfg1-def-table 
../../asp/kernel/kernel_def.csv  --cfg1-def-table 
../../asp/arch/arm_gcc/common/core_def.csv  sample1.cfg
make: *** [kernel_cfg.timestamp] セグメンテーション違反です
arm-none-eabi-gcc  -mlittle-endian -mcpu=cortex-a9 -g -Wall -O2 
-DTOPPERS_SAFEG_SECURE -DTOPPERS_SAFEG_COM -DTOPPERS_SAFEG_LOAD 
-D__TARGET_ARCH_ARM=7 -I. -I../../asp/include -I../../asp/arch 
-I../../asp  -I../../asp/target/armadillo-800-eva_gcc 
-I../../asp/arch/arm_gcc/safeg -I../../asp/arch/arm_gcc/rma1 
-I../../asp/arch/arm_gcc/common -I../../asp/arch/gcc  -nostdlib 
-mlittle-endian -N -mcpu=cortex-a9 -Wl,-Ttext,0x5f000000 -T 
../../asp/target/armadillo-800-eva_gcc/armadillo-800-eva.ld  -o 
cfg1_out.elf \
                          cfg1_out.o
arm-none-eabi-nm -C cfg1_out.elf > cfg1_out.syms
arm-none-eabi-objcopy -O srec -S cfg1_out.elf cfg1_out.srec
../../asp/cfg/cfg/cfg --pass 2 --kernel asp -I. -I../../asp/include 
-I../../asp/arch -I../../asp -I../../asp/target/armadillo-800-eva_gcc 
-I../../asp/arch/arm_gcc/safeg -I../../asp/arch/arm_gcc/rma1 
-I../../asp/arch/arm_gcc/common -I../../asp/arch/gcc \
                 -T ../../asp/target/armadillo-800-eva_gcc/target.tf 
--api-table ../../asp/kernel/kernel_api.csv --cfg1-def-table 
../../asp/kernel/kernel_def.csv  --cfg1-def-table 
../../asp/arch/arm_gcc/common/core_def.csv  sample1.cfg
make: *** [kernel_cfg.timestamp] セグメンテーション違反です
 >> building SafeG
arm-none-eabi-gcc -c -DSAFEG_RMA1 -DPROF_SUPPORT -DDUALOS_DEVICE_SHARING 
-mcpu=cortex-a9 -msoft-float -g -Wall -Wextra -Werror -I . 
-DSECURE_START_ADDRESS=0x5f000000 -DNORMAL_START_ADDRESS=0xe80c0000 
-D__TARGET_ARCH_ARM=7 -O2 safeg.S
arm-none-eabi-gcc -c -DSAFEG_RMA1 -DPROF_SUPPORT -DDUALOS_DEVICE_SHARING 
-mcpu=cortex-a9 -msoft-float -g -Wall -Wextra -Werror -I . 
-DSECURE_START_ADDRESS=0x5f000000 -DNORMAL_START_ADDRESS=0xe80c0000 
-D__TARGET_ARCH_ARM=7 -O2 crt0-safeg.S
arm-none-eabi-gcc -mcpu=cortex-a9 -msoft-float -static -nostdlib -lgcc 
-Wl,-Ttext,0x5f800000 -T safeg.lds safeg_start.o safeg.o crt0-safeg.o -o 
safeg.elf
arm-none-eabi-objcopy -O binary -S safeg.elf safeg.bin
 >> copying binary files
mkdir: ディレクトリ `./tools/auto_build/output' を作成できません: ファイ 
ルが存在します
cp: `./app/sample1_s/asp.elf' を stat できません: そのようなファイルや 
ディレクト
----END----



On 12/2/13 2:32 PM, Shinya Honda wrote:
> 鈴木さん
>
> 本田です.
>
> こちらでは,ATDE4でビルド出来ています.
>
> 下記の情報だけでは判断できないので,ビルドログや使われたソースのバー 
> ジョ ンを提示頂けないでしょうか.
>
> 以上,よろしくお願いします.
>
> (2013/12/01 18:22), Juggler Shu wrote:
>> はじめまして。現在TrustZone関連の技術について調べておりまして、
>> safegをArmadillo-800evaで動作させたいと考えているものです。
>> プリビルド版に関しては問題なく動作しているようなのですが、コードの変更な
>> どを入れたいと考え
>> ソースコードからビルドしようとしました。
>>
>> そうしたところ、ASPのsample1をビルドしようとしたところで以下のエラーと
>> なってしまいました。
>>
>> make: *** [kernel_cfg.timestamp] セグメンテーション違反です
>>
>> 1つずつ手動でビルドした場合でも、build_all.shスクリプトを用いた場合でも
>> 同様のようでした。
>> バイナリは出来上がっているようなのですが。
>>
>> ビルド環境はArmadilloで提供されているATDE4を用いています。
>>
>> このエラーを修正する方法がありましたら、お教えいただきたいです。
>> よろしくお願い致します。
>>
>> 鈴木秀一郎
>>
>
>
>