TC2xx How to boot from Alternate Boot Mode (ABM)?

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

cross mob
flony
Level 1
Level 1
First like received 5 sign-ins First reply posted

I use TC234 and TC275,wanted boot from ABM.

I uses only BMHD1.In linker file,this was configed:

RESET = 0x80020020;

.bmhd_1 (0x80020000) : FLAGS(arl)
{
BootModeIndex = .;
KEEP (*(.bmhd_1));
} > pfls0

In source file,I write the first user code and calculate the checksum:

const uint32 BootModeHeader_1[] = {
0x80020020u, /* STADBM first user code at 0x8002 0020h */
0xB3590064u, /* BMI = 0064h BMHDID = B359h disable HWCFG pins & ABM */
0x80020008u, /* ChkStart */
0x8002000Fu, /* ChkEnd */
0xEF947F9Fu, /* CRCrange */
0x106B8060u, /* !CRCrange */
0xE935730Fu, /* CRChead */
0x16CA8CF0u /* !CRChead */
};

When connected with debugger ,the program can run.If without debugger,it can't run.

What's wrong with it? Is anyone can help me? Thanks!

0 Likes
1 Solution
cwunder
Employee
Employee
5 likes given 50 likes received 50 solutions authored

Your BMI setting is not valid. The PINDIS is bit 3 which makes it binary 8. For alternate boot mode with HWCFG disable would be 068h.

cwunder_0-1639325970359.png

 

 

View solution in original post

2 Replies
cwunder
Employee
Employee
5 likes given 50 likes received 50 solutions authored

Your BMI setting is not valid. The PINDIS is bit 3 which makes it binary 8. For alternate boot mode with HWCFG disable would be 068h.

cwunder_0-1639325970359.png

 

 

flony
Level 1
Level 1
First like received 5 sign-ins First reply posted

Tank you very much!It works.  I did miscalculate the BMI data.

0 Likes