This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Declaring memory space in external memory

Hi,

I'm using the STM32F103ZD microcontroller. This uC is residing on some control board and is physically connected by it's address bus and data bus to an external 1M*16 SRAM memory chip.

I would like to declare a static buffer (which is larger than the onboard uC ram memory) in this external memory. Lets assume the external memory access starts at address 0x8000 0000.

My questions is: is it possible to declare such a static 'external' buffer in the source code, and if so, how should I declare this buffer?

Thanks in advance,

Henk

Parents
  • Per refers to SDRAM, but this also means setting up the external bus (FSMC) to which you SRAM is attached, part of the typical startup.s code with CMSIS is to call SystemInit() prior to __main(). You can do the bus setup in the SystemInit code.

    If you are going to floor-plan the memory manually you could use
    unsigned char *extbuf = (unsigned char *)0x80000000;

    Though I'd think it more likely to be 0x60000000, or 0x64000000

Reply
  • Per refers to SDRAM, but this also means setting up the external bus (FSMC) to which you SRAM is attached, part of the typical startup.s code with CMSIS is to call SystemInit() prior to __main(). You can do the bus setup in the SystemInit code.

    If you are going to floor-plan the memory manually you could use
    unsigned char *extbuf = (unsigned char *)0x80000000;

    Though I'd think it more likely to be 0x60000000, or 0x64000000

Children
No data