Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
khaled_hossam
Level 1
Level 1
10 replies posted 5 sign-ins First like given

Hello,

 

Aurix dont jump after reset to the specified address configured in the BMI header.

The BMI header is valid, the mode selection for pins is disabled, start-up mode set to alternate boot mode (ABM), and all CRCs are calculated and valid.

 

Is there anything else missing to successfully change the start address ?

 

0 Likes
1 Solution
MoD
Employee
Employee
50 likes received 500 replies posted 100 solutions authored

The CRC check is always 32 bit width, this means the region to check must be aligned to 32 bit.

Change the check range area to e.g. 0x80090120 - 0x80090123 or 0x80090120 - 0x80090127 and recalculate the expected CRC.

View solution in original post

12 Replies
Jeremy_Z
Moderator
Moderator
Moderator
1000 replies posted 250 sign-ins 100 likes received

Hi @khaled_hossam 
Thank you for your interest in Infineon Semiconductor products and for the opportunity to serve you.
I was wondering if you can illustrate the steps for modifying the BMHD to implement the ABM, as it can help me figure the issue out.
BR,
Jeremy

 

0 Likes

So we configured the BM header as following (Using lauterbach):

 

khaled_hossam_1-1681984180868.png

 

 

After reset, the SW starts at 0x80000020 always (As if starting from internal flash).

0 Likes
Sharath_V
Moderator
Moderator
Moderator
First comment on blog 250 sign-ins 100 replies posted

Hi @khaled_hossam ,

It is not quite clear on how you modified BMHD (which is in PFlash) via debugger.
Your BMHD should be configured as part of the hex file and can be programmed as a normal hex file.
Did you issue a flash write command via Trace32 and program the BMHD?

0 Likes

The lauterbach already does that in the background, we can modify the BMHD and then write it back. So its correctly programmed to the PFlash

0 Likes
Sharath_V
Moderator
Moderator
Moderator
First comment on blog 250 sign-ins 100 replies posted

Please share the BMHD dump as .hex file, we will analyze and get back to you

0 Likes
lock attach
Attachments are accessible only for community members.

Please find the dump attached.

0 Likes
Sharath_V
Moderator
Moderator
Moderator
First comment on blog 250 sign-ins 100 replies posted

Please also share the dump of the check range area (0x80090120 - 0x80090124)

0 Likes
lock attach
Attachments are accessible only for community members.

Please find it attached.

0 Likes
MoD
Employee
Employee
50 likes received 500 replies posted 100 solutions authored

The CRC check is always 32 bit width, this means the region to check must be aligned to 32 bit.

Change the check range area to e.g. 0x80090120 - 0x80090123 or 0x80090120 - 0x80090127 and recalculate the expected CRC.

Thank you very much, indeed, this solved the issue.

0 Likes
Karishma_S
Moderator
Moderator
Moderator
First comment on blog 250 sign-ins 25 likes received

Hi @khaled_hossam,

As seen from the BMHD_CheckRange_dump, the CRC generated is invalid. This is because the address in ChkEnd field (80090124) is not 4-byte aligned. Please ensure it is aligned to 4-byte value such as 80090123 or 80090127, and then generate the CRC accordingly.

Thank you very much, That was the problem

0 Likes