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.
— Ну Вы не сомневаетесь, что по софту не будет проблем?
— Кто сомневается?! Я сомневаюсь?!!!
— Ладно, ладно, дерзайте, — махнете Вы рукой.
Микросхема будет заложена в решение, и пути назад уже не будет…


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

Оболочка для прошивки серийных устройств

По итогам двух лет работы с предыдущей версией программы сделал я новую версию ПО, переписанную, практически, с нуля (внутренние механизмы заметно изменились).



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

STM32f4 USB HS DMA HAL. Как это было

Попросил меня как-то один уважаемый заказчик организовать ему передачу данных с контроллера (stm32f407) в компьютер. Всё бы ничего, но скорость ему требовалась аж 40 мегабит в секунду.

Надо сказать, что железка была уже готова, основной код написан, в качестве интерфейса передачи выбран USB High Speed с внешним PHY (USB3300). У программиста заказчика с USB что-то не заладилось, посему решили произвести усиление коллектива вашим покорным слугой. Для полноты картины следует добавить, что весь код контроллера был написан при помощи CubeMX, а программа на ПК — на Delfi.

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

Программный USB на микроконтроллерах STM8-STM32

Всем, привет!

Когда делать было не чего я сделал программную реализацию низкого уровня USB на базе STM8.
За прошедшее время было много писем о продолжении проекта и переноса его на STM32.

Сегодня получил в очередной раз письмо на данную тему.
На моё удивление автор письма ни как все, не просит чего-то сделать, а сам сделал перенос с STM8 на STM32 и предлагает совместно продолжить работу над проектом. Однако мне данный проект на текущий момент не интересен, да и времени свободного нет.



Читать дальше
  • +4
  • 19 апреля 2017, 09:11
  • ZiB

Макросы для читаемости

При программировании STM32 производитель контроллеров предлагает использовать библиотеку Standart Peripherial Libray, но мне не нравится то количество кода, которое приходится писать, чтобы инициализировать вывод для выполнения каких-либо функций. Так же код, на мой взгляд, получается не особо читаемым. При поиске способа исправить эти недочёты вспомнились «макросы Аскольда Волкова», названные так по имени автора.

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

CMSIS-DAP на STM32F4Discovery

Тут уже лет 5 назад упоминали о таком, но мало ли. CMSIS-DAP какой-то канонный опенсорсный интерфейс отладки от ARM для кортексов на базе протокола USB HID. Т.е. не привязанный к конкретному производителю контроллеров и не требующий драйвера.
Более мощная версия этой штуки (со всякими балалайками, типа популярной нынче прошивки через MSD, или USB-UART) развивается mbedом и называется DAPLink.





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

IAR project manager

IAR project manager


Хочу поделиться небольшой программой для работы с проектами IAR EWARM для микроконтроллеров STM32F с ядрами M0, M3, M4, M7 (и другими со схожей организацией структуры папок ST CMSIS).

Нескромное название программы — IAR project manager, предназначена для ускорения типовых рутинных процессов при работе с IAR EWARM. Её основные возможности:
— создание нового проекта со всеми необходимыми файлами CMSIS;
— добавление новой директории в проект;
— переименование «воркспейса» и проекта;
— очистка проекта;

Программа написана на Python 3.6.0 и имеет зависимость от LXML.
На данный момент “exe” версии программы нет, поэтому для её запуска необходим интерпретатор Python.
Распространяется под лицензией MIT, соответственно: "...THE SOFTWARE IS PROVIDED «AS IS», WITHOUT WARRANTY OF ANY KIND ..."

Ссылка на проект: GitHub

Далее о работе с программой.


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

AVRISPmkII на STM32F4Discovery

Изучал USB-библиотеку на STM32F4 и как побочный результат этой деятельности получился клон AVR ISP mkII.
В архиве hex прошивки и исходник.

Распиновка ISP (AVR):
PD7 — RESET
PB3 — SCK
PB4 — MISO
PB5 — MOSI

Распиновка PDI (XMega):
PB13 — CLK
PB15 — DATA

PE5 — 4 МГц меандр на всякий случай

Красная лампочка просто моргает, зелёная — при активности.
stm32f4discovery as avrispmkII

Вдруг просто надо будет что-то авровское прошить, а под рукой программатора нет. А так можно быстро сколхозить из весьма распространённой отладки. Номер версии ПО: 0x18.