2398625_ja-JP

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

2398625_ja-JP

2398625_ja-JP

S32K388 JumpAppは、コア0がアクティブな場合にのみ動作します。

ブートローダープログラムを作成し、アドレス0x400000から0x420000に配置しました。シリアルポート経由でプログラムをアップデートすると、コア0だけが動作し続ける。他のコアも動かすにはどうすればいいですか?

S32_SCB->VTOR = 0x00422000;
__asm volatile(
        「msr msp、 % 0」
:
: "r" (appStack)
"メモリ" );
((pFunction)appEntry)();
Re: S32K388 JumpApp Only runs with core 0 active.

こんにちは@zhangyu5454さん

スタートアップコードでコアを有効にすることができます。デフォルトのS32DSプロジェクトの起動コード(startup_cm7.s)を参照してください。

例えば、CM7_2_ENABLE == 1 の場合、起動コードはシステム起動時に CM7_2 を有効にします。

コアは、CM7_0アプリケーションから後から有効化することも可能で、関連するレジスタを直接設定するか、MCU MCALドライバやPower_Ipドライバを使用することで可能です。この例を参照してください。

https://community.nxp.com/t5/S32K-Knowledge-Base/S32K358-Multicore-Start-CM7-2-from-CM7-0/ta-p/19238...


BR、ダニエル


Re: S32K388 JumpApp Only runs with core 0 active.

ご回答ありがとうございます。Power_Ip を使ってみましたが、プログラムに「Power_Ip_Init(&Power_Ip_HwIPsConfigPB);」という行が現れると、デバッグプロセスが自動的に終了してしまいます。さらに、リセットボタンを押さなくてもリセットランプが点灯したままになり、結果としてデバイスが全く動作しなくなります。IP_MC_MEを使用すると、プログラムは正常に実行されますが、結果が何も生成されません。他のコンポーネントも起動しない。このコードスニペットはモデル388ではうまく動作していないようです。

Re: S32K388 JumpApp Only runs with core 0 active.

こんにちは@zhangyu5454さん

MCUがシステムリセットを経た場合、リセットのソースを読み取る必要があります。

電話してみていいよ

Power_Ip_GetResetReason();

main() の開始時、

Power_Ip_Init();

おそらく根本原因はV15スイッチドモード電源であり、ハードウェアデザインと一致している必要があります。

danielmartynek_0-1785236184264.png


BR、ダニエル


Re: S32K388 JumpApp Only runs with core 0 active.#S32K388
あなたのアドバイスに従って、int main(void) セクションに実装します。Power_Ip_GetResetReason() が呼び出されました。しかし、検査結果は変わっていない。
 
int main(void)
{
Power_Ip_GetResetReason();
Power_Ip_Init(&Power_Ip_HwIPsConfigPB);
    Clock_Ip_Init(&Mcu_aClockConfigPB[0]);
Power_Ip_SetMode(&Power_Ip_aModeConfigPB[0]);
(1)
ヤージュ

Re: S32K388 JumpApp Only runs with core 0 active.#S32K388

こんにちは@zhangyu5454さん

では、リセットの理由は何ですか?

推測するなら、POR/LVRだろう。


V15は基板上でどのように電源供給されていますか?

Power_IPを適切に設定していますか?


よろしくお願いいたします。

ダニエル




よろしくお願いします。


Re: S32K388 JumpApp Only runs with core 0 active.#S32K388

こんにちは、 @zhangyu5454 さん

PCB上でSMPSを使用していると理解していますので、設定ツールで有効にする必要があります:

danielmartynek_0-1786525102760.png

danielmartynek_1-1786525162418.png


SXOSCについては、無効になっていることを確認してください。

danielmartynek_2-1786525202445.png


Re: S32K388 JumpApp Only runs with core 0 active.#S32K388

ご返信ありがとうございます。私はこれらの機能についてあまり詳しくありません。関連するサンプルファイルやチュートリアルファイルはありますか?S32K358のサンプルコードを参考にしようとしましたが、うまくいきませんでした。V15電源については、外部の3.3Vからトランジスタを介してマイクロコントローラで制御され1.5Vが生成され、1.1Vもマイクロコントローラ制御で生成されることがわかりました。また、私のハードウェア設計に32.768のクリスタルオシレーターがなく、プログラムがループ内でClock_Ip_ExtOsc.cで止まってしまうことにも気づきました
Do {
SxoscStatus = ((Clock_Ip_apxXosc[インスタンス]-統計>STAT & SXOSC_SXOSC_STAT_OSC_STAT_MASK) >> SXOSC_SXOSC_STAT_OSC_STAT_SHIFT);
TimeoutOccurred = Clock_Ip_TimeoutExpired(&StartTime, &ElapsedTime, TimeoutTicks);
} 一方で(((0U == SxoscStatus) && (FALSE = TimeoutOccurredd));

标记 (1)
无评分
版本历史
最后更新:
星期四
更新人: