S32K144的SRAML和SRAMU怎么指定存放数据的起始地址和大小
时间: 2023-07-16 15:16:42 浏览: 47
S32K144的SRAML和SRAMU的起始地址和大小可以通过修改 linker文件来指定。具体步骤如下:
1. 打开工程的链接脚本文件(一般是xxx.ld),该文件描述了程序的内存布局和链接规则。
2. 在文件中找到SRAML和SRAMU的定义,这些定义一般以MEMORY关键字开头,例如:
```
MEMORY
{
m_interrupts (RX) : ORIGIN = 0x00000000, LENGTH = 0x00000400
m_text (RX) : ORIGIN = 0x00000400, LENGTH = 0x0001FBFC
m_data (RW) : ORIGIN = 0x1FFF8000, LENGTH = 0x00008000
m_sraml (RW) : ORIGIN = 0x20000000, LENGTH = 0x00008000
m_sramu (RW) : ORIGIN = 0x20008000, LENGTH = 0x00008000
}
```
其中m_sraml和m_sramu分别表示SRAML和SRAMU的定义,ORIGIN表示起始地址,LENGTH表示大小。
3. 修改SRAML和SRAMU的起始地址和大小,例如:
```
MEMORY
{
m_interrupts (RX) : ORIGIN = 0x00000000, LENGTH = 0x00000400
m_text (RX) : ORIGIN = 0x00000400, LENGTH = 0x0001FBFC
m_data (RW) : ORIGIN = 0x1FFF8000, LENGTH = 0x00008000
m_sraml (RW) : ORIGIN = 0x20010000, LENGTH = 0x00004000
m_sramu (RW) : ORIGIN = 0x20014000, LENGTH = 0x00004000
}
```
这样就将SRAML的起始地址设为0x20010000,大小为0x4000,SRAMU的起始地址设为0x20014000,大小为0x4000。
4. 重新编译链接工程,生成新的可执行文件。