Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
7 years ago

How to include custom onchip memory block into the Linker section mappings ?

Hello, I have a custom onchip memory (block memory) with a avalon slave interface. I want this to show up in the linker section mappings of eclipse SDK. So, that i will use this to load rodata,heap, stack (use it as code memory). I observed that on-chip memory has got attribute named "memory " and jtag-uart has got "printable" attribute. what additional things to do to my custom logic so that it can be seen in linker mapping section.

4 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    In the BSP editor, add it as a new section to the Nios memory map.

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    I tried it , but it says error something like- memory block withe the name "my custom logic" not found in sopc design. I explored the .IP file of onchip that taken from IP catalog and compared with .IP file of my custom logic. I can see there are certain .xml like lines in the ip file

    Like IsMemoryDevice =1 in alteration ocm and it is zero in my case. I am thinking in this direction.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    You need to edit your IP's *_hw.tcl file with a text editor. Find the section describing the Avalon Slave interface for your memory component, that should be like this:

    # 
    #  connection point iname
    #  
    add_interface iname avalon end
    
    (where iname is the name of your avalon interface)

    And add a parameter in the list:

    set_interface_property iname isMemoryDevice true
    replacing iname with the name of your interface.

    Then regenerate the QSys project and recompile.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    --- Quote Start ---

    You need to edit your IP's *_hw.tcl file with a text editor. Find the section describing the Avalon Slave interface for your memory component, that should be like this:

    # 
    #  connection point iname
    #  
    add_interface iname avalon end
    
    (where iname is the name of your avalon interface)

    And add a parameter in the list:

    set_interface_property iname isMemoryDevice true
    replacing iname with the name of your interface.

    Then regenerate the QSys project and recompile.

    --- Quote End ---

    Hehe !!! Worked

    This is exactly what I want

    I can now select my peripheral in linker script pulldown menu. Trivial thing is ,In settings.html file attribute name is empty.

    Thank you