Mozart 0 3 октября, 2007 Опубликовано 3 октября, 2007 · Жалоба при создании проекта в nios2ide, я создаю пустой проект, какие файлы мне необходимы? кроме *.ptf... и где их взять... скажить где читать ничего найти не могу :07: и я понять не могу зачем "System ID Peripheral" из документации ясно то, что ничего не ясно The system ID peripheral safeguards against accidentally downloading software compiled for a different Nios II system. If the system includes the system ID peripheral, the Nios II IDE prevents you from downloading programs compiled for a different system. каков этой ID смысл, скажите пжлста??? p.s. если честно то я перестал что-либо понимать... ситуация такая вчера т.е. во вторник я по туториалу "tt_nios2_hardware_tutorial.pdf" всё сделал и мне квартус7 выдал 494 варнинга... сегодня при той же процедуре мне квартус выдал 544 варнинга... что за чудеса??? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Mozart 0 3 октября, 2007 Опубликовано 3 октября, 2007 (изменено) · Жалоба создал пустой проект... написал пару строчек #include <stdio.h> #include "system.h" int main(){ } как теперь обратиться, к примеру, к pio и где можно найти вот эту структуру typedef volatile struct { int np_piodata; // read/write, up to 32 bits int np_piodirection; // write/readable, up to 32 bits, // 1->output bit int np_piointerruptmask; // write/readable, up to 32 bits, // 1->enable interrupt int np_pioedgecapture; // read, up to 32 bits, // cleared by any write } np_pio; это из ds_nios_pio.pdf ... Изменено 3 октября, 2007 пользователем Mozart Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Voloshchenko 0 3 октября, 2007 Опубликовано 3 октября, 2007 · Жалоба Посмотрите на ug_nios2_ide_help.pdf из http://www.altera.com/literature/lit-ug.jsp Там, кажется, несколько более систематизировано, хотя тоже.. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Mozart 0 3 октября, 2007 Опубликовано 3 октября, 2007 · Жалоба там создаётся проект "Select the Count Binary project template in the Select Project Template list" это всё хорошо, а дальше что?... вот мне допустим эти мигающие лампочки уже... ладно допустим я что-то удалю... и допустим это будет работать, но вопрос как мне пользоваться периферией, которую я сам подцеплю...как мне её инициализировать и где? как мне к примеру обратиться к таймеру? вот тут int main(void) { int t = 0; // Set timer for 1 second na_timer1->np_timerperiodl = (short)(nasys_clock_freq & 0x0000ffff); na_timer1->np_timerperiodh = (short)((nasys_clock_freq >> 16) & 0x0000ffff); // Set timer running, looping, no interrupts na_timer1->np_timercontrol = np_timercontrol_start_mask + np_timercontrol_cont_mask; // Poll timer forever, print once per second while(1) { if(na_timer1->np_timerstatus & np_timerstatus_to_mask) { printf("A second passed! (%d)\n",t++); // Clear the to (timeout) bit na_timer1->np_timerstatus = 0; // (any value) } } } всё просто... но это если я просто вставлю в проект не работает... значит нужно где-то объявить структуру, или знать как она называется... в каком месте на неё можно посмотреть??? структура выглядит так typedef volatile struct { int np_timerstatus; // read only, 2 bits (any write to clear TO) int np_timercontrol; // write/readable, 4 bits int np_timerperiodl; // write/readable, 16 bits int np_timerperiodh; // write/readable, 16 bits int np_timersnapl; // read only, 16 bits int np_timersnaph; // read only, 16 bits } np_timer; из файла ds_nios_timer.pdf... p.s. существует ли в природе вообще понятный мануал, о том как писать проекты с нуля к примеру? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RHnd 0 3 октября, 2007 Опубликовано 3 октября, 2007 · Жалоба А где вы вообще берете все эти ds_nios_*.pdf? Я в свое время прочитал главу про встроенную переферию и с тех пор пользуюсь описанными там макросами и функциями. Например, для pio: #include altera_avalon_pio.h - могу и ошибиться в точных названиях void main() { IOWR_ALTERA_AVALON_PIO_DATA(LED_BASE,0xAA) - на leds выводится число 0xAA. } Расскажите, где лежат все эти структуры? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Mozart 0 3 октября, 2007 Опубликовано 3 октября, 2007 · Жалоба "excalibur.h" где взять этот файл?? поиски никаких результатов не дали люди кто как пишет софт для НИОСА??? я читаю и уже вообще ничего не понимаю... мозг кипит... что читать?? что не читать?? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
id_gene 0 3 октября, 2007 Опубликовано 3 октября, 2007 · Жалоба всё просто... но это если я просто вставлю в проект не работает... значит нужно где-то объявить структуру, или знать как она называется... в каком месте на неё можно посмотреть??? Всякие штуки для работы с периферией лежат в библиотеках, и доступны из проекта my_project_syslib/Device Drivers [sopc Builder]/altera_avalon_timer/sdk/timer_struct.h И когда вы таймер встраиваете в билдере, драйверы должны цепляться или руками через include пропишите. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Mozart 0 3 октября, 2007 Опубликовано 3 октября, 2007 (изменено) · Жалоба А где вы вообще берете все эти ds_nios_*.pdf? Я в свое время прочитал главу про встроенную переферию и с тех пор пользуюсь описанными там макросами и функциями. Например, для pio: #include altera_avalon_pio.h - могу и ошибиться в точных названиях void main() { IOWR_ALTERA_AVALON_PIO_DATA(LED_BASE,0xAA) - на leds выводится число 0xAA. } Расскажите, где лежат все эти структуры? http://www.altera.com/literature/ds/ds_nios_timer.pdf вот ссылочка... всё... частично разобрался... приятно... Изменено 3 октября, 2007 пользователем Mozart Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Mozart 0 4 октября, 2007 Опубликовано 4 октября, 2007 (изменено) · Жалоба вот такой ещё вопросец void MyPIO_ISR(int context); // Main program int main(void) { np_pio *pio = na_button_pio; . . . pio->np_pioedgecapture = 0; // clear any existing IRQ condition pio->np_piodirection = 0; // all input pio->np_piointerruptmask = 0xff; // they all generate irq's! na_button_pio - это как я понимаю название pio... если я так запишу но присвою своё название pio, которое я указал при создании проца, указателю *pio, то он выдаст ошибку, а вот если я присвою начальный адрес pio, то всё будет ок... в чём косяк, где я не прав? з.ы. к сожалению железки пока нету, проверить не на чем :crying: ещё можно вот так записать volatile np_pio *pio_l = "/dev/pio"; вроде работает, и симулируется... Изменено 4 октября, 2007 пользователем Mozart Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Voloshchenko 0 4 октября, 2007 Опубликовано 4 октября, 2007 · Жалоба Всякие штуки для работы с периферией лежат в библиотеках, и доступны из проекта my_project_syslib/Device Drivers [sopc Builder]/altera_avalon_timer/sdk/timer_struct.h И когда вы таймер встраиваете в билдере, драйверы должны цепляться или руками через include пропишите. Где можно найти информацию (источники) об освоении и применении в своих проектах всех этих системных библиотек? Похоже, что без них не обойтись, иначе ситуация похожа на хождение (или езду на велосипеде) по очень большой темной комнате без GPS. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Mozart 0 4 октября, 2007 Опубликовано 4 октября, 2007 · Жалоба у меня системная фихня лежит в "c:\altera\71\quartus\sopc_builder\components\altera_avalon_...\sdk\..._struct.h" что надо сделать чтобы не прописывать такой путь, я пока ещё не знаю :smile3046: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DimMil 0 5 октября, 2007 Опубликовано 5 октября, 2007 · Жалоба я тоже с полгода назад мучался с NIOS. Надо было большую скорость выжать. пользовался исключетельно макросами IOWR_ALTERA_AVALON_PIO_DATA и объявлял переменные в регистрах. с очень большими усилиями уложился в 10 микросекунд пограммного цикла. а у вас насколько быстрые программы получаются? насколько быстро прерывания исполняются? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
id_gene 0 5 октября, 2007 Опубликовано 5 октября, 2007 · Жалоба Где можно найти информацию (источники) об освоении и применении в своих проектах всех этих системных библиотек? Не знаю. В описании компонента периферии может быть что-то есть. Можно просто поковырять исходники. Можно примеры посмотреть. Я, честно говоря, очень мало пользовался периферией. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Voloshchenko 0 5 октября, 2007 Опубликовано 5 октября, 2007 · Жалоба Не знаю. В описании компонента периферии может быть что-то есть. Можно просто поковырять исходники. Можно примеры посмотреть. Я, честно говоря, очень мало пользовался периферией. Ситуация - out, такого со мной еще не было... Выполнил симуляцию Nios II на hello_wolrd_small, потратив несколько дней жизни (старт-кита пока еще нет). Теперь хочу поработать с timer в режиме симуляции в Instruction Set Simulator с выводом на Console, чтобы сделать что-то самому и разобраться... Документации скачал горы, но не могу найти, где описано, как правильно связывать между собой SoPC и С/С++ в прямом и обратном направлении, хотя бы с тем же таймером. Нужно пару маленький примеров, с небольшими разъяснениями, но где их найти в этой массе PDF… Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
id_gene 0 5 октября, 2007 Опубликовано 5 октября, 2007 · Жалоба Ну если вы еще этого не сделали, то нужно скачать комплект доков с сайта альтеры разом (первая ссылка) или по отдельности. В комплекте в разделе ug есть "getting started", а в hb/nios2 есть handbooks. Какие-то примеры периферии есть в третьем хандбуке. Связь простая - вы создаете систему в СОПС-билдере, получаете ptf файл. Потом в НИОС ИДЕ создаете проект nios c++ application в той же папке, он (ИДЕ) цепляет PTF, видит там периферию и ее адреса. В обратном направлении не работает. Или я не понял, что вы хотели. С ISS я не работал. Вы же сами писали, что PIO не поддерживается ISS-ом. Думаете, таймер поддерживается? Или вообще какая-либо периферия? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться