举个栗子,
#elif defined ( __GNUC__ )
uint16_t ADCxValues[3] __attribute__((section(".ADCArraySection")));
#endif
rtt-studio 用的是 GCC 编译器, 所以前面增加 GNUC
下面描述就是将 ADC 的数组指定到某个区域去,这个区域的指定,需要修改链接文件 lds。
/* Program Entry, set to mark it as "used" and avoid gc */
MEMORY
{
ROM (rx) : ORIGIN =0x08000000,LENGTH =2048k
RAM (rw) : ORIGIN =0x24000000,LENGTH =512k
ADCArraySection (rw) : ORIGIN =0x30020000,LENGTH =128k
}
这样还不够,在修改一下
.ADCArraySection (NOLOAD) : ALIGN(4)
{
. = ALIGN(4);
*(.ADCArraySection)
*(.ADCArraySection.*)
. = ALIGN(4);
__ADCArraySection_free__ = .;
} > ADCArraySection
这样就可以了,楼主赶紧去试试吧。
另外也可以参考一下 ART-Pi 以太网描述符的方法。
举个栗子,
#elif defined ( __GNUC__ )
uint16_t ADCxValues[3] __attribute__((section(".ADCArraySection")));
#endif
rtt-studio 用的是 GCC 编译器, 所以前面增加 GNUC
下面描述就是将 ADC 的数组指定到某个区域去,这个区域的指定,需要修改链接文件 lds。
/* Program Entry, set to mark it as "used" and avoid gc */
MEMORY
{
ROM (rx) : ORIGIN =0x08000000,LENGTH =2048k
RAM (rw) : ORIGIN =0x24000000,LENGTH =512k
ADCArraySection (rw) : ORIGIN =0x30020000,LENGTH =128k
}
这样还不够,在修改一下
.ADCArraySection (NOLOAD) : ALIGN(4)
{
. = ALIGN(4);
*(.ADCArraySection)
*(.ADCArraySection.*)
. = ALIGN(4);
__ADCArraySection_free__ = .;
} > ADCArraySection
这样就可以了,楼主赶紧去试试吧。
另外也可以参考一下 ART-Pi 以太网描述符的方法。
举报