Работая с Джефом Грэхемом над интервью, я узнал от него про книгу, идеи и готовые части кода из которой стали основой некоторых подсистем программой части Maximite.
Programming 32-bit Microcontrollers in C: Exploring the PIC32 (Embedded Technology)
Мой личный опыт с микроконтроллерами PICmicro закончился лет десять назад, когда с братом делами автомобильную сигнализацию на основе GSM телефона. В сердце был PIC16, DTFM декодер (уникальная, кстати на тот момент фича, когда можно было рулить сигнализацией, позвонив на ее номер и пикая с трубку циферьки) и датчики.
Потом было еще насколько проектов на PIC12. Меня реально перло, что микруху с несчастными восемью ногами можно программировать, на С!
Потом как-то все засохло. Я переехал, и многое из “добра” не взял с собой. Но вот недавно, после сборки Maximite и покупки Raspberry Pi, вся эта тема вернулась. Но время не стоит на месте, и современные PIC32 уже на ядре MIPS, все из себя 32-х битные, плюс с какой никакой виртуализацией адресов, что позволяет делать несложные операционные системы с разделением ядра и пользовательских процессов (например, RetroBSD, которая, кстати, прекрасно работает на Maximite).
Так вот, возвращаясь к книге. В желании освежить в памяти эту тему, я отрыл ее. К моему удивлению, я, не отрываясь, с удовольствием прочитал ее по диагонали за пару вечеров.
Книга очень грамотно построена и рассчитана на людей с минимальными знаниями о микроконтроллерах. Там даже есть экскурс в язык С для желающих. Начиная “от печки” в виде примитивных примеров с картинками и подробными объяснениями, автор постепенно раскрывает весьма недетский набор тем:
Все примеры законченные и работающие. Особенно будет удобно, если иметь диск от книги.
Одним небольшим неудобством было то, что автор использует среду MPLAB и компилятор С32 (все-таки книга вышла аж в 2008 году), а Microchip последнее время всех активно пересаживает на MPLAB-X, который есть не только для Windows, но и Linux и OSX, и компилятор XC32 на базе GCC. Хотя файлы проектов несложно импортируются в новую среду, в книге явно не хватает объяснений про элементарные makefile’ы. Но это компенсируется подробными картинками окон конфигурации, отладчика и симулятора. В принципе, книгу можно читать даже не имея компьютера под рукой.
Итак, проглядев книгу, вы будете понимать что и как возможно сделать на PIC32. А если решите собрать и запрограммировать реальный проект, у вас будет достаточно начального работающего кода и понимания, как запустить кристалл.
Вывод: настоятельно рекомендуемая книга. Кстати, вышла она не недавно, так что можно найти в хорошем PDF-ном качестве, хотя купив ее, вы негласно скажете автору спасибо.