bootpatch in C

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 
1,796件の閲覧回数
s_kalop
Contributor I

Hello.

I'm trying to wrote bootpatch code for msc8156 on ADS by myself in C for ethernet bootloading. I wrote simple application in CCS and it was successfully loaded by ethernet. By i need ddr initialization before target app loading is started. So I wrote simple leds blinking app in C, burned I2C on ADS and switched

SW1.0 BPRT0 - ON

SW1.1 BPRT1 - ON

SW1.2 BPRT2 - OFF as to load by ethernet

and

SW1.1 - OFF as to bootpatch will be executed while booloading

When ADS was turned off and then turned on a saw that bootpatch was executed successfully but than there was no ethernet dhcp activity. So i attached to code and pointed out that core is stopped as my bootpatch code did when it returned from main. I think that bootpatch code must jumped to initial bootloader when finished. But what address it should be jumped and how it can by instructed to jump in C?

 

Thank you. Sorry for my Engllish.

ラベル(1)
0 件の賞賛
返信
1 解決策
1,556件の閲覧回数
lunminliang
NXP Employee
NXP Employee

When you attched to code, please check your RCW[BPRT], it's not SW1.0~1.2 for setting of BPRT.

All cores will do private configuration first, then core 0 does the shared configuraation, after that it's the patch code loading and executing. After the patch is executed, the patch code jumps to the address in the boot code defined in address 0xC0101C14. By default, the boot code continues Boot Flow from same place after returning from the patch loading.

By the way, what patch code did you write? Freescale also privides patch.

元の投稿で解決策を見る

0 件の賞賛
返信
3 返答(返信)
1,557件の閲覧回数
lunminliang
NXP Employee
NXP Employee

When you attched to code, please check your RCW[BPRT], it's not SW1.0~1.2 for setting of BPRT.

All cores will do private configuration first, then core 0 does the shared configuraation, after that it's the patch code loading and executing. After the patch is executed, the patch code jumps to the address in the boot code defined in address 0xC0101C14. By default, the boot code continues Boot Flow from same place after returning from the patch loading.

By the way, what patch code did you write? Freescale also privides patch.

0 件の賞賛
返信
1,556件の閲覧回数
s_kalop
Contributor I

As i understand, type of reset configuration source on ADS by default is defined by dip switches and SW1.6-8 change RCW[BPRT] value as i see after booting by RCW register view in CCS. I switch SW1.6-8 for ethernet booting.

I need bootpatch fot target application which uses DDR, but now i just use simple led blinking app instead of true bootpatch to check that bootpatch executes and than ethernet bootflow continues, but it's not. I see that bootpatch execites and than core is stopped and no booting. When i prepare boot code i use "How to" in "...\CW SC v10.2\SC\StarCore_Support\I2CBoot\"

Hoe can i ask for bootpatch from freescale?

Thank you.

0 件の賞賛
返信
1,556件の閲覧回数
lunminliang
NXP Employee
NXP Employee

Sorry for late repsonse, you can submit serveice request to technical support on www.freescale.com to get the bootpatch.