2005-10-05 07:22 AM
2005-06-07 08:59 PM
Hello,
We have a STR710F-Eval Board and we want to use the EMI dialog with the SRAM. To do this, we use the Bank1. To write a byte in 0x62000000 adress, what do i have to do? I have force the /CS0 to 0, but nothing appear on this pin. Are the Rdn, Wen.0 and Wen.1 bits managed automaticly? Could you help me? Damien2005-06-07 09:30 PM
Hello Damien,
You can refer to the STR71x software library, an emi example performed on the MB393 demo board which help you to write a data in 0x62000000 adress with detailed descreption in the readme file. I hope that this can help you. Cheers, Hich ;)2005-06-07 09:50 PM
Hello
Thanks for your quick answers: I don't well understand the signification of the line in the scat.scf file: RAM_MODE 0x20000000 0x10000 { RAM 0x20000000 { 71x_vect.o (Vect, +First) 71x_init.o(Init) * (+RO) * (+RW) * (+ZI) } External_SRAM 0x62000000 { main.o (+RO) } } It copies the main object file in the external SRAM and execute from it? What does the lines in the RAM ''block'' signify? Damien2005-06-07 10:41 PM
Hi Dam,
This example demonstrate how to copy a part of the code fromRAM to SRAM and execute from it. For instance, all the entire image is loaded in RAM, then ''main.o'' will be copied in external SRAM and executed from it. The scatter file is used to copy and execute an object file from RAM to SRAM. RAM block lines sens: RAM 0x20000000 { 71x_vect.o (Vect, +First) ---> vector table at 0x0 71x_init.o(Init) ---> remap & reset code * (+RO) ---> all other RO areas * (+RW) ---> program variables * (+ZI) ---> program variables } Regards, Hich :o2005-06-07 10:51 PM
Hello
To give you an example of what i've done, i join you the code i wrote! (I use Winidea environment and IAR compilator) //Configure /CSx and A2x pins in Alternate Function IOPORT2_Config(0x00FF,GPIO_AF_PP); BCON1 |= 0x8015; BCON2 &= 0x7FFF; BCON3 &= 0x7FFF; BCON0 &= 0x7FFF; asm(''MOV R1,#0x62000000''); asm(''MOV R0,#0x55''); asm(''STR R0, [R1]''); asm(''LDR R0, [R1]''); Logically, this sould write 0x55 in 0x62000000 adress! But when LDR is executed, i don't get back the good data. Are there any errors??? Regards Damien2005-10-05 07:22 AM
Hi all,
I also want to write to the external memory. I followed your discussion and I have question about it. If I try to set the BCON0 register like: BCON0 = 0x803D I defined the register like: #define EMI_BASE 0x6C000000 #define EMI_BCON0 (*(REG32 EMI_BASE)) I am using the KEIL IDE+compiler. If I run a program with above code in it, the JTAG communiction to my eval board stops and both the program on my STR710 en PC are crashing. If I run this code the JTAG communication stop with the error: JTAG Communication Failure *** error 122: AGDI: memory read failed (0x60000000) JTAG Communication Failure JTAG Communication Failure JTAG Communication Failure Someone an idea about what is going wrong? If I use the memory view in my IDE on the adresses 0x60000000-0x600FFFFFF the programs on my STR710 and PC are also crashing. Bad JTAG device?