LPC55S69 multicore SDK example fails upon nRESET or power cycle

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

LPC55S69 multicore SDK example fails upon nRESET or power cycle

1,000件の閲覧回数
RyanM314
Contributor I

My company has been developing an application using the multicore SDK example, but this code only runs when using the MCUXpresso debugger before any nRESET or power cycle. The SDK example codes: 'lpcxpresso55s69_multicore_manager_cm33_core0' and 'lpcxpresso55s69_multicore_manager_cm33_core1' work only when using the MCUXpresso debugger and immediately after pressing 'Terminate All Debug Sessions'. As soon as the nRESET is applied, the red LED fails to toggle. This code also fails after power cycling and pressing nRESET.

After some debugging by attaching the CMSIS-DAP debug probe, it seems that the hard-fault handler is being invoked upon the subsequent boot after nRESET. The hard fault handler is not invoked when reattaching a debug probe to the multi-core SDK example without a power cycle or press of nRESET after flashing.

The hardfault handler link register contained a value in the MAILBOX_SetValueBits(...) function which seems to indicate a problem with the mailbox. I am not sure if this specific link register value is reproducible, it just happened upon some initial testing.

Any ideas on how to solve this problem? Any help is appreciated!

ラベル(2)
タグ(2)
0 件の賞賛
返信
4 返答(返信)

989件の閲覧回数
Alice_Yang
NXP TechSupport
NXP TechSupport

Hello RyanM314,

Dose your project includes Semihost like printf ?

 

BR

Alice

0 件の賞賛
返信

983件の閲覧回数
RyanM314
Contributor I
スポイラ
 

Thank you for the reply!

I did include the Semihost so I have access to printf(), but it seems that the way that printf works makes it hard fault after an nRESET. 

To get around this problem, I simply pruned the printf() statements for a release version and it worked.

That said, there probably shouldn't be a hard fault if using printf() in the release version after including the Semihost. That seems like there might be an issue with the way printf() is redefined in stdio.h. 

0 件の賞賛
返信

973件の閲覧回数
Alice_Yang
NXP TechSupport
NXP TechSupport

Hello RyanM314,

As Converse said, the Semihost need work with debugger.

 

0 件の賞賛
返信

976件の閲覧回数
converse
Senior Contributor V

Semihosting explicitly requires a debugger to work. This is by design.

0 件の賞賛
返信