1st steps in coldfire world: the bootstrap

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

1st steps in coldfire world: the bootstrap

3,357 次查看
nooby
Contributor I
I have a flash PROM with a 'blink led' code inside, installed at adress 0 in the flash.
Some processors upload that code to internal RAM ( sometimes cache ) and run the startup code.
Some other processors transfer that code to external mem and branch on it to run it.

But what does the coldfire do exactly ?
The manual tells about several periph mapping registers. But to set these regs, a program needs to be running... where does this prog come from ? an external flasm PROM ? wich base adress is settable ? hmmm... really not clear.

Normally, the boot process is an extremely mechanism and on those wonderfull coldfire processors, it's really not clear.

Could any1 explain me the process please ?
thx in advance for your help.
regards.
标签 (1)
0 项奖励
回复
4 回复数

1,333 次查看
w_wegner
Contributor III
Hi,

maybe it could help the others if you could specify which Coldfire processor you are working with.

I can only comment on MCF532x/MCF537x which I am struggling with at the moment. Here, you have an initial configuration for CS0 which is active after reset; the processor then loads the first two longwords of flash as stack pointer and program counter and starts executing from this state.

For MCF532x/537x, start at section 3.6.14 (ColdFire Core/Reset Exception), 9.4.4 (Chip Configuration Module/Boot Device Selection), and 17.3.1.2 (FlexBus/Global Chip Select Operation).

Regards,
Wolfgang
0 项奖励
回复

1,333 次查看
nooby
Contributor I
hi.

Of course i can specify the coldfire i'm working on :smileyhappy:

It's the 5485.

Thx for explaining the way the 53xx boots ! U mean that this cpu can start it's execution at an adress different of 0 ? great !!! it means that the boot process is really different with others processors.

but does the 5485 work the same way ?

The more i discover about those machines, the more i can't wait using them !
I gonna look again at the doc for reset exception. I'ts a good clue :smileyhappy:

thanks for your help and don't hesitate to post if one has more info about booting process.

regards.

Cyril
0 项奖励
回复

1,333 次查看
w_wegner
Contributor III
Hi Cyril,

just to make it clear: the processor starts with reading the first two longwords of flash (located at address 0x0).
These values are used as stack pointer and program counter, such that subsequent execution begins at an arbitrary address. So the first two longwords in flash are "reserved" for booting purpose.

Just looked in the 5485 manual, and the general concept is the same here. In the current reference manual, chapter 17.5.1.2 specifies global chip select operation (after reset), and chapter 3.8.2 describes exception processing (see reset exception in table 3-23).

Regards,
Wolfgang
0 项奖励
回复

1,333 次查看
nooby
Contributor I
Okies !!!

Thanks a lot for this info. I'm not used to that boot process, and that's why i didn't stop on the documentation hot reset process. I didn't make it work yet, but i guess i have now all the information i need ta make i work the way i want.

Thanks a lot for your help.

Best regards...

Cyril.
0 项奖励
回复