(toppers-users 3945) Re: TOPPERS/FMPカーネルのトレースログの取得

Shinya Honda honda @ ertl.jp
2012年 3月 6日 (火) 09:23:54 JST


葛坂さん

本田です.

>>>>> (1)asp/kernel/kernel.tf の最後に以下を追加.
>>>>>      $INCLUDE"arch/logtrace/tlv.tf"$

の後に改行を入れられていますか.改行を入れないと,kernel.res が生成され
ません.

マニュアルでの説明が足りていないので,次回のリリースで修正したいと思います.

以上,よろしくお願いします.

(2012/03/06 8:48), masato.kuzusaka.bh @ hitachi.com wrote:
> 本田様
> 
> 葛坂です。
> *.logは承知いたしました。
> kernel.resは出力されていませんが、考えられる要因はありますでしょうか。
> 
> 以上よろしくお願いします。
> 
> 
>> 送信者: honda @ ertl.jp
>> 主題: Re: (toppers-users 3935) TOPPERS/FMPカーネルのトレースログの取得
>> 受信日: 12/03/05 19:41
>> 属性: なし
>>
>> 葛坂さん
>>
>> 本田です.
>>
>> *.log は,コンソールの出力をコピーして手動で作成する必要があります.あ
>> と,fmp.exe があるフォルダに kernel.res というファイルが出来ているはずで
>> すので,この二つファイルをTLVにドロップすると可視化されるはずです.
>>
>> 以上,よろしくお願いします.
>>
>> (2012/03/05 18:46), masato.kuzusaka.bh @ hitachi.com wrote:
>>> 本田様
>>>
>>> 葛坂です。
>>> 承知しました。
>>>
>>> ということは、*.logと*.tlvファイルが出力されていないということですね。
>>> ちなみにこの2ファイルは実行ディレクトリに生成されるのでしょうか。
>>>
>>>> 送信者: honda @ ertl.jp
>>>> 主題: Re: (toppers-users 3935) TOPPERS/FMPカーネルのトレースログの取得
>>>> 受信日: 12/03/05 17:52
>>>> 属性: なし
>>>>
>>>> 葛坂さん
>>>>
>>>> 本田です.
>>>>
>>>> ログを見る限りトレースログは出力されています.起動ログに見えるのは,ト
>>>> レースログに保存された起動ログが出力されているからです.
>>>>
>>>> トレースログのフォーマットは次のようになっており,xが時刻,yがプロセッサ
>>>> IDとなります.
>>>>
>>>> [x]:[y]
>>>>
>>>> 以上,よろしくお願いします.
>>>>
>>>> (2012/03/05 15:03), masato.kuzusaka.bh @ hitachi.com wrote:
>>>>> 本田様
>>>>>
>>>>> 葛坂です。いつもお世話になっています。
>>>>>
>>>>> 下記、(1)〜(3)の作業を行って実行しましたが、
>>>>> ログが出力されません。足りない作業があるのでしょうか。
>>>>>
>>>>> (1)asp/kernel/kernel.tf の最後に以下を追加.
>>>>>      $INCLUDE"arch/logtrace/tlv.tf"$
>>>>>
>>>>> (2)Makefile
>>>>>      ENABLE_TRACE = true
>>>>>
>>>>>
>>>>> (3)sample1.cfgの最後に以下を追加.
>>>>> #include "logtrace/trace_config.h"
>>>>> ATT_INI({ TA_NULL, TRACE_AUTOSTOP, trace_initialize});
>>>>> ATT_TER({ TA_NULL, target_fput_log, trace_dump});
>>>>>
>>>>> もう一点、サンプルが"Q"コマンドで正常に完了しないと出力されないと思い、
>>>>> "Q"コマンドを入力したところ、下記のように一旦サンプルが終了した後に
>>>>> 再びFMPが起動されているように見えますが、これはこちらのプロセッサモデルの
>>>>> 影響でしょうか。
>>>>>
>>>>> 以下はサンプルを起動後に、TASK2に切替えてから"Q"コマンドを入力したログです。
>>>>>
>>>>> :
>>>>> :
>>>>> task1_2 is running (16696).     +
>>>>> task1_2 is running (16697).     +
>>>>> task1_2 is running (16698).     +
>>>>> Sample program ends.
>>>>> local_terrtn exinf = 1, counter = 2
>>>>> [0]:[1]:
>>>>>
>>>>> TOPPERS/FMP Kernel Release 1.2.0 for KZM_CA9(MPCORE) (Mar  5 2012, 14:34:32)
>>>>> Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
>>>>>                                Toyohashi Univ. of Technology, JAPAN
>>>>> Copyright (C) 2004-2011 by Embedded and Real-Time Systems Laboratory
>>>>>                Graduate School of Information Science, Nagoya Univ., JAPAN
>>>>>
>>>>> [0]:[1]: Processor 1 start.
>>>>> [0]:[1]: local_inirtn exinf = 1, counter = 1
>>>>> [0]:[1]: dispatch to task 1.
>>>>> [0]:[1]: enter to sns_dpn.
>>>>> [0]:[1]: leave from sns_dpn state=0.
>>>>> [0]:[1]: enter to dis_dsp.
>>>>> [0]:[1]: leave from dis_dsp ercd=0.
>>>>> [0]:[1]: enter to loc_cpu.
>>>>> [0]:[1]: leave from loc_cpu ercd=0.
>>>>> [0]:[1]: enter to ena_int intno=84.
>>>>> [0]:[1]: leave from ena_int ercd=0.
>>>>> [0]:[1]: enter to unl_cpu.
>>>>> [0]:[1]: leave from unl_cpu ercd=0.
>>>>> [0]:[1]: enter to ena_dsp.
>>>>> [0]:[1]: leave from ena_dsp ercd=0.
>>>>> [0]:[1]: System logging task is started on port 1.
>>>>> [0]:[1]: enter to sns_dpn.
>>>>> [0]:[1]: leave from sns_dpn state=0.
>>>>> :
>>>>> :
>>>>>
>>>>> 以上よろしくお願いします。
>>>>>
>>>>>
>>>>>
>>>>>> 送信者: honda @ ertl.jp
>>>>>> 主題: Re: (toppers-users 3935) TOPPERS/FMPカーネルのトレースログの取得
>>>>>> 受信日: 12/03/01 22:59
>>>>>> 属性: なし
>>>>>>
>>>>>> 葛坂さん
>>>>>>
>>>>>> 本田です.
>>>>>>
>>>>>> (2012/03/01 16:53), masato.kuzusaka.bh @ hitachi.com wrote:
>>>>>>> (1)Makefile
>>>>>>>  ENABLE_TRACE = trueにするとmake時にエラーが出ます。
>>>>>>>  対処方法を教えてください。
>>>>>>>
>>>>>>> ../arch/logtrace/trace_config.c: In function 'trace_initialize':
>>>>>>> ../arch/logtrace/trace_config.c:74:2: warning: implicit declaration of function
>>>>>>> '_kernel_scu_counter_init' [-Wimplicit-function-declaration]
>>>>>>> ../arch/logtrace/trace_config.c: In function 'trace_wri_log':
>>>>>>> ../arch/logtrace/trace_config.c:109:3: warning: implicit declaration of function
>>>>>>>      'scu_counter_get_current' [-Wimplicit-function-declaration]
>>>>>>> ../arch/logtrace/trace_config.c:109:21: error: 'CORE_CLK' undeclared (first use
>>>>>>> in this function)
>>>>>>> ../arch/logtrace/trace_config.c:109:21: note: each undeclared identifier is repo
>>>>>>> rted only once for each function it appears in
>>>>>>> make: *** [trace_config.o] Error 1
>>>>>> これはkzm-ca9の不具合です.ARM11ではSCUにカウンタがあり,その値をトレー
>>>>>> スログの取得時のタイムスタンプとして使用していましたが,Cortex-A9にはこ
>>>>>> のカウンタは存在しないので,他の方法でタイムスタンプを取得する必要があり
>>>>>> ます.
>>>>>>
>>>>>> 精度はmsecになりますが,以下の変更でカーネル内のティックをタイムスタンプ
>>>>>> に使用します.精度を高めたい場合は,フリーランニングタイマ等を用意し
>>>>>> て,TRACE_GET_TIM()マクロで読み込めばよいです.
>>>>>>
>>>>>> target/kzm_ca9_gcc/kzm_ca9.h : 154/155行目をコメントアウト
>>>>>>
>>>>>> /*
>>>>>> *  トレースログに関する定義
>>>>>> *  SCUを用いる.
>>>>>> */
>>>>>> //#define TRACE_HW_INIT()   scu_counter_init()
>>>>>> //#define TRACE_GET_TIM()   ((scu_counter_get_current() * 1000) / CORE_CLK)
>>>>>>
>>>>>>
>>>>>> arch/logtrace/trace_config.h : 77行目変更
>>>>>>
>>>>>> /*
>>>>>> *  トレース時刻の取得方法
>>>>>> */
>>>>>> #ifndef TRACE_GET_TIM
>>>>>> #define TRACE_GET_TIM()		(get_my_current_time())
>>>>>> #endif /* TRACE_GET_TIM */
>>>>>>
>>>>>> 次のリリースでは何らかの対応をしたいと思います.
>>>>>>
>>>>>>
>>>>>>>
>>>>>>> (2)user.txt
>>>>>>>  「11.6x トレースログ記録のサンプルコードの使用方法」にある
>>>>>>>  システムコンフィギュレーションファイルに次のような記述を追加すると
>>>>>>>  ありますが、システムコンフィギュレーションファイルとは
>>>>>>>  sample1.cfgでよいでしょうか。
>>>>>> はい,sample1.cfg で良いです.
>>>>>>
>>>>>> 以上,よろしくお願いします.
>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>>
>>
> 


-- 
本田 晋也(Shinya Honda)
名古屋大学 大学院情報科学研究科 附属組込みシステム研究センター 准教授
E-mail  honda @ ertl.jp
WWW     http://www.ertl.jp/~honda/
TEL/FAX 052-789-5888/5889