DSPRelated.com
Forums

C5402 (160Mhz) Interface to Flash Memory

Started by Jean Viljoen August 8, 2003
Dear group

I have a custom C5402 board interfaced to a M29W010B Flash module from
STMicro. The boards works fine with the 100MHz C5402. It boots from
flash and I program the flash with my own routine.

I have built a few boards with the 160 MHz C5402. I get comms through
the JTAG to CCS, but the processor will not boot from flash memory. The
program runs when I load it from CCS. The external CLKMD pins are as
follow:
CLKMD1 : 1
CLKMD2 : 0
CLKMD3 : 1
and an external 20MHz crystal is connected between X1 and X2.

When I read the flash memory with my flash burn application, I get only
garbage out. Even though I set the clock speed to 100MHz in software
when the program initializes.

Any help will be appreciated.

Jean Viljoen
Development Engineer
Azoteq (Pty) Ltd

Tel: +27 21 863 0033
Fax: +27 21 863 1512




Hi jean,
As Per your text the board works fine with the
100Mhz Clock settings.
But when u set the processor clock to the 160Mhz. The
clock duration will be 6.25ns. So read and write
operation will be faster compared to 100Mhz. But when
u increase the clock frequency we need to look into
the following issues.
1. Access time of the Flash memory. Does it satsify
the timining requirement of the 160Mhz processor. Just
check out the data sheets of the memory and processor.
2. if the processor is doing job very fast compared to
the Memory. we can introduce the wait state. there is
register called software wait sate generator(SWWGR).
this can provide maximun of 14 wait cylcles. if u want
more that that there is one more register just by
seting LSB to 1 will provide wait state of 28.
3. Then Check Bootloader code. the bootloader code
contains the wait state generator word. geuss this et
to 14 cycles of wait state. if u r using u own
bootloader set it more wait state till the system
comes up. later u can change it.
4. Else u can run the cPu at low rate(50Mhz) till it
gets up. later u can switch to 160 Mhz using CLKMD
register
Hope this helps u..
regards
Amaresh Message: 2
Date: Fri, 8 Aug 2003 13:27:48 +0200
From: "Jean Viljoen" <>
Subject: C5402 (160Mhz) Interface to Flash Memory

Dear group

I have a custom C5402 board interfaced to a M29W010B
Flash module from
STMicro. The boards works fine with the 100MHz C5402.
It boots from
flash and I program the flash with my own routine.

I have built a few boards with the 160 MHz C5402. I
get comms through
the JTAG to CCS, but the processor will not boot from
flash memory.
The
program runs when I load it from CCS. The external
CLKMD pins are as
follow:
CLKMD1 : 1
CLKMD2 : 0
CLKMD3 : 1
and an external 20MHz crystal is connected between X1
and X2.

When I read the flash memory with my flash burn
application, I get only
garbage out. Even though I set the clock speed to
100MHz in software
when the program initializes.

Any help will be appreciated.

Jean Viljoen
Development Engineer
Azoteq (Pty) Ltd

Tel: +27 21 863 0033
Fax: +27 21 863 1512 __________________________________


Amaresh-

Hey very helpful answer. I hope that it helps Jean.

-Jeff Amaresh patil wrote:
>
> Hi jean,
> As Per your text the board works fine with the
> 100Mhz Clock settings.
> But when u set the processor clock to the 160Mhz. The
> clock duration will be 6.25ns. So read and write
> operation will be faster compared to 100Mhz. But when
> u increase the clock frequency we need to look into
> the following issues.
> 1. Access time of the Flash memory. Does it satsify
> the timining requirement of the 160Mhz processor. Just
> check out the data sheets of the memory and processor.
> 2. if the processor is doing job very fast compared to
> the Memory. we can introduce the wait state. there is
> register called software wait sate generator(SWWGR).
> this can provide maximun of 14 wait cylcles. if u want
> more that that there is one more register just by
> seting LSB to 1 will provide wait state of 28.
> 3. Then Check Bootloader code. the bootloader code
> contains the wait state generator word. geuss this et
> to 14 cycles of wait state. if u r using u own
> bootloader set it more wait state till the system
> comes up. later u can change it.
> 4. Else u can run the cPu at low rate(50Mhz) till it
> gets up. later u can switch to 160 Mhz using CLKMD
> register
> Hope this helps u..
> regards
> Amaresh
>
> Message: 2
> Date: Fri, 8 Aug 2003 13:27:48 +0200
> From: "Jean Viljoen" <>
> Subject: C5402 (160Mhz) Interface to Flash Memory
>
> Dear group
>
> I have a custom C5402 board interfaced to a M29W010B
> Flash module from
> STMicro. The boards works fine with the 100MHz C5402.
> It boots from
> flash and I program the flash with my own routine.
>
> I have built a few boards with the 160 MHz C5402. I
> get comms through
> the JTAG to CCS, but the processor will not boot from
> flash memory.
> The
> program runs when I load it from CCS. The external
> CLKMD pins are as
> follow:
> CLKMD1 : 1
> CLKMD2 : 0
> CLKMD3 : 1
> and an external 20MHz crystal is connected between X1
> and X2.
>
> When I read the flash memory with my flash burn
> application, I get only
> garbage out. Even though I set the clock speed to
> 100MHz in software
> when the program initializes.
>
> Any help will be appreciated.
>
> Jean Viljoen
> Development Engineer
> Azoteq (Pty) Ltd
>
> Tel: +27 21 863 0033
> Fax: +27 21 863 1512