Пожалуй, это самый nerdy stuff, который я делал. Если программирование вам не интересно — пропустите это пост, позже выложу что-нибудь красивое.
Я начал вспоминать, что вообще-то умею писать на Rust, экспериментируя с ним на железе, Взял чип, который использовал ранее в своих миниатюрных устройствах. Это классный чип: Cortex-M0, бодрый 12-битный АЦП на мегасэмпл, периферия, цена — 60 центов. Задача — "помигать" светодиодом прошивкой на Rust, увидеть это на осциллографе.
Взял официальный SVD (system view description, выпускают вместе с arm-чипом), пропустил через svd2rust, далее пришлось помучаться и переписать иницализацию тактирования из CMSIS на Rust, для прошивки использовал probe-rs. Прошиться получилось не сразу, но в какой-то момент прошивка скомпилиролась и залилась! Это было удивительно само по себе. Отладив тактирование, оказалось, прошивка исполняется и не падает, но пины вообще ни в какую не поднимаются.
Кручу даташит не первую неделю, уже начинаю в себе сомневаться, как в друг чатгпт выдает: "А может SVDговно с ошибкой и там промахнулись со смещением? Запиши напрямую в память". Клацаю предложенный write_volatile, обходя кривой адрес — и вдруг осциллограф оживает) вау!
Какой вывод? Значительно углубив понимание arm чипов и в целом лучше поняв как устроена инфраструктура вокруг STM и ESP на Rust, убедился, что Rust и экзотическое железо совместимы и такое сочетание интересно. Это было сложно, но только в первый раз, хоть SVD файл и требует исправления. Китайские микроконтроллеры дешевы, устойчивы к проблемам рынка и открывают интересные возможности при правильном подходе. При этом Rust дает качественно иной опыт программирования на микроконтроллерах, что мне очень нравится.
Я начал вспоминать, что вообще-то умею писать на Rust, экспериментируя с ним на железе, Взял чип, который использовал ранее в своих миниатюрных устройствах. Это классный чип: Cortex-M0, бодрый 12-битный АЦП на мегасэмпл, периферия, цена — 60 центов. Задача — "помигать" светодиодом прошивкой на Rust, увидеть это на осциллографе.
Взял официальный SVD (system view description, выпускают вместе с arm-чипом), пропустил через svd2rust, далее пришлось помучаться и переписать иницализацию тактирования из CMSIS на Rust, для прошивки использовал probe-rs. Прошиться получилось не сразу, но в какой-то момент прошивка скомпилиролась и залилась! Это было удивительно само по себе. Отладив тактирование, оказалось, прошивка исполняется и не падает, но пины вообще ни в какую не поднимаются.
Кручу даташит не первую неделю, уже начинаю в себе сомневаться, как в друг чатгпт выдает: "А может SVD
Какой вывод? Значительно углубив понимание arm чипов и в целом лучше поняв как устроена инфраструктура вокруг STM и ESP на Rust, убедился, что Rust и экзотическое железо совместимы и такое сочетание интересно. Это было сложно, но только в первый раз, хоть SVD файл и требует исправления. Китайские микроконтроллеры дешевы, устойчивы к проблемам рынка и открывают интересные возможности при правильном подходе. При этом Rust дает качественно иной опыт программирования на микроконтроллерах, что мне очень нравится.
👍3❤2
Звонки в телеграм be like.
YouTube
Autechre - Gantz Graf (Official Music Video) 1080p HD
Autechre - Gantz Graf (Official Music Video) HD
🔥3
Bright Brains
Video
Вы можете послать изображение @aprinterbot и получить такое изображение, в это же время оно напечатается у меня. Акция временная, может работать, а может и нет.
🔥4❤3🤩2