Создание автономного C-приложения с библиотекой matlab
Иногда нужно сделать приложение, которое общается с неким девайсом и выполняет сложные математические расчеты. Конечно, можно написать свои библиотеки или найти библиотеки сторонних разработчиков, но зачем, если все уже написано за нас? Намного проще написать матлабовскую функцию, отладить ее и использовать в своем приложении.
Дык на чем писать-то?
Среди эмбеддеров живы споры по поводу того – на каком языке лучше писать программы для контроллеров. Одни ратуют за ассемблер – мол, быстрее, компактнее, другие, те что за Си говорят, что на нем программы быстрее пишутся, а по скорости совсем слегка проигрывают ассемблеру. Оба этих класса эмбеддеров катят бочку на тех, кто пользуется C++: мол, он слишком медлителен прожорлив и опасен для встраиваемых систем. Ну что, устроим холивор?
Письмо в usb.org
Как известно, для того, чтобы сделать свое USB-устройство, необходимо присвоить ему идентификатор в виде комбинации 16-битных чисел — VID и PID.
VID – Vendor ID – идентификатор производителя выдается usb.org. Производитель должен присвоить каждому новому продукту идентификатор PID – Product ID. Таким образом, получается уникальная комбинация VID/PID
Комбинация VID/PID служит для того, чтобы операционная система подгрузила нужный драйвер.
Для того, чтобы получить даже одну комбинацию VID/PID, нужно заплатить usb.org довольно большую сумму – минимум 2000$. После этого вы получаете возможность сделать 65536 устройств.
Драйвер Atmel Dataflash (at45)
В “любительском” проекте, над которым я сейчас работаю, понадобилось хранить довольно большое количество данных. Выбор пал на память atmel dataflash, как на одну из самых распространенных и легкодоставаемых памятей. Под эту память был написан драйвер. Предлагаю его и вам.
Работа с GPIO
В этой статье я бы хотел рассказать вам про разные способы работы с GPIO-ножками контроллера, показать
способ который я выбрал для себя и объяснить, почему именно его я использую.