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

 
 
> Nios II IDE, беспатный... breakpoint??
diwil
сообщение Nov 3 2009, 14:02
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 366
Регистрация: 5-09-06
Из: Санкт-Петербург
Пользователь №: 20 107



Уважаемые, подскажите пожалуйста,

У меня есть установленный ква 9 и все что с ним бесплатное с сайта альтеры.

Я генерю процессор в котором:
on-chip memory 16k
nios II/s cpu
pio_0 - input 32pin
pio_1 - input, sync IRQ, 1pin
poi_2 - output, 8 pin

Далее, запускаю ниос ИДЕ, описываю пустой проект и один файл в нем - main.c
Этот файл содержит следующий код:

#include <stdlib.h>
volatile long long a,b,c;

int main()
{
a = 100;
b = 0xfff;
c = a*b >> 31;
return 0;
}

в каждой строчке ставлю по бряку и запускаю в симуляторе инструкций.

Зараза, не останавливается...

За сим вопросы:
1. Что я делаю не так здесь?
2. Можно ли в симуляторе посчитать количество тактов на выполнение куска кода? как?

Далее - мне нужно всего лишь вот что от проца:
1. По нарастающему фронту на pio_1 прочитать что на pio_0.
2. Обработать это и данные и выдать на pio_3.

И еще - я вижу, что после компиляции моей проги, инициализация занимает около 8К кода. нельзя ли эту цифру сильно уменьшить путем исключения избыточной инициализации?
Ведь нужно только обнулить .bss и проинициализировать .data
Если да, то как?

Заранее благодарен.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Stewart Little
сообщение Nov 3 2009, 14:24
Сообщение #2


Лентяй
******

Группа: Свой
Сообщений: 2 203
Регистрация: 11-10-04
Из: Санкт-Петербург
Пользователь №: 843



Цитата(diwil @ Nov 3 2009, 17:02) *
Далее - мне нужно всего лишь вот что от проца:
1. По нарастающему фронту на pio_1 прочитать что на pio_0.

Мне кажется, что решать эту задачу через два PIO не совсем корректно. Вход в обработчик прерывания PIO может занимать до 105 тактов (это в лучшем случае), Вы уверены, что за это время данные не изменятся?
Я бы сделал свой собственный модуль, который защелкивает данные по фронту, и генерит запрос прерывания. А в обработчике процессор считывает уже защелкнутые данные.

Цитата(diwil @ Nov 3 2009, 17:02) *
И еще - я вижу, что после компиляции моей проги, инициализация занимает около 8К кода. нельзя ли эту цифру сильно уменьшить путем исключения избыточной инициализации?
Ведь нужно только обнулить .bss и проинициализировать .data
Если да, то как?

Ну механизмов много. Например, задание альтернативной точки входа alt_main. Смотрите раздел "Reducing code footprint" в Nios II Software Developer's Handbook


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
Leka
сообщение Nov 3 2009, 23:47
Сообщение #3


Профессионал
*****

Группа: Участник
Сообщений: 1 075
Регистрация: 30-09-05
Пользователь №: 9 118



Цитата(Stewart Little @ Nov 3 2009, 18:24) *
Вход в обработчик прерывания PIO может занимать до 105 тактов (это в лучшем случае)

И на что тратятся эти такты(с Ниосом дела не имел)?
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 10:35
Рейтинг@Mail.ru


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