Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Вопрос по профилировщику
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
Fynjisx
Привет Всем. Решил воспользоваться профилировщиком. Создал двухсекционный counter в SOPC.
В Eclipce написал вот так:
Код
PERF_RESET(PERF_CNT_BASE);

PERF_START_MEASURING(PERF_CNT_BASE);

PERF_BEGIN(PERF_CNT_BASE, 1);

FunctionInterest(); //Здесь замеряю

PERF_END(PERF_CNT_BASE, 1);

PERF_STOP_MEASURING(PERF_CNT_BASE);

perf_print_formatted_report((void *)PERF_CNT_BASE,     // Peripheral's HW base address
                           alt_get_cpu_freq(),      // defined in "system.h"
                                      1,                                      // How many sections to print
                                     "1st checksum_test"  // Display-names of sections
    );

Но после компиляции, линкер выдал что секции налазят одна на другую и что требуется на 12К больше памяти.
Ну хорошо, увеличил размер памяти с 65КБ до 256Кб(благо кристалл позволяет). После компиляции опять то же самое. Что за? Bsp generate сделал. Вот что выкидывает линкер:
Код
Info: Linking prj.elf
nios2-elf-g++  -T'../prj_disp2_bsp/linker.x' -msys-crt0='../prj_bsp/obj/HAL/src/crt0.o' -msys-lib=hal_bsp -L../prj_bsp   -Wl,-Map=prj.map   -O0 -g -Wall   -mno-hw-div -mno-hw-mul -mno-hw-mulx  -o prj.elf obj/GPL.o obj/src1.o obj/src2.o obj/src3.o obj/hello_world.o obj/src4.o -lm
/cygdrive/g/altera/91/nios2eds/bin/nios2-gnutools/H-i686-pc-cygwin/bin/../lib/gcc/nios2-elf/3.4.6/../../../../nios2-elf/bin/ld: region onchip_memory2_0 is full (prj.elf section .rodata). Region needs to be 12425 bytes larger.
/cygdrive/g/altera/91/nios2eds/bin/nios2-gnutools/H-i686-pc-cygwin/bin/../lib/gcc/nios2-elf/3.4.6/../../../../nios2-elf/bin/ld: section .rwdata [00080020 -> 00081b9f] overlaps section .exceptions [00080020 -> 000801d3]
/cygdrive/g/altera/91/nios2eds/bin/nios2-gnutools/H-i686-pc-cygwin/bin/../lib/gcc/nios2-elf/3.4.6/../../../../nios2-elf/bin/ld: section .bss [00081ba0 -> 00081dff] overlaps section .text [000801d4 -> 0008f72b]
collect2: ld returned 1 exit status
make: *** [prj.elf] Error 1

Я понимаю что секции перекрыты, но память то увеличил, причем на много? Какие есть соображения?
Заранее спасибо
Orochi
а после того как поменяли размер памяти не забыли перекомпелировать проект quartus и обновить BSP?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.