Всем доброго дня.
Был проект под 9.1, там такой фокус проходил. В квартусе 13.1 делаю так:
1. Создаю свою секцию в памяти ончип .onch.rwdata (картинка)
2. В коде объявляю переменную:
volatile char pkt[1562] __attribute__ ((section (".onch.rwdata"))); //1562
Все вроде в 9.1 работало, тут говорит так:
d:/altera/13_1/nios2eds/bin/gnu/h-i686-mingw32/bin/../lib/gcc/nios2-elf/4.7.3/../../../../../H-i686-mingw32/nios2-elf/bin/ld.exe: section .text loaded at [0400019c,0400496b] overlaps section .onch.rwdata loaded at [0400019c,040007b7]
collect2.exe: error: ld returned 1 exit status
make: *** [ADV_ddr_test.elf] Error 1
В файле .map вижу такое:
Код
0x04000000 __alt_mem_altmemddr_0 = 0x4000000
0x08008000 __alt_mem_onchip_memory2_0 = 0x8008000
.
.
.
.onch.rwdata 0x080081bc 0x61c load address 0x0400019c
0x080081bc PROVIDE (_alt_partition_onch_rwdata_start, ABSOLUTE (.))
*(.onch.rwdata .onch.rwdata.*)
.onch.rwdata 0x080081bc 0x61a obj/default/memtest_small.o
0x080081bc pkt
0x080087d8 . = ALIGN (0x4)
Если в объявлении указать секцию .text - все нормально компилируется, если указать совершенно левую секцию, которой даже в BSP не указано (т.е. вообще нет) - ругается точно таким же образом. Как будто не видит эту секцию.
Что сделано не так?
Эскизы прикрепленных изображений