CAN + CANOpen + CANfestival + STM32. Часть первая

CANOpen
Вы когда-нибудь участвовали в форумных склоках на тему «Что лучше — написать свое или взять готовое?». Лично я обожаю подобные вещи, причем я больше предпочитаю наблюдать, нежели участвовать. Ведь это так весело, сначала обсуждаются технические детали, потом постепенно переходят на личности, потом кого-то банят… Вы скажете, что я второсортное быдло, которому нравятся такие же второсортные развлечения? Знаете, а зачем это отрицать, зачем заниматься самообманом? Лучше принять себя таким, какой я есть, и гордо нести это как знамя: «Да, я — быдло!». Поэтому вместо самоотрицания я попытаюсь «набросить», и если мне повезет, то там, в комментариях разгорится такой спор переходящий от технический деталей к личным оскорблениям.
Так что может послужить предпосылкой такого спора? Ну вот, например, такая тема. Есть у вас в микроконтроллере замечательная штука — интерфейс CAN, помощью которого можно сделать массу замечательных вещей: шину для связи между модулями в умном доме, между узлами в собственном роботе, между модулями в ПЛК, между электроникой в автомобиле и т.д. и т.п. Но что пустить «поверх» CAN: свой самодельный протокол или взять готовый. А если готовой протокол, то что лучше свой самописный стек или готовый? Займу пожалуй одну из крайних позиций — все готовое, и протокол и стек к нему, а именно CANOpen и CANFestival.


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

STM32 + Параллельная NAND Flash + файловая система Yaffs. Часть третья


Обещанный пример порта Yaffs под STM32F429, память NAND128-A, интерфейс FMC, доступ к регистрам через библиотеку SPL. Надеюсь никто не будет против, если я не стану прикреплять архив с исходниками, просто дам ссылку на публичный репозитарий. Схему подключения не стану приводить — не вижу никакого смысла, в документации все есть.


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

STM32 + Параллельная NAND Flash + файловая система Yaffs. Часть вторая



Еще несколько слов о принципе работы файловой системы Yaffs, структура каталогов и теория портирования. Основной источник — это исчерпывающая документация на официальном сайте. Начало здесь.



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

STM32 + Параллельная NAND Flash + файловая система Yaffs. Часть первая


Как часто приходится жалеть о принятых решениях. Безрассудно прожитые школьные годы, неверно выбранный ВУЗ, разгульная студенческая жизнь, переезд не в тот город, выбор параллельной NAND Flash в качестве вместилища архивных данных.
Вот казалось бы, интерфейс EMC есть, команды у флешки для записи/чтения простые, как угол дома и самое главное — дешево! Кто-то может возразить, сказав, что обычные SD-карты сегодня тоже дешевые и разъемы к ним недорогие, плюс по софту тоже все готово — тут тебе и файловая система FATFs, и примеры. Но иногда в такой разговор может вмешаться слишком «умный» программист, который скажет:
— Нет! Мы делаем промышленный прибор, который будет подвержен тряскам во время транспортировки, кривым рукам наладчиков на объекте, вибрациям в процессе работы. Никаких разъемов для критически важных узлов.
На что вы возможно ответите:
— Тогда может быть использовать память с интерфейсом SPI, там вроде как тоже давно все изведанно.
— Нет, нет! Дорого, да и чем плоха NAND'а? — очень самоуверенно возражает оппонент.
— Ну я не уверен насчет…
— Бла, бла, бла! Поверьте я знаю что предлагаю, нам нужна параллельная NAND flash.
— Ну Вы не сомневаетесь, что по софту не будет проблем?
— Кто сомневается?! Я сомневаюсь?!!!
— Ладно, ладно, дерзайте, — махнете Вы рукой.
Микросхема будет заложена в решение, и пути назад уже не будет…


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