cancel
Showing results for 
Search instead for 
Did you mean: 

Problem with IAP-Programming driver using KEIL UVISION3 (AN 2078)

mge
Associate II
Posted on July 12, 2006 at 06:52

Problem with IAP-Programming driver using KEIL UVISION3 (AN 2078)

8 REPLIES 8
mge
Associate II
Posted on March 20, 2006 at 05:12

Hello,

I tried to test the new IAP-Programming example.

The compilation and the start of the program is ok. and the menu on the HYPER-Terminal appears.

After Pressing 1 the string for downloading the file appears in the HYPER-Terminal window.

But when I trie to download a file I nothing happens.

After about 30 seconds the message '' keine Antwort vom Remotecomputer ''appears on the HYPER-Terminal Window and I get an undefined Interrupt on the ARM-Controller.

I use the STR710FZ2

can you give some Information what could be wrong.

As attachment the keil-project-file

thanks

maenni

________________

Attachments :

iap_prog.Uv2 : https://st--c.eu10.content.force.com/sfc/dist/version/download/?oid=00Db0000000YtG6&ids=0680X000006HtOd&d=%2Fa%2F0X0000000aPP%2FgQbppGIaiyX3iBUqO7CVAXUwD7PI7phiu2qZIW8aNgk&asPdf=false
jsayavong
Associate II
Posted on May 29, 2006 at 23:16

I am using the same STR710 chip + KEIL UV3 as you, and

I have the same problem. Let me know if you come up

with something news. I am presently tryint to get KEIL

to help out.

JIMMY

mge
Associate II
Posted on May 30, 2006 at 07:06

Hello,

In the meantime my IAP-Driver works. I have changed the Compiler-options from Keil to RealView-compiler. You must create a new project, load the flash programm in RAM and use the scatter file.

Hope this will help you. For more information see application notes on Keil web-site.

Maenni

But my problem is the application running at 0x40002000 when using interrupts.

I asked Keil for a little demo, but I got no answer.

mgoersdorf9
Associate II
Posted on May 31, 2006 at 06:24

Hi,

I have similar Problems with running bootloader and application. My application starts at 0x40008000 and no Interrupt is working. I have contact Keil support and the tell me, that I have to do the vector remapping by hand.

So I insert in application:

int main(void)

{

// activate RAM-Mapping

PCU->BOOTCR |= 0x02;

// copie vector table and some startup code

memcpy((void*)0x00000000, (void *)0x40008000,????? );

...

}

The question is how much code I have to copie.

The vector table only (32Byte) doesn't work.

I have tried several numbers of bytes, it works with 192 (0xC0), but I don't know if that is the correct number.

Does anyone else know how many bytes I have to copie?

Thanks

Porthos

mge
Associate II
Posted on June 28, 2006 at 07:19

Hello,

Until this moment I have no answer to my problem. Has anyone solved the problem ? It would be kind if I could get some help

Best regards

Manfred

mgoersdorf9
Associate II
Posted on July 10, 2006 at 13:46

Hi Zouhair,

I have check the Example. The problem is that Keil use an own Startup file (STR71x.s) which I can't replace with your 71x_init.s and 71x_vect.s and that means I can't use your scatter file.

Now I have running interrupts, after I copy the vector table and some more bytes as I describe before. My problem is that I get no Information about the correct number of bytes to copy.

Regards

Porthos

mgoersdorf9
Associate II
Posted on July 11, 2006 at 06:24

Hi,

sorry I wasn't clear in my posting.

Keil do some modifikations at the ST-Lib to have easier use. We use the Keil ST-Lib with the Keil Startup file. If I want to use the original ST-Lib I have a lot of work to change my project. So I can't use your scatter file. But thats is not the problem I have.

I found out that I have to copy more than the vector table (32Byte) to get my Interrupts running. It seems that behind the Vector table, there are the Address pointers of the IRQ Moduls (perhabs up to 0x000000BF), but I'm not quit sure. Can you please verify the Memory window dump I attached.

Regards

Porthos

________________

Attachments :

Memory_Window_STR71x.jpg : https://st--c.eu10.content.force.com/sfc/dist/version/download/?oid=00Db0000000YtG6&ids=0680X000006I1O6&d=%2Fa%2F0X0000000bmK%2FOQiG1adDNTYD.uiFvzjcWCGohDKXQ_ADBChpU_foE28&asPdf=false
mgoersdorf9
Associate II
Posted on July 12, 2006 at 06:28

Hi Zouhair,

thanks for the information.

Let me recapitulate:

from vector_begin to vector_end are 48 Addresse * 4 Byte = 192 (0xC0).

So I have to copie the first 192 Byte from my application to RAM-mapped Address 0x00. Than I have the complete vector table running.

Regards

Porthos