cancel
Showing results for 
Search instead for 
Did you mean: 

STR750 Clock Frequency and Flash Burst Mode

jheilig9
Associate II
Posted on May 29, 2007 at 16:21

STR750 Clock Frequency and Flash Burst Mode

10 REPLIES 10
jheilig9
Associate II
Posted on May 02, 2007 at 12:48

The original post was too long to process during our migration. Please click on the provided URL to read the original post. https://st--c.eu10.content.force.com/sfc/dist/version/download/?oid=00Db0000000YtG6&ids=0680X000006I6WO&d=%2Fa%2F0X0000000bpo%2FCysiRIR_JUpRGo52fkgk1mDjCnVx5pjHDAQKoAGheag&asPdf=false
jheilig9
Associate II
Posted on May 04, 2007 at 13:07

Hello everybody,

can anybody confirm that the STR750 is able to run at 24 or 32 MHz *WITHOUT* Flash Burst Mode enabled?

Thanks!

jens

mohamed23
Associate II
Posted on May 06, 2007 at 12:39

Hello Hl,

By default (at reset) the STR75x series are configured with the Burst bit disabled unlike the STR71x ones. So If you have a system clock > 32MHz you have to enable this bit before selecting a HCLK clock > 32MHz of course. I hope this can help you ;)

Br

rave

jheilig9
Associate II
Posted on May 07, 2007 at 05:15

Hi Rave,

good point, I hadn't noticed that reset-behaviour is different from STR710.

But I still have the problem, that the processor will not work even with HCLCK *below* 32 MHz, (12, 16, 24 MHz) *unless* the burst bit enabled.

Is this expected behaviour? Should we blame the board (Keil Eval-board)? Is our startup.s faulty?

We have so far been unable to trace the problem down to anything else but ''the STR750 just doesn't work without the burst bit enabled'', but we'd be happy to be proved wrong...

Thanks!

jens

neuner
Associate II
Posted on May 07, 2007 at 08:14

Hi hl,

I just tried with my board (Keil MCBSTR750). It has a 4Mhz external oszillator.

I configure the PLL on C-Level, using the API from ST (not in the assembler code). So far I used FlashBurst mode, because I am running at 60Mhz.

For you I tried to disable flash-burst mode, and divided HCLK by two to get 30Mhz (at least I expect this HCLK is used for accessing the flash). I did no detailed testing (I have no time, sorry). But seems, that didn't work very well -- the instruction pointer is somewhere, but not pointing to my program code.

By dividing by 4, the code seems to be executed -- at least the instruction pointer points to my program code after stopping debugger. Maybe exactly 30Mhz causes already problems and not 32 Mhz ?

Here is my C-Code startup.

/* in debug mode, the ST library needs to be initialized */

/* by calling ''debug()'' function */

#ifdef DEBUG

debug();

#endif

/* MRCC system reset */

MRCC_DeInit();

/****************************************************************************/

/* setup of PLL, pheripheral clock frequency and flash burst mode */

/****************************************************************************/

/* Wait for OSC4M start-up */

t_error = MRCC_WaitForOSC4MStartUp();

if(t_error == SUCCESS)

{

/* Set HCLK to 60MHz */

// MRCC_HCLKConfig(MRCC_CKSYS_Div1);

MRCC_HCLKConfig(MRCC_CKSYS_Div2); ////// TEST (crash)

// MRCC_HCLKConfig(MRCC_CKSYS_Div4); ////// TEST (seems to work)

/* Set CKTIM to 60MHz */

MRCC_CKTIMConfig(MRCC_HCLK_Div2);

/* Set PCLK to 30MHz */

MRCC_PCLKConfig(MRCC_CKTIM_Div1);

/* Enable Flash Burst mode */

// CFG_FLASHBurstConfig(CFG_FLASHBurst_Enable); //////test

/* Set CK_SYS to 60 MHz */

MRCC_CKSYSConfig(MRCC_CKSYS_OSC4MPLL, MRCC_PLL_Mul_15);

}

Maybe you can comment out the PLL startup in assembler and perform some tests with the C-PLL startup routine.

Hope this helps.

Regards

Andreas

javida14
Associate II
Posted on May 07, 2007 at 13:06

I'm using the Hitex STR750 board. This board has an 8-Mhz crystal.

He is my clock start-up code

static void Init_SystemClk(void)

{

u16 wDelayCnt;

/* Set the system clock to 32 MHz, using external 8 MHz quartz crystal

** Select Quartz oscillator as PRCCU clock input.

*/

CMU_StructInit(&CMU_InitStructure);

CMU_InitStructure.CMU_CKSEL0 = CMU_CKSEL0_CKOSC;

CMU_Init(&CMU_InitStructure);

/* Set MCLK clock to 32 MHz */

PRCCU_InitStructure.PRCCU_DIV2 = ENABLE;

PRCCU_InitStructure.PRCCU_MCLKSRC_SRC = PRCCU_MCLKSRC_PLL;

PRCCU_InitStructure.PRCCU_PLLDIV = 2;

PRCCU_InitStructure.PRCCU_PLLMUL = PRCCU_PLLMUL_16;

PRCCU_Init(&PRCCU_InitStructure);

/* Spin until PPL stablizes */

for (wDelayCnt = 0; wDelayCnt < 0x1000; wDelayCnt++)

;

}

mohamed23
Associate II
Posted on May 07, 2007 at 16:53

Hello hl, Andi_99,

It seems that you have Keil boards with some earlier STR75x versions

or something similar, I suggest you to get contact with ST Online support

in Europe as you are from Germany to help you on this issues so that they

can help you. You can also Order some free STR75x samples from ST website and if you are able to rework your keil evaluation board in order to see if the pb could be reproduced systemically or not. :-?

BR

rave

jheilig9
Associate II
Posted on May 08, 2007 at 13:30

Hello Rave, Andi, javi,

thanks for your hints!

Andi, thanks a lot for confirming that you program also does not run. We were considering the possibility of having gone insane, since everybody else seemed to be able to work sucessfully with the chip :)

At 15 MHz our program also runs for some time (from several 100 ms to several seconds) before crasheing, at 30Mhz it crashes almost immediately.

javi, We have not yet tested the C-routines for setting the PLL, but will do so soon.

Rave, we have two boards and have changed the CPU on one of them. The chips we use at the moment have the marking:

STR750FV2T6

Z

22 024 VG

MLT 22 630

and

STR750FV2T6

Z

22 0Q9 VG

MLT 22 649

can this be the problem? We have ordered samples a few weeks ago for exchanging the chip, hoping this would solve the problem. Did we get old chips, or should these datecodes work?

jheilig9
Associate II
Posted on May 22, 2007 at 15:23

Hello everybody,

just a brief update: We still haven't solved the issue, but meanwhile an ST representative (Micro Support) has replied to our support request (dated April 25....) confirming that he can (at least in part) reproduce our problem and will get back to us soon.

I'll report back if anything groundbreaking should turn up (if it is anything other than us doing something wrong in a stupid way :)

thanks for the help!

jens