Перейти к содержанию
    

Поделитесь опытом использования NIOSа

Хотелось бы узнать на сколько процессор устойчив в работе. Насколько глючен компилятор и дебуггер.

Еще конкретный вопрос: можно ли, и как одновременно размещать программу в EPCS и в on-chip memory.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Хотелось бы узнать на сколько процессор устойчив в работе. Насколько глючен компилятор и дебуггер.

Еще конкретный вопрос: можно ли, и как одновременно размещать программу в EPCS и в on-chip memory.

1) критерий устойчивости можно? :) читайте пункт 2)

2) глюки компилера и дебагера описаны здесь сайт альтеры

3) размещать одновременно и в epcs, и в on-chip можно.

 

А вообщем читайте доки на ниос, на среду отладки. Вы их читали?

 

p.s. отладчик лучше взять коделаб, есть на фтп. есть ещё форум по ниосу ниос форум

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1) критерий устойчивости можно?  читайте пункт 2)

 

1)сбоит ли? Вылетает сам по себе?

2)отрабатывает ли прерывания?

Например AVR работает абсолютно надёжно, не требуется даже ставить watch_таймер

 

2) глюки компилера и дебагера описаны здесь сайт альтеры

Большое спасибо!!!

 

3) размещать одновременно и в epcs, и в on-chip можно.

В System Library у Program memory(выбор программной памяти) можно поставить только один значёк соответствующий типу памяти. Дело в том к epcs время обращения за одной командой мах. 40/16 = 2,5 мГц, поэтому её хотелось бы использовать и размещать в её большом объёме большую часть программы, когда не критично время выполнения (инициализация, обработка прерываний), а критичные к времени участки программы выполнения размещать в on-chip.

 

 

А вообщем читайте доки на ниос, на среду отладки. Вы их читали?

 

 

Мне очень понравилась среда разработки, её навигатор, редактор, возможности по отладки, и вообще возможности системы на кристале. Однако я не знаю, о её реальном применении, да и не шибко пропагандируется как система на кристале.

 

p.s. отладчик лучше взять коделаб, есть на фтп.

 

Стыдно признаться но я не знаю, что такое коделаб,

 

есть ещё форум по ниосу

жаргон иногда не поймёшь на родном языке.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1)сбоит ли? Вылетает сам по себе?

2)отрабатывает ли прерывания?

Например AVR работает абсолютно надёжно, не требуется даже ставить watch_таймер

 

В System Library у Program memory(выбор программной памяти) можно поставить только один значёк соответствующий типу памяти. Дело в том к epcs время обращения за одной командой мах. 40/16 = 2,5 мГц, поэтому её хотелось бы использовать и размещать в её большом объёме большую часть программы, когда не критично время выполнения (инициализация, обработка прерываний), а критичные к времени участки программы выполнения размещать в on-chip.

 

 

Мне очень понравилась среда разработки, её навигатор, редактор, возможности по отладки, и вообще возможности системы на кристале. Однако я не знаю, о её реальном применении, да и не шибко пропагандируется как система на кристале.

 

Стыдно признаться но я не знаю, что такое коделаб,

 

жаргон иногда не поймёшь на родном языке.

 

1) про сбои уже писал Вам, что смотреть нужно пункт два...Читайте еррату

И куда может процессор "вылететь"? :biggrin:

2)Прерывания? Так Вы читали документацию или нет? :glare:

Авр работает "абсолютно надёжно" ? Да что Вы говорите! :biggrin:

И что это всё таки значит - "абсолютно надёжно"?

3) Софт может находится там где Вам захочется, ну если конечно Вам очень этого захочется :)

epcs обычно юзается только для boot-а, а то как Вы хотети..это имхо стрёмно и бесмысленно

 

Редактор и отладчик ...на самом деле просто Г... Они сделаны на платформе eclipse тоесть это java..сами подумате как это всё "летает" :blink: НО! для простых, не больших проектов годится.

 

Codelab - это очень хороший отладчик :) ..под ним отлаживать ecos удобно..не предствляю как ecos отлаживать в Nios-IDE :smile3046:

 

A форумы на английском полезны!.. как зарядка по утрам...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Авр работает "абсолютно надёжно" ? Да что Вы говорите!  
И что это всё таки значит - "абсолютно надёжно"?

 

5 лет работы в аппаратуре без единого зависания и сбоя по вине микроконтроллера.

Применял AT90C8515,Atmega8,88,162. Правда мы не использовал ECOS или RTOS.

 

epcs обычно юзается только для boot-а, а то как Вы хотети..это имхо стрёмно и бессмысленно

Смысл в том , чтобы использовать Циклоны. Ёмкость epcs достаточна велика, а быстродействия хватает для выполнения большей части программы. Если же всё размещать в chip то придётся использовать старшие Циклоны, которые имеют неконкурентоспособные цены. В принципе по железу вроде бы можно разбивать программу между chip и epcs. Конечно есть кривой путь, разбить hex файл и записать соответствующие части его.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

можно ли, и как одновременно размещать программу в EPCS и в on-chip memory.

При использовании "custom linker script" Вы можете определить нужное Вам

количество секций памяти с нужного адреса, нужной длины. Затем при помощи

директивы __attribute__ ((section (".SECTION_NAME"))) указать линкеру где

размещать тот или иной сегмент кода или данных.

 

Исполнять код из EPCS можно, но, как отмечалось выше, рациональность такого

решения вызывает сомнение. И надежность кстати тоже. Кроме того Вам, скорее

всего, придется писать свой контроллер EPCS. ИМХО лучше поставить SDRAM или

статику, если к-во выводов позволяет.

 

2)отрабатывает ли прерывания?

Прерывания отрабатывает. Но в связи с тем что разбор с истчниками и

приоритетами прерываний производится программно, имеет недопустимо большое

время отклика (146 тактов для NiosII/s). Для ускорения нужно ставить

аппаратный контроллер и переписывать хандлер.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Прерывания отрабатывает. Но в связи с тем что разбор с истчниками и
приоритетами прерываний производится программно, имеет недопустимо большое 
время отклика (146 тактов для NiosII/s). Для ускорения нужно ставить
аппаратный контроллер и переписывать хандлер.

 

146:50 =3мкс много, нодля лежащей системы терпимо.

 

При использовании "custom linker script" Вы можете определить нужное Вам 
количество секций памяти с нужного адреса, нужной длины. Затем при помощи 
директивы __attribute__ ((section (".SECTION_NAME"))) указать линкеру где 
размещать тот или иной сегмент кода или данных

 

Понятно ,спасибо.

 

Исполнять код из EPCS можно, но, как отмечалось выше, рациональность такого 
решения вызывает сомнение. И надежность кстати тоже. Кроме того Вам, скорее 
всего, придется писать свой контроллер EPCS. ИМХО лучше поставить SDRAM или 
статику, если к-во выводов позволяет.

 

2,5мГц мне хватает, но вы меня разочаровали. Дело в том что используется связка atmega88 +CicloneEP2C5. Хотелось выбросить атмегу, а тут надо ставить ещё память.

Контроллер EPCS, сам по себе написать конечно можно, но он используется при программировании и отладке, а это уже, получишь хороший геморрой. Хотя можно подумать

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Контроллер EPCS, сам по себе написать конечно можно, но он используется при программировании и отладке, а это уже, получишь хороший геморрой. Хотя можно подумать

Для вас уже все написали :).

http://www.fpga.nl EPCS Virtual Memory

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для вас уже все написали (IMG:style_emoticons/default/smile.gif).
http://www.fpga.nl EPCS Virtual Memory

 

Спасибо, очень хорошую штуку вы посоветовали. Скачал её, разбираюсь и попытаюсь воспользоваться.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Авр работает "абсолютно надёжно" ? Да что Вы говорите!  
И что это всё таки значит - "абсолютно надёжно"?

 

5 лет работы в аппаратуре без единого зависания и сбоя по вине микроконтроллера.

Применял AT90C8515,Atmega8,88,162. Правда мы не использовал ECOS или RTOS.

 

epcs обычно юзается только для boot-а, а то как Вы хотети..это имхо стрёмно и бессмысленно

Смысл в том , чтобы использовать Циклоны. Ёмкость epcs достаточна велика, а быстродействия хватает для выполнения большей части программы. Если же всё размещать в chip то придётся использовать старшие Циклоны, которые имеют неконкурентоспособные цены. В принципе по железу вроде бы можно разбивать программу между chip и epcs. Конечно есть кривой путь, разбить hex файл и записать соответствующие части его.

 

5 лет работы в аппаратуре без единого зависания и сбоя по вине микроконтроллера.

Тоесть зависал и сбоил всё таки, но виноват не микроконтроллер :)

А как Вы проверяли и поняли что микроконтроллер не виноват? :)

Правда мы не использовал ECOS или RTOS.

А причем тут ось? Они к надёжности микроконтроллер разве имеют отношение?

 

Ну, а про всё остальное Вам уже написали. Без sram или без sdram Вы выбрали не очень хорошее решение.

 

p.s. ничего личного, но очень хочется узнать про абсолютно надёжный и 5 лет работающий микроконтроллер. Чем он у Вас занимается? И как Вы узнали что он не виноват в сбоях и зависаниях?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Тоесть зависал и сбоил всё таки, но виноват не микроконтроллер (IMG:style_emoticons/default/smile.gif) 
А как Вы проверяли и поняли что микроконтроллер не виноват? (IMG:style_emoticons/default/smile.gif)

Находились конкретные ошибки в программе, и после устрания сбои исчезали.

 

А причем тут ось? Они к надёжности микроконтроллер разве имеют отношение?

 

Чем сложнее система, тем вероятнее ошибки и сбои.

 

 

Ну, а про всё остальное Вам уже написали. Без sram или без sdram Вы выбрали не очень хорошее решение.

 

 

Все претензии пока сводятся к 2 вещам:

1.Оченнь низкое быстродействие - но это дело вообще-то конкретной системы. Совершенно не важно, сколько время обрабатывается прерывание от клавиатуры, тоже можно сказать и о USART. А некоторые вещи надо делать быстрее .

 

2.

Исполнять код из EPCS можно, но, как отмечалось выше, рациональность такого 
решения вызывает сомнение. И надежность кстати тоже.

 

С циклонами работаю уже года 4, и нее припоминаю, чтобы были проблемы с загрузкой, а они загружаются по этому интерфейсу и из той же микросхемы EPCS.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Тоесть зависал и сбоил всё таки, но виноват не микроконтроллер (IMG:style_emoticons/default/smile.gif) 
А как Вы проверяли и поняли что микроконтроллер не виноват? (IMG:style_emoticons/default/smile.gif)

Находились конкретные ошибки в программе, и после устрания сбои исчезали.

 

А причем тут ось? Они к надёжности микроконтроллер разве имеют отношение?

 

Чем сложнее система, тем вероятнее ошибки и сбои.

 

 

Ну, а про всё остальное Вам уже написали. Без sram или без sdram Вы выбрали не очень хорошее решение.

 

 

Все претензии пока сводятся к 2 вещам:

1.Оченнь низкое быстродействие - но это дело вообще-то конкретной системы. Совершенно не важно, сколько время обрабатывается прерывание от клавиатуры, тоже можно сказать и о USART. А некоторые вещи надо делать быстрее .

 

2.

Исполнять код из EPCS можно, но, как отмечалось выше, рациональность такого 
решения вызывает сомнение. И надежность кстати тоже.

 

С циклонами работаю уже года 4, и нее припоминаю, чтобы были проблемы с загрузкой, а они загружаются по этому интерфейсу и из той же микросхемы EPCS.

Имхо налицо, не понимание - либо упорное и специальное, либо неспециальное :)

Но вообщем ясно.

p.s. Вопрос мой так и остался без ответа.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Извиняюсь, что долго молчал, были трудности с Интернетом.

 

p.s. Вопрос мой так и остался без ответа

 

Я так понял что это:

 

p.s. ничего личного, но очень хочется узнать про абсолютно надёжный и 5 лет работающий. Чем он у Вас занимается? И как Вы узнали что он не виноват в сбоях и зависаниях?

 

У нас микроконтроллеры применяются в двух случаях:

1.Упомянут, лишь для того чтобы уточнить

 

1)сбоит ли? Вылетает сам по себе?

 

Осуществляет передачу данных от компьютера, к различным устройствам. Самая объёмная обработка при этом развёртывание символа. С компьютером связывается через ком,порт, частота передачи 57 Кбод, объём передаваемых данных до 1 Кбайта, период не меньше 3 сек.

 

2.Управляет альтерой (в т.ч.Циклон), данные получает по тому же интерфейсу и с той же скоростью. Количество регистров до 256 . Большинство регистров загружаются при включении питания. Циклон передаёт данные до 500 Мбайт/сек.

 

Имхо налицо, не понимание - либо упорное и специальное, либо неспециальное

Я не знаю как Вы, но вообще то разработчики решают древни, как мир задачи в том числе «проще , дешевле».

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

думаю что исходить стоит из объема програмного кода,

8к кода можно положить в 4 банка памяти (если мне память не изменяет).

правда насколько удобно писать на асме под ниос я не в курсе.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

думаю что исходить стоит из объема програмного кода, 
8к кода можно положить в 4 банка памяти (если мне память не изменяет). 
правда насколько удобно писать на асме под ниос я не в курсе.

 

На асме совсем нет желания писать и в 8к кода едва ли влезешь. А что это необходимо?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...