以下片段摘自SDK 中的
MIMX8QM6xxxFF_cm4_core0_ddr_ram.ld模板链接器脚本:
__TDATA_ROM = __DATA_ROM + SIZEOF(.data); /* Symbol is used by startup for TCM data ini
tialization */
.quickaccess : AT(__TDATA_ROM)
{
__quickaccess_start__ = .;
. = ALIGN(32);
*(CodeQuickAccess)
. += SAFE_BOUNDARY_LEN;
*(DataQuickAccess)
. = ALIGN(128);
__quickaccess_end__ = .;
} > m_tcml几个问题:
- 为什么 CodeQuickAccess 32 字节和 DataQuickAccess 128 字节对齐?为什么我们不能接受 4 字节对齐?
- 是否可以将.quickaccess部分分成两部分,这样我们就可以完全将m_tcml用于 CodeQuickAccess,将m_tcmu用于 DataQuickAccess?
这是内存规格概述:
MEMORY
{
m_interrupts (RX) : ORIGIN = 0x88800000, LENGTH = 0x00000A00
m_text (RX) : ORIGIN = 0x88800A00, LENGTH = 0x003FF600
m_data (RW) : ORIGIN = 0x88C00000, LENGTH = 0x00400000
m_data2 (RW) : ORIGIN = 0x89000000, LENGTH = 0x07000000
m_tcml (RW) : ORIGIN = 0x1FFE0020, LENGTH = 0x0001FFE0
m_tcmu (RW) : ORIGIN = 0x20000000, LENGTH = 0x00020000
}
谢谢!