cancel
Showing results for 
Search instead for 
Did you mean: 

Help! UART Interrupt

bitterguo
Associate II
Posted on September 18, 2006 at 16:26

Help! UART Interrupt

6 REPLIES 6
bitterguo
Associate II
Posted on July 27, 2006 at 13:47

I am learning STR710 with IAR+wiggler.

I use the demo form STR71x_IAR_Library.

My question is.

I complied the uart_poll demo in RAM mode,and it work ok.which can Tx and Rx.

But when I complied the uart_int demo in RAM mode,and it doesn't work!

Maybe interrupt not triggered.

It's need to change the 71x_vect.s or 71x_it.c

Sorry for my English.

bitterguo
Associate II
Posted on July 28, 2006 at 00:20

I have build this with flash mode.and worked ok.

so I think this maybe remapping problem.

I have uncomment the list lines in file 71x_init.s

; define remapping

; If you need to remap memory before entring the main program

; uncomment next ligne

#define remapping

; Then define which memory to remap to address 0x00000000

; Uncomment next line if you want to remap RAM

#define remap_ram

; Uncomment next line if you want to remap FLASH

; #define remap_flash

Could u tell me why and How to correct it

Thanks!

bitterguo
Associate II
Posted on July 31, 2006 at 22:57

That's my faults!

gzerpa
Associate II
Posted on September 14, 2006 at 19:12

Hi,

I am from Venezuela so forgive my bad writing.

I have a similar problem when trying to simulate the IRQ interrupts. When debbugging and trigger an IRQ, it jumps to address 0x18 but it didn't link to the 71x_vect.s so it nevers Handle the interrupt.

Could you please help me with these???

Another thing, when you uncomment those lines... does the example Run correctly???

Thank you for any help

gzerpa
Associate II
Posted on September 15, 2006 at 16:58

Hi RISC,

I am using the IAR EWARM tool but the Kickstart Version 4. I will send you the ''map file'' and the ''Starup files'' (that are the default files that came with the IAR tool).

When you write me that I have to be sure that the vectors are mapped at address 0x000000, I analize it and I think that you are completely Right because when jumping to addres 0x18 (IRQ), the program only increments the PC counter in an endless way.

The big problem is that when starting up the project... the compiler only gets in the ''71x_init.s'' and never in the ''71x_vect.s''. So I think that teh vectors are not initialized as you told me.

Hope you could help me.

Thanks.

________________

Attachments :

71x_init.s : https://st--c.eu10.content.force.com/sfc/dist/version/download/?oid=00Db0000000YtG6&ids=0680X000006HtFb&d=%2Fa%2F0X0000000aKk%2FK31RUAOXFtj_g07efZKOgABu3gYrZYXlVI_7GQZfw.8&asPdf=false

71x_map.h : https://st--c.eu10.content.force.com/sfc/dist/version/download/?oid=00Db0000000YtG6&ids=0680X000006HtFq&d=%2Fa%2F0X0000000aKl%2FVoxRLNnr3rBU099kus6cAGNWkh2O6t91BLQ8J5zRCOQ&asPdf=false

71x_vect.s : https://st--c.eu10.content.force.com/sfc/dist/version/download/?oid=00Db0000000YtG6&ids=0680X000006HtG0&d=%2Fa%2F0X0000000aKm%2F9jtQw3wrpr2q3sbyQfFtw9pAtgxElNwnjfepzYwSQE8&asPdf=false
gzerpa
Associate II
Posted on September 18, 2006 at 16:26

Hi Again RISC,

You were rigth about the interrupt vectors. The weren't mapped at address 0x000000. I look the STR71x library that you have in your site and I try to examine it and find the differences between the the ST original files (71x_vect.s and 71x_init.s) and the same files but those who came with the IAR tool.

I find that on the IAR 71x_vect; they have a ?RESET module at the beggining... If I remove it(about 4 or 5 lines), the vectors magically appears and when I run the example, it apparently jump to the IRQ Handler. BUT, the problem is not solved yet.

The program begging to jump to the EIC routines but, it never jump to the 71x_it file (where the IRQ Handlers code really are); instead, th PC start to increase until it reaches the END of the ROM and it restart again.

What should I do now?

I really need some HELP.