Публикации по теме 'embedded-systems'


Продвинутое метапрограммирование в Ruby
Термин звучит красиво, но его можно рассматривать просто как действие определения кода, который определяет код. В Ruby on Rails есть много таких примеров. Каждый раз, когда вы используете макрос, определяющий дополнительные методы, вы используете метапрограммирование. Мы не просто собираемся использовать методы, определенные кем-то другим, чтобы облегчить нашу жизнь, мы собираемся написать эти методы сами. По сути, мы собираемся создать целый DSL ( предметно-ориентированный язык ) для..

Асинхронная передача хоста, ограничение ресурсов буфера и другие концепции прошивки — прошивка SSD…
В этой части мы обсудим изменения в коде SsdSim для поддержки асинхронной передачи данных хоста и добавления возможности обработки случая, когда мы не можем получить ресурс буфера. На самом деле было бы разумнее рассказать об этом вместе с Часть 14 , но код может немного измениться, и я бы хотел, чтобы он был пошаговым, с минимальным прогрессом изменений, насколько это возможно. Для поддержки асинхронной передачи данных хоста мы можем начать с нашего собственного примера с NandHal. В..

Любовное письмо Квадратным скобкам Си
Я хочу поделиться своим любимым фрагментом «запрещенного кода», потому что, когда вы его поймете, вы больше никогда не будете путаться в указателях и массивах, и вы оцените, сколько пользы разработчики C выжали из нескольких тонких кусочков. синтаксиса. Я надеюсь заставить вас усомниться в том, что в C вообще есть массивы, а затем доказать вам, что это действительно так, но не так, как вы могли подумать. Взглянем: #include <stdio.h> struct { int zero_squared; int..

Представляю мой новый проект: Talks from the Edge
Говорить о чем Добро пожаловать в Talks from the Edge! В этом блоге я стремлюсь поделиться своим опытом, знаниями и идеями об индустрии встраиваемых систем. Как инженер-программист с опытом работы в области аппаратного обеспечения и страстью к обучению и обмену новыми навыками, я хочу провести вас через увлекательный мир разработки встраиваемых систем. Присоединяйтесь ко мне, когда я углублюсь в тонкости этой области и, надеюсь, вдохновит вас на создание удивительных вещей. Что..

Как запустить модель глубокого обучения на микроконтроллере с CMSIS-NN (часть 3)
Вы узнали, как запустить модель классификации изображений на микроконтроллере ARM, и узнали основы фреймворка CMSIS-NN. В этом посте показано, как можно обучить и развернуть новую модель с нуля. Чтобы наверстать упущенное из части 1 и части 2 этой серии. Постройте и обучите модель Caffe Керас был моим фаворитом при выборе фреймворка для глубокого обучения из-за его простоты и элегантности, однако на этот раз мы выберем Caffe, поскольку команда ARM выпустила два полезных..

Основы встроенного C: Часть II
Печать, ввод, операторы, условия и циклы Печать переменных Как показано в примерах моей последней статьи , функция printf выводит строку в консоль. Теперь у этого есть свое применение, но чтобы сделать эту функцию более модульной, давайте поговорим о спецификаторах формата. Спецификаторы формата заменяют части строк переменными при их включении в аргументы printf. Format Specifiers: ╔══════════════╦════════════════════╗ ║ Specifier ║ Type ║..

ESP32 против RP2040 против STM32 против AVR. Как мне выбрать?
Привет, я инженер по прошивке, у меня работа как хобби. Дело в том, что у меня мало времени на отдых и учебу, и я всегда ищу цепочку инструментов, фреймворк или платформу, которые позволят мне быть продуктивным и изучать интересные вещи. Есть много микроконтроллеров на выбор, некоторые из них ориентированы на хобби, другие ориентированы на производство. Но набор функций микроконтроллера и его цена — это еще не все. Удовольствие от программирования также должно быть важным аспектом,..