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

masato.kuzusaka.bh @ hitachi.com masato.kuzusaka.bh @ hitachi.com
2012年 3月 6日 (火) 08:48:56 JST


本田様

葛坂です。
*.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 で良いです.
>>>>>
>>>>> 以上,よろしくお願いします.
>>>>>
>>>>>
>>>>
>>>
>>>
>> 
>