Hello, I am writing the firmware for a custom board which uses the Samsung S3C4510B MCU. It board has 512KB of ROM and SRAM. I would like to remap the memory into the following locations ROM at Bank0: 0x00000000 - 0x00080000 RAM at Bank1: 0x00100000 - 0x00180000 In my assembly program, I initialised the control register with the following instructions: ;Initialise SYSCFG register LDR r0, =SYSCFG LDR r1, =0x07FFFFA0 STR r1, [r0] ;Initialise EXTDBWTH register LDR r0, =EXTDBWTH LDR r1, =0x06 STR r1, [r0] ;Initialise ROMCON0 register LDR r0, =ROMCON0 LDR r1, =0x00800060 STR r1, [r0] ;Initialise ROMCON1 register LDR r0, =ROMCON0 LDR r1, =0x01804060 STR r1, [r0] ;Initialise REFEXTCON register LDR r0, =REFEXTCON LDR r1, =0x9C218360 STR r1, [r0] I have used the same values to initialise the registers using AxD and JEENI and it worked. I can access the RAM locations. However when I run the above codes in the assembly program which I downloaded into the ROM, it does not work. Its not the problem with the rest of my codes as when I don't initialise the registers (ie. using the default mem map), the program runs fine. Is there anything I missed out? Btw, what are the instructions for implementing copying of codes from the ROM to SRAM after remapping? Thanks in advance! Rgds, Leslie
Samsung S3C4510B Memory Remapping
Started by ●January 27, 2005
Reply by ●January 27, 20052005-01-27
On 2005-01-27, mantaray <egeus@rocketmail.com> wrote:> I am writing the firmware for a custom board which uses the Samsung > S3C4510B MCU. It board has 512KB of ROM and SRAM.There is one group of registers in the memory controller that must be written to as a group using a multiple-register-write command. I don't remember which registers it is, but I tripped over that rule when trying to set up the memory map in a '4510.> Btw, what are the instructions for implementing copying of > codes from the ROM to SRAM after remapping?memcpy() -- Grant Edwards grante Yow! Who wants some at OYSTERS with SEN-SEN an' visi.com COOL WHIP?
Reply by ●January 27, 20052005-01-27
>Btw, what are the instructions for implementing copying of codes from >the ROM to SRAM after remapping?Actually the C startup code should do this for you. -- 42Bastian Do not email to bastian42@yahoo.com, it's a spam-only account :-) Use <same-name>@monlynx.de instead !
Reply by ●February 15, 20052005-02-15
Thought I should post a follow-up, in case others might come across the same problem.. I managed to set the registers with the multiple store instruction.. ADRL r0, SystemInitDataSDRAM LDMIA r0, {r1-r12} LDR r0, =0x3FF0000 + 0x3010 STMIA r0, {r1-r12} Grant Edwards wrote:> On 2005-01-27, mantaray <egeus@rocketmail.com> wrote: > > > I am writing the firmware for a custom board which uses the Samsung > > S3C4510B MCU. It board has 512KB of ROM and SRAM. > > There is one group of registers in the memory controller that > must be written to as a group using a multiple-register-write > command. I don't remember which registers it is, but I tripped > over that rule when trying to set up the memory map in a '4510. > > > Btw, what are the instructions for implementing copying of > > codes from the ROM to SRAM after remapping? > > memcpy() > > -- > Grant Edwards grante Yow! Who wantssome> at OYSTERS withSEN-SEN an'> visi.com COOL WHIP?