Интеграция IDE Code::Blocks с программным комплексом Altera Quartus II. Часть II.

4. Приближение третье. Ставим на поток.
Теперь у нас есть, простите за тавтологию, файл проекта среды C::B для нашего проекта. В принципе, из него мы можем довольно просто делать файлы для всех последующих проектов, но это требует некоторых лишних телодвижений — копировать, редактировать, переименовывать… А ещё ведь проект для квартуса новый создавать надо… В общем, лениво как-то этим заниматься, перевалим и это на плечи IDE.
Когда мы в C::B создаём новый проект через соответствующее меню, появляется диалог, предлагающий выбрать какого типа проект мы хотим создать. Далее появляется визард, который запрашивает параметры создаваемого проекта и создаёт новые файлы. Вот такой визард мы и свояем.


Читать дальше

Интеграция IDE Code::Blocks с программным комплексом Altera Quartus II. Часть I.

Наша недавняя дискуссия с vga на тему сред разработки [1] оказалась не такой уж бесполезной, как я думал сначала — она придала мне направляющий пинок в сторону повышения удобства разработки устройств на базе ПЛИС. Вообще-то я и раньше задумывался над тем, что это надо бы сделать, но никаких реальных шагов по выяснению, как именно это сделать я не предпринимал, а после той беседы я нашёл немного времени на то, что бы поковыряться в потрохах квартуса и сделать себе более менее удобное окружение. Собственно, об этом я и хочу поведать. Товарищ vga, правда, просил ещё написать о прикручивании иара и использовании AVR-симулятора/дебаггера, но я этим всем добром не пользуюсь, по-этому интереса к сему делу не имею (про второе, кстати, статьи где-то были, можно раскопать).
Logo
Внимание! В статье беспорядочно перемешаны кишки двух весьма мощных и замороченных систем. Слабонервным просьба под кат не ходить!


Читать дальше

Крышеснос с avr-gcc

Что-то у меня вообще тупняк — не понимаю, что творит GCC
Есть у меня такая вот структура:

	struct t_samples {
		int16_t  i1;
		int16_t  i2;
		int16_t  i3;
		int16_t  i4;
		int16_t  i5;
		int16_t  i6;
	};

При попытке загрузить переменную этого типа в регистры вот таким вот кодом


Читать дальше

Altera Nios II QiuckStart. Осваиваем принципы построения системы и инфраструктуру сборки.

Общались на днях с товарищами на тему одного проекта и так, между делом, было брошено замечание, в стиле «а если сюда поставить ПЛИС и контроллер, то вообще всё круто будет», на что сразу последовал вопрос «а нафига плодить сущности? зачем столько мозгов в системе — контроллер ведь можно воткнуть внутрь ПЛИС, например взять Nios?». Ответ был в стиле «а ты пробовал? я пробовал завести Nios, кучу времени убил, результата не получил — это большой гемор и всё равно требует лишней обвязки (память, епром...) которые уже есть в контроллере». Естественно такое заявление подействовало на порядки лучше любого «а слабо?!» и я засел за освоение мат. части. Как оказалось, информации по теме дофига и больше (в списке ссылок только малая часть того, чем я пользовался, а сколько всего я даже не смотрел...), но она вся какая-то разрозненная, везде освещается какая-то часть процесса, а как собрать это всё воедино и вникнуть в концепцию понять с лёту не так-то просто. В общем на то, что бы запустить первую работающую программу ушло примерно два дня (правда надо сделать скидку на то, что я параллельно конспектировал действия). А результатом моих колупаний является эта вводная в процесс проектирования систем на базе FPGA фирмы Altera с использованием процессорного ядра Nios II.



Читать дальше

Реализация кольцевого буфера на языке Verilog HDL. Пара слов о поиске ошибок.

У нас уже есть примеры реализации кольцевого буфера на языках Assembler (для STM32) [1], C [2] и C++ [3]. Пожалуй, продолжим. В этой статье я приведу пример реализации простенького кольцевого буфера на языке Verilog HDL. Так же будет приведен разбор типовой ошибки, которую я допустил при написании этого кода.


Читать дальше
  • +2
  • 06 апреля 2011, 22:25
  • Alatar

Минималистичная очередь задач на C.

Недавно тут появилась замечательная статья про реализацию кольцевого буфера на C++ [1]. Статья весьма ценная и полезная, но, как вполне справедливо заметили в комментариях, что бы писать на крестах под контроллеры надо весьма хорошо знать этот язык, иначе красивый и, вроде бы, элегантный плюсовый код собирается в ресурсоёмкое тормозилово. Я и сам хоть и пишу десктопные проги на плюсах, под контроллеры пока предпочитаю использовать чистый С. Так вот, по этому поводу вспомнилось мне, что я как раз недавно занимался шлифовкой очереди задач на основе кольцевого буфера на сях, и я решил поделиться своими наработками — вдруг кому пригодится. Код, разумеется, платформонезависимый (ну кроме конструкции ATOMIC_BLOCK), а вот оптимизация делалась под avr-gcc и на других платформах/компиляторах может быть излишней.


Читать дальше
  • +3
  • 01 апреля 2011, 09:48
  • Alatar

Универсальный преобразователь UART-USB на основе FT232R

При изготовлении почти любого устройства с процессорным управлением встаёт необходимость обеспечить его связь с компьютером. Причём зачастую эта связь нужна только при отладке и в дальнейшей работе прибора совершенно не требуется. А порой и сам прибор в дальнейшем не требуется — так, один раз поиграл и засунул в дальний ящик. Лепить в каждом таком девайсе преобразователь интерфейса с обвязкой лень, да и жаба душит. А ведь ещё и разъём нужен… Что бы не возникало таких проблем нужно под рукой иметь внешний преобразователь интерфейса, легко подключаемый к тому девайсу, с которым сейчас работаешь.


Читать дальше

FAQ по работе в Altium Designer

В этой записи будут рассматриваться вопросы, связанные с использованием программы Altium Designer (далее AD).


Читать дальше

3D камера

Вооот такой вот фотоаппаратик кто-то замутил

Стерео-камера


Читать дальше

Освоение ПЛИС с использованием языка Verilog

Давненько мне приходили мысли о том, что засиделся я на платформе AVR и пора бы уже освоить что-то новое для себя. В качестве кандидатур рассматривались AVR32, ARM и FPGA. И вот, когда на горизонте замаячил новый проект, я стал думать, на чём бы его сделать. В принципе, проект этот можно реализовать на любой платформе, но желание расширить кругозор победило и было принято решение попробовать поработать с ПЛИС. Далее я с практически нулевыми знаниями в этой области погрузился в выбор камня для проекта. Почесав репу и прочесав инет я решил, что делать схему самому без опыта работы с этими штуками не стоит, а лучше найти подходящую стартёр плату.

Читать дальше