Nios®IIIDE中的链接器不会自动将子例程放入未指定为.text的内存中。
为了将子例程包含在除.text(在本例中为.rwdata)之外的特定内存部分中,请执行以下操作:
- 为此特定例程定义自定义部分,例如:void my_subroutine(void)__ attribute _((section(“。usersection”)));
- 打开位于<sw_proj> _syslib / Debug / system_description文件夹中的generated.x文件,然后查找__ram_rwdata_end
- 将以下行添加到generated.x文件中:
.usersection:AT(LOADADDR(.rwdata)+ SIZEOF(.rwdata))
{
PROVIDE(_alt_partition_usersection_start = ABSOLUTE(。));
*(。usersection .usersection。*)
。 = ALIGN(4);
PROVIDE(_alt_partition_usersection_end = ABSOLUTE(。));}> onchip_ram
PROVIDE(__flash_alt_partition_usersection_start = LOADADDR(.usersection));
- 修改alt_load.c以执行自定义节复制操作。见下文供参考:
extern void __flash_alt_partition_usersection_start;
extern void _alt_partition_usersection_end;
extern void _alt_partition_usersection_start;/ *
*复制.usersection部分。
* /
alt_load_section(&__ flash_alt_partition_usersection_start,
&_alt_partition_usersection_start,
&_alt_partition_usersection_end);
没有回复内容