This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

多核spi启动中hex6x命令rmd文件中ROM的含义



在多核spi启动的过程中,需要用hex6x工具,在hex6x工具的命令中可以使用rmd文件,文件内容如下,其中ROM1是指的哪一块内存,起始地址是哪个起始地址,是NOR FLASH,还是DDR,还是其他的?我应该怎么写。多谢。

simple.out
-a
-boot
-e _c_int00
-map SPIBOOT0.map
ROMS
{
    ROM1:  org = 0x0C000000, length = 0x100000, memwidth = 32, romwidth = 32
    files = { simple.btbl }
}

  • 简单理解就是不同的段的内容生成不同的文件,这个文件会用来做加载。你的ROM1一般包含btbl需要的段的地址范围即可

    更多信息可以参看手册SPRU186W  11.4节

    The ROMS directive specifies the physical memory configuration of your system as a list of address-range parameters.

    Each address range produces one set of files containing the hex conversion utility output data that
    corresponds to that address range. Each file can be used to program one single ROM device.
    The ROMS directive is similar to the MEMORY directive of the TMS320C6000 linker: both define the
    memory map of the target address space. Each line entry in the ROMS directive defines a specific
    address range. 

     You can also use the ROMS directive to restrict the conversion

    to a certain segment or segments of the target address space. The utility does not convert the data
    that falls outside of the ranges defined by the ROMS directive. Sections can span range boundaries;
    the utility splits them at the boundary into multiple ranges. If a section falls completely outside any of
    the ranges you define, the utility does not convert that section and issues no messages or warnings.
    Thus, you can exclude sections without listing them by name with the SECTIONS directive. However, if
    a section falls partially in a range and partially in unconfigured memory, the utility issues a warning and
    converts only the part within the range.