1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

[Resolved] [Mimas V2] How to program onboard SPI flash

Discussion in 'FPGA Boards' started by sacusa, Mar 17, 2018.

Thread Status:
Not open for further replies.
  1. sacusa

    sacusa New Member

    Joined:
    Mar 17, 2018
    Messages:
    4
    Likes Received:
    1
    Trophy Points:
    3
    Location:
    India
    How do I use the onboard flash memory to store my own data? I want the data to begin at a fixed address so that an onboard bootloader can copy that data into the RAM.
     
  2. rohith

    rohith Administrator Staff Member

    Joined:
    Mar 3, 2016
    Messages:
    66
    Likes Received:
    11
    Trophy Points:
    8
    Gender:
    Male
    Location:
    Bangalore
  3. sacusa

    sacusa New Member

    Joined:
    Mar 17, 2018
    Messages:
    4
    Likes Received:
    1
    Trophy Points:
    3
    Location:
    India
    How do I generate a .bmm file? It seems like it is only generated for MicroBlaze projects. I did find the documentation for data2mem which specifies the format for .bmm files, but the process seems tediously long. Isn't there any automated way?
     
  4. rohith

    rohith Administrator Staff Member

    Joined:
    Mar 3, 2016
    Messages:
    66
    Likes Received:
    11
    Trophy Points:
    8
    Gender:
    Male
    Location:
    Bangalore
    Hello @sacusa,

    .bmm is not needed for creating flash images. It is only required for merging .elf program files into the bitstream (.bit) files.

    For adding extra data to flash memory you need to use `promgen` command. For example, check the command below:

    Code:
     promgen -w -p bin -c FF -o download -s 16384 -u 0 SaturnV3Linux_rp.bit -data_file up 500000 saturn_linux.bin -spi 
    This command creates a single SPI Flash Image with bitstream located in the region starting from address 0x00, and the custom data (Linux Kernel in this case) is located in the flash image from the address 0x500000 onwards.

    -Rohit
     
  5. sacusa

    sacusa New Member

    Joined:
    Mar 17, 2018
    Messages:
    4
    Likes Received:
    1
    Trophy Points:
    3
    Location:
    India
    Oh okay! Is there a way I can use that .bmm method to initialize a block memory? So far, it seems like the whole data2mem method is incompatible with memory generated using CORE generator.
     
  6. rohith

    rohith Administrator Staff Member

    Joined:
    Mar 3, 2016
    Messages:
    66
    Likes Received:
    11
    Trophy Points:
    8
    Gender:
    Male
    Location:
    Bangalore
    Hi @sacusa,

    I would recommend searching the Xilinx Forums on this since we haven't encountered this usage scenario yet. There should be lots of resources available on the Xilinx Forums since this is a very common requirement during usage of BRAM.

    -Rohit
     
  7. sacusa

    sacusa New Member

    Joined:
    Mar 17, 2018
    Messages:
    4
    Likes Received:
    1
    Trophy Points:
    3
    Location:
    India
    Alright. Thank you very much @rohith.
     
    rohith likes this.
Thread Status:
Not open for further replies.

Share This Page