реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Вопрос по профилировщику, нехватка памяти
Fynjisx
сообщение Mar 7 2012, 14:59
Сообщение #1


студент
****

Группа: Свой
Сообщений: 571
Регистрация: 3-07-08
Из: Russia
Пользователь №: 38 712



Привет Всем. Решил воспользоваться профилировщиком. Создал двухсекционный 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

Я понимаю что секции перекрыты, но память то увеличил, причем на много? Какие есть соображения?
Заранее спасибо


--------------------
С Уважением...
Go to the top of the page
 
+Quote Post
Orochi
сообщение Mar 9 2012, 13:02
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 46
Регистрация: 6-07-11
Из: Кострома
Пользователь №: 66 096



а после того как поменяли размер памяти не забыли перекомпелировать проект quartus и обновить BSP?
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th June 2025 - 12:28
Рейтинг@Mail.ru


Страница сгенерированна за 0.01347 секунд с 7
ELECTRONIX ©2004-2016