cancel
Showing results for 
Search instead for 
Did you mean: 

EMI Development using STR91xFA Firmware Library

noanialtd
Associate II
Posted on August 14, 2008 at 18:59

EMI Development using STR91xFA Firmware Library

7 REPLIES 7
noanialtd
Associate II
Posted on May 17, 2011 at 09:54

Hi,

I am using the STMicroelectronics STR91xFA Firmware Library I am running the EMI_Example2 and checking with the scope: CS0 (P5.4), EMI_WR

and DATA (P8.0).

I run the original program and I see all signals in the scope with no

problem.

Then I change the data that I write from the original program:

Code:

*(u16*)0x3C000000 = 0xAABB;

*(u16*)0x3C000002 = 0xCCDD;

*(u16*)0x3C000004 = 0xEEFF;

*(u16*)0x3C000006 = 0xCBCB;

to:

Code:

*(u16*)0x3C000000 = 0xFFFF;

*(u16*)0x3C000002 = 0xFFFF;

*(u16*)0x3C000004 = 0xFFFF;

*(u16*)0x3C000006 = 0xFFFF;

Suddently, I can not see CS0 on the scope anymore.:-Y

Then I put a delay inside the loop (while):

Code:

for (i = 0; i < 10; i++)

{

if (i == 0)

{

*(u16*)0x3C000000 = 0xFFFF;

*(u16*)0x3C000002 = 0xFFFF;

*(u16*)0x3C000004 = 0xFFFF;

*(u16*)0x3C000006 = 0xFFFF;

}

}

Again, I can see all the signals, including CS0.

What's going on!!!

Why if I change data on the original progrma EMI_Example2 desappear CS0?

Any help?

Thank you guys :o

matthew239955_stm1
Associate II
Posted on May 17, 2011 at 09:54

The firmware library fails to initialize all of the structure members. See this post for more info, make the change, and see if your behavior becomes more consistent.

http://www.st.com/mcu/forums-cat-7084-21.html

Matt

noanialtd
Associate II
Posted on May 17, 2011 at 09:54

Hi Matt,

Thanks. I did the suggested changes on the post that you sent me.

But we continue watching that strange behaviour.

CS0 desappear from the scope when changing the value of the data. If you use the original values we see CS0.

I also tried writing but same strange results:

Code:

*(volatile u16*)0x3C000000 = 0xFFFF;

*(volatile u16*)0x3C000002 = 0xFFFF;

*(volatile u16*)0x3C000004 = 0xFFFF;

*(volatile u16*)0x3C000006 = 0xFFFF;

Very strange

any other suggestion?

Noa :o

noanialtd
Associate II
Posted on May 17, 2011 at 09:54

Hi,

We can see that only changing the data the timing of the CS0, ALE and WR are different.

Why should it change if we only change the values writing to data?

Why the data affects to the timing of excution of that signals?

Is it the Firmware Rowley Library exactly the same than the ST Firmware Library?

Since makes it difficult to ask ST if it is not the same.

Noa

matthew239955_stm1
Associate II
Posted on May 17, 2011 at 09:54

I can't say that I'm familiar with the Rowley library. You could diff the two to check if they are the same. But in your original post you said you were using the ST firmware library. I would try the ST library or check your circuit board. Are you using a 25 MHz crystal? Are you using the example code exactly as is or have you made mods other than changing the data field?

noanialtd
Associate II
Posted on May 17, 2011 at 09:54

Hi Matt,

I asked Rowley and this is what they answer.

Quote:

Firmware library is identical. ST are well aware of our tools.

Rowley Associates Ltd

I am using the Keil MCBSTR9 Development Board with the STR912F. I attached some cables to EMI_ALE, EMI_CS0, EMI_WRHN and EMI_BWR_WRLN pins and I check on the scope. Quite simple.

The ST-Rowley Firmware is for STR912FA. I checked online the differences between STR912F and STR912FA and seems it should not be a problem.

Any other suggestion?

Noa

matthew239955_stm1
Associate II
Posted on May 17, 2011 at 09:54

My only guess would be that the PLL configuration seems to be a little different for the 912F vs the 912FA. I would check out AN2523 (upgrading from 912F to 912FA) and pay particular attention to the PLL/clock control sections. If that doesn't make any difference I am out of ideas.

Matt