books-issue-19/

В данном посте вы найдете рецензии на 10 книг, прочитанных мной за последнее время. Так получилось, что на сей раз это были в основном книги об электронике, радио и программировании микроконтроллеров, но не только. Более ранние мои рецензии вы найдете здесь: восемнадцатый десяток , семнадцатый десяток , шестнадцатый десяток , пятнадцатый десяток .

Programming FPGAs: Getting Started with Verilog Programming FPGAs: Getting Started with Verilog
Simon Monk

Книжка-учебник по FPGA и языку Verilog. Небольшая, без воды. Ориентируется на платы Elbert 2, Mojo и Papilio. Впрочем, не могу сказать, что материал жестко привязан к этим конкретным платам. Помимо прочего, содержит примеры работы со звуком и видео, посредством VGA .

В целом, книга мне понравилась. Она неплохо дополняет другие известные мне туториалы. На твердую четверку.

Mastering STM32 Mastering STM32
Carmine Noviello

Книга учит программированию под микроконтроллеры STM32 с использованием библиотеки HAL. Материал актуальный. Помимо прочего, рассматривается работа с прерываниями, таймерами, ШИМ , DMA, ЦАП/АЦП , RTC , и не только.

У меня от книги немного смешанные чувства. Учитывая, что она ориентирована на читателя, вообще не знакомого с STM32, было бы логично идти от простого к сложному, давая примеры, объясняя, как они работают, а совсем уж глубокие моменты объяснить в последних главах. Но вместо этого автор сразу уходит в технические дебри. От этого материал сложно воспринимать.

Тем не менее, из всех книг по STM32, что мне на данный момент удалось найти, эта, пожалуй, является лучшей. Купить ее можно на LeanPub . Примеры к книге лежат на GitHub .

Make: AVR Programming Make: AVR Programming
Elliot Williams

Книга о том, как программировать под микроконтроллеры AVR на чистом C. Притом, речь не просто о мигании светодиодами и чтении кнопок . Благодаря этой книге вы также научитесь работать с EEPROM, аппаратными реализациями SPI и I2C, использовать ШИМ, ADC/DAC, и так далее. Ассемблера в книге нет совсем, все-таки третье тысячелетие на дворе.

Местами автор прям ну очень сильно разжевывает материал. Например, объяснению того, что делает код PORTB &= ~(1 << 3); может быть уделено несколько страниц. Впрочем, для кого-то из читателей это действительно может быть непонятно, а прочие могут данное объяснение спокойно пропустить. Так что, это скорее плюс, чем минус.

Книга просто огонь. Держать ее в качестве справочника стоит всем, кто пишет под AVR. Примеры к книге выложены на GitHub . Автор ведет микроблог в Twitter .

Practical Electronics for Inventors, 4th Edition Practical Electronics for Inventors, 4th Edition
Paul Scherz, Simon Monk

Просто топовая книжка по электронике. Если вам хочется понять, как работают генераторы сигналов (oscillators) , активные и пассивные фильтры , АМ/ФМ модуляторы / демодуляторы, откуда у кабелей берется какой-то там импеданс (a.k.a волновое сопротивление) и что он означает, как работает софт для моделирования электрических цепей (так вот для чего нужны дифференциальные уравнения!), и вот это вот все, данная книга написана для вас. Для понимания материала потребуется кое-какое понимание производных, интегралов и комплексных чисел, но не то, чтобы прямо слишком глубокое. Вообще, авторы преуспели в объяснении довольно сложных вещей простым и понятным языком.

Помимо прочего, из книги вы узнаете про теорему Тевенена и теорему Нортона (кажется, в школе этому не учили), с удивлением обнаружите, как в, казалось бы, простой задаче «найти сопротивление всех элементов в цепи» вдруг возникает линейная алгебра и метод Крамера , и найдете множество примеров разных электрических цепей с подробным объяснением того, как они работают. Также в книге есть главы, посвященные микроконтроллерам и FPGA, хотя и не слишком подробные. По этим темам есть и куда более лучшие источники.

Я лично прочитал книгу с большим удовольствием. Имеется перевод на русский язык «Электроника: теория и практика». Про качество перевода сказать не могу, так как книгу читал на английском. Но известно, что бумага качественная и обложка твердая. Учитывая объем книги, читать ее все же удобнее в электронном виде. А бумажную версию можно использовать, как справочник.

The RISC-V Instruction Set Manual. Volume I: User-Level ISA The RISC-V Instruction Set Manual. Volume I: User-Level ISA
Andrew Waterman, Krste Asanovic

Небольшая книга, содержащая описание набора команд (ISA, Instruction Set Architecture) архитектуры RISC-V уровня пользователя. Про инструкции уровня ядра есть отдельный том. Подробности на тему что такое RISC-V и почему эта штука так интересна вы найдете в заметке Конфигурация FPGA в качестве RISC-V процессора , поэтому здесь на этом моменте я останавливаться не буду. PDF можно скачать бесплатно на riscv.org.

Книга читается легко и приятно. Пригодится тем, кто хочет написать ассемблер / дизассемблер / компилятор / эмулятор RISC-V или реализацию процессора с данной архитектурой под FPGA. Или же, как в моем случае, просто хочет разобраться, на что похож набор команд RISC-V. Особенно в RISC-V меня порадовали команды переменной длины, при том, что длина определяется очень просто по первым битам команды, наличие 128-и битных инструкций и использование LL/SC вместо CAS с гарантированным отсутствием лайфлоков и проблемы ABA.

Inside Radio: An Attack and Defence Guide Inside Radio: An Attack and Defence Guide
Qing Yang, Lin Huang

Результат совместного труда группы UnicornTeam , повествующий о Software Defined Radio в контексте информационной безопасности. Здесь вы прочитаете об использовании RTL-SDR , HackRF, USRP, LimeSDR и Proxmark3, а также о декодировании протоколов с OOK-модуляцией , клонировании RFID-меток , сборе информации о пролетающих поблизости самолетах с помощью ADS-B , кархакинге, GPS-спуфинге, взломе Bluetooth, ZigBee и мобильных сетей.

Мне лично особенно интересно было прочитать про Femtocell и StingRay / KingFish IMSI Catcher , просто потому что раньше я даже не слышал о таких вещах. Книга понравилась, рекомендую.

Radare2 Explorations Radare2 Explorations
monosource

Экстренное введение в Radare2 объемом всего лишь 77 страниц. Благодаря этой книжке вы узнаете, как перемещаться по дизассемблированному коду, пользоваться отладчиком, редактировать файлы и так далее. Плюс к этому, включено четыре туториала практического использования Radare2.

Если вы никогда до этого не работали с Radare2, но хотели бы начать, книга вам пригодится. Тем более, что распространяется она бесплатно .

Radare2 Book Radare2 Book

Еще одна бесплатная книга о Radare2. В отличие от предыдущей, она не имеет одного автора, а написана множеством контрибьютеров. Книга позиционируется, как полноценный учебник/справочник по Radare2.

Помимо прочего, здесь затрагиваются темы написания расширений, добавления поддержки ISA, форматов файлов и анализаторов. Плюс к этому в книгу включено прохождение нескольких крякми, а в конце приводится шпаргалка по основным командам R2.

Если материал «Radare2 Explorations» показался вам слишком лайтовым, «Radare2 Book» прекрасно ее дополнит.

Энциклопедия электронных компонентов, том 3 Энциклопедия электронных компонентов, том 3
Чарльз Платт, Фредрик Янссон

Последний, третий том «Энциклопедии электронных компонентов». Идеально подойдет любителям читать Википедию перед сном 🙂

Данный том полностью посвящен датчикам. Интересно почитать про всякие исторические моменты, например, про редко используемые ныне ртутные датчики наклона. Особенно мне почему-то запомнились главы про датчики уровня жидкости, а также датчики скорости жидкостей и газов. Наверное, просто потому что мне раньше не доводилось читать про их устройство. Для затравки скажу, что в датчиках скорости жидкости или скорости газа не обязательно используются какие-то лопасти. Еще, к примеру, я узнал, что термисторы могут использоваться в качестве ограничителей пускового тока в блоках питания. Также их применяют для защиты от короткого замыкания.

В целом, я бы сказал, что книга эта на любителя. Но поскольку объем у нее небольшой, если сомневаетесь, то стоит ознакомиться.

Introducing ZFS on Linux Introducing ZFS on Linux
Damian Wojstaw

И последняя на сегодня книга внезапно посвящена файловой системе ZFS в контексте дистрибутивов Ubuntu и CentOS. Характерна тем, что имеет небольшое количество страниц и мало воды. Здесь вы прочитаете об использовании снапшотов, отличии quotas от reservations, о том, как добавлять и заменять диски в случае выхода дисков из строя или необходимости увеличить размер пула, а также как определить, под что и сколько места используется.

Книга понравилась. Если вам хочется быстро разобраться в основах работы с ZFS, самое то.

Вот такие книжки я читаю. А какие хорошие книги вам попадались в последнее время?

Дополнение: Рецензии на прочитанные книги: вторая сотня

EnglishRussianUkrainian