(toppers-users 3934) Re: FMPサンプル実行に関するパラメタ設定
Shinya Honda
honda @ ertl.jp
2012年 3月 1日 (木) 13:48:00 JST
葛坂さん
本田です.
メモリマップを見ると,ベクターアドレスが0x00000000から配置されていないで
すね.KAM-CA9はハードウェアのリマップ機能でDDRを0x00000000に配置して使っ
ています.
kzm_ca9_gcc/target_config.c の60行目からを次のように変更して下さい.
DDR_SIZEは最終的にはシミュレーションモデルの設定に合わせて下さい.
----------------------------------------------------------------------
/*
* メモリのベースアドレスとサイズ
*/
#define DDR_ADDR 0x60000000
#define DDR_SIZE 0x04000000 /* 64MB */
/*
* メモリマップの初期化(chip依存部から呼び出される)
* 同時にキャッシュも有効にする
*/
void
target_mmu_init(void)
{
MEMORY_ATTRIBUTE m_attribute;
/*
* Enable caching for the DDR
*/
m_attribute.pa = DDR_ADDR;
m_attribute.va = m_attribute.pa;
m_attribute.size = DDR_SIZE;
m_attribute.s = 1; /* 共有 */
m_attribute.ap = 3; /* フルアクセス */
m_attribute.tex = 1; /* Outer and Inner */
m_attribute.c = 1; /* Inner Write-Back, Write Allocate */
m_attribute.b = 1;
mmu_map_memory(&m_attribute);
/*
* ベクターテーブルを0x0000に置くため,DDRを
* 0x0000から配置する
*/
m_attribute.pa = DDR_ADDR;
m_attribute.va = 0x00000000;
m_attribute.size = DDR_SIZE;
m_attribute.ap = 3; /* フルアクセス */
m_attribute.tex = 1; /* Outer and Inner */
m_attribute.c = 1; /* Inner Write-Back, Write Allocate */
m_attribute.b = 1;
mmu_map_memory(&m_attribute);
}
以上,よろしくお願いします.
(2012/03/01 13:10), masato.kuzusaka.bh @ hitachi.com wrote:
> 本田様
>
> 葛坂です。
> 早急な回答感謝いたします。
>
>> 1. arm-none-eabi-nm.exe -n fmp.exe の実行結果
> 添付(arm-none-eabi-nm.txt)致しました。
>
>> 2. シミュレーションモデルのUART0の割込み番号
> Cortex-A9MPのSPI84に接続しております。
>
>> 3. fmp.exeと同じフォルダにあるkernel_cfg.cの _kernel_prc1_inh_table[]の
>> 内容.
> 添付(kernel_prc1_inh_table.txt)致しました。
>
>> 4. _kernel_irq_handler にブレークポイントを置いて,FMPを実行して,
>> _kernel_irq_handler が実行されるか.
> kernel_irq_handlerには入っていないようです。
>
> 以上お手数をお掛けして恐縮ですがよろしくお願いします。
>
>
>> 送信者: honda @ ertl.jp
>> 主題: Re: (toppers-users 3930) Re: FMPサンプル実行に関するパラメタ設定
>> 受信日: 12/03/01 12:35
>> 属性: なし
>>
>> 葛坂さん
>>
>> 本田です.
>>
>> (2012/03/01 11:44), masato.kuzusaka.bh @ hitachi.com wrote:
>>> 少し進みまして、以下で止まっている状態です。
>>> (#define TASK_LOOP 1000定義済)
>>>
>>> :
>>> local_inirtn exinf = 1, counter = 1
>>> System logging task is started on port 1.
>>>
>>>
>>> デバッガで確認したところ、sampe1.cのmain_task関数で何らかの
>>> エラーが発生しているようです。doループには入っています。
>>>
>>> ちょっと解らないことがあります。
>>> main_task関数の先頭で以下のステップでメッセージを出力しているものと思われますが
>>> UARTの出力には出てきていません。
>>> 最初の起動メッセージが出力されていれば出るはずとの認識ですが違いますか?
>>>
>>> syslog(LOG_NOTICE, "Sample program starts (exinf = %d).", (int_t) exinf);
>> main_task関数の先頭のログ出力からは,ログタスク経由の出力になります.ロ
>> グタスク経由の出力には,割込みが正しく設定されている必要があります(直前
>> の"SVC_PERROR(syslog_msk_log.."で切り替えています).
>>
>> 現状の状況から割込み関連の設定が正しくない可能性が高いです.
>>
>> 以下を情報をもらえないでしょうか.
>>
>> 1. arm-none-eabi-nm.exe -n fmp.exe の実行結果
>> 2. シミュレーションモデルのUART0の割込み番号
>> 3. fmp.exeと同じフォルダにあるkernel_cfg.cの _kernel_prc1_inh_table[]の
>> 内容.
>>
>> また,デバッガが使えるようでしたら,次の事項を確認して下さい.
>>
>> 4. _kernel_irq_handler にブレークポイントを置いて,FMPを実行して,
>> _kernel_irq_handler が実行されるか.
>>
>> 以上,よろしくお願いします.
>>
>>>
>>> 以上よろしくお願いします。
>>>
>>>> 送信者: honda @ ertl.jp
>>>> 主題: Re: (toppers-users 3930) Re: FMPサンプル実行に関するパラメタ設定
>>>> 受信日: 12/03/01 10:24
>>>> 属性: なし
>>>>
>>>> 葛坂様
>>>>
>>>> 本田です.
>>>>
>>>> 起動は上手くいっているようです.
>>>>
>>>> この後は何も出力されないでしょうか?
>>>>
>>>> この後動作するサンプルプログラムでは,一定時間のビジーループの後,タスク
>>>> がログを出力します.
>>>>
>>>> シミュレーション環境ですとビジーループが長すぎる場合があるので,
>>>> sampe1.c の先頭で
>>>>
>>>> #define TASK_LOOP 1000
>>>>
>>>> と定義すると良いかと思います.1000は,出力の周期に合わせて調整して下さい.
>>>>
>>>> 以上,よろしくお願いします.
>>>>
>>>> (2012/02/29 16:19), masato.kuzusaka.bh @ hitachi.com wrote:
>>>>> 本田様、みなさま
>>>>>
>>>>> 日立情報通信エンジニアリング(株)の葛坂です。
>>>>> お世話になっています。
>>>>>
>>>>> #間髪いれずにすみません。
>>>>>
>>>>> 仮想環境でFMPのサンプルが起動し仮想UARTに以下のメッセージが出ました。
>>>>> FMPのサンプルの正しい動きがわからないのですが、これは正しく動作して
>>>>> いるのでしょうか?
>>>>>
>>>>>
>>>>> TOPPERS/FMP Kernel Release 1.2.0 for KZM_CA9(MPCORE) (Feb 29 2012, 16:05:03)
>>>>>
>>>>> 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
>>>>>
>>>>>
>>>>>
>>>>> Processor 1 start.
>>>>>
>>>>> local_inirtn exinf = 1, counter = 1
>>>>>
>>>>> 以上よろしくお願いします。
>>>>>
>>>>>> 送信者: 葛坂_将人
>>>>>> 主題: (toppers-users 3929)FMPサンプル実行に関するパラメタ設定
>>>>>> 受信日: 12/02/29 15:42
>>>>>> 属性: なし
>>>>>>
>>>>>> 本田様、みなさま
>>>>>>
>>>>>> 日立情報通信エンジニアリング(株)の葛坂です。
>>>>>> お世話になっています。
>>>>>>
>>>>>> KZM-CA9-01仮想環境にてFMPサンプルの実行を行っています。
>>>>>> 現在、コマンドトレースで実行結果を見ていますが、
>>>>>> kzm_ca9.c内のUARTの初期化処理:kzm_ca9_uart_init()を抜けないでいる状況です。
>>>>>>
>>>>>> UARTの初期化処理は割り込みなどが絡んでくるため、チップの
>>>>>> 設定を確認しようと思っています。
>>>>>>
>>>>>> そこで質問なのですが、仮想環境のチップのプロパティは
>>>>>> KZM-CA9-01の仕様通り、Cortex-A9 MPCore×4の設定をしております。
>>>>>>
>>>>>> FMPのサンプルを作成する際に必要となるパラメタに関し、
>>>>>> 現在は、以下の設定をしています。
>>>>>> Makefile:
>>>>>> PRC_NUM = 1
>>>>>> ENABLE_G_SYSLOG = true
>>>>>>
>>>>>> これらの他に何か必要な設定はございますでしょうか。
>>>>>>
>>>>>> MPCore依存部マニュアルを見ると、__TARGET_ARCH_ARMマクロや
>>>>>> TMPRC_INDEXマクロ、MPCORE_PMR_BASEマクロの設定が必要の
>>>>>> ようですが、どこに定義すれば良いのでしょうか。
>>>>>>
>>>>>> 以上よろしくお願いします。
>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>>