32bit_me: (Default)
Прочитал книгу B. Lewis, D. J. Berg "PThread Primer. A Guide to Multithreaded Programming", 370 стр., англ. язык.



Книга содержит очень подробное описание стандарта pthread, его сравнения с  Win32 API и OS/2, и описывает множество нюансов работы многопоточных приложений.
32bit_me: (Default)
Закончил курс на Stepik.org, получил сертификат:



Курс довольно простой, и затрагивает только самые основы. Но на Stepik.org есть и гораздо более сложные курсы.
Курс требует выполнения всех заданий в срок. Каждое задание, это небольшая программа, исходник отправляется на сервер Stepik, там компилируется и тестируется. Задания сами по себе простые, но с некоторыми заданиями могут возникнуть сложности, если вы не учли каких-то нюансов, и тест из-за этого не прошёл. В таких случаях рекомендую читать комментарии тех, кто уже прошёл это задание. Там не будет готовых ответов, но могут быть ценные рекомендации.
В целом, было интересно и полезно.
32bit_me: (Default)
Прочитал две статьи:
1. Gerard J. Holzmann. The Power of Ten – Rules for Developing Safety Critical Code1, 4 стр. англ. язык.
2. JPL Institutional Coding Standard for the C Programming Language, 22 стр. англ. язык.

Обе статьи посвящены стандартам кодирования при разработке надёжного ПО, используемым в Jet Propulsion Laboratory, NASA. Эта организация, например, разрабатывала марсоход Curiosity, работающий на Марсе с августа 2012 года по сей день без единой ошибки.
32bit_me: (Default)
Прочитал статью С.Н. Зыль "Особенности применения языков программирования С и С++ при кодировании для систем ответственного назначеия", 4 стр., русск. язык.
В статье рассматриваются некоторые особенности применения стандартов IEC 61508, MISRA C и MISRA C++.
32bit_me: (Default)
Прочитал статью "Главный вопрос программирования, рефакторинга и всего такого".

Статья представляет собой сборник из 42 примеров с разбором ошибок, найденных в реальных проектах. Все эти проекты являются open-source, и проверялись с помощью статического анализатора PVS-Studio.
Наверное, это прекрасный анализатор, но он коммерческий, причем даже цен на сайте нет. Однако же использование статических анализаторов может быть полезно, и я думаю, надо освоить какой-либо бесплатный статический анализатор.
32bit_me: (Default)
Прочитал "pthread tutorial", Peter C. Chapin, 29 стр., англ. язык.

В очень маленьком объеме излагается вся существенная информация, которую нужно знать по pthread.
32bit_me: (Default)
Прочитал AN4073 "How to improve ADC accuracy when using STM32F2xx and STM32F4xx microcontrollers", 33 стр. англ. язык. Материал описывает программные способы повышения точности АЦП в микроконтроллере STM32, с примерами исходного кода.

32bit_me: (Default)
Прочитал AN2834 "How to get the best ADC accuracy in STM32Fx Series and STM32L1 Series devices", 45 стр. англ. язык.
Документ описывает основные источники погрешностей АЦП типа SAR, применяемых в микроконтроллерах STM, и способы борьбы с ними.

32bit_me: (Default)
Прочитал AN3116 Application note "STM32™’s ADC modes and their applications", 18 стр. англ. язык. Документ описывает работу АЦП микроконтроллеров STM32 в различных режимах.

32bit_me: (Default)
Прочитал материал по Serial Audio Interface, который встроен в микроконтроллеры STM32, объем 27 стр. англ. язык.



SAI - это некий обобщенный интерфейс, который может работать в разных режимах, как разные аудиоинтерфейсы, например I2S, SPDIF, AC97 и другие.
32bit_me: (Default)
Прочитал статью Paul N. Leroux "Real Time or Real Linux? A Realistic Alternative", 12 стр., англ. язык.
Статья посвященную сравнению Linux и QNX с точки зрения возможности построения систем реального времени. Как известно, существует RTLinux, операционная система реального времени, в которой Linux выполняется как вытесняемый процесс. В статье проводится сравнение такого подхода с архитектурой ОСРВ QNX Neutrino.

32bit_me: (Default)
Посмотрел трансляцию вебинара по GDB от [livejournal.com profile] dlinyj.



Вебинар понравился и был мне очень полезен, я хотел бы очень поблагодарить автора.
Однако я не очень люблю смотреть видео на такие темы, потому что нельзя одновременно проделывать всё это самому, текст на видео плохо видно, и я теряю нить повествования минут через десять. Лучше всего читать книги.

Обычно я отлаживаю программы с помощью интерактивного отладчика в IDE (если есть возможность) и с помощью printf/std::cout (во всех остальных случаях). Но надо осваивать и работу с gdb "вручную", поэтому у меня возникает вопрос, не освещённый в вебинаре: насколько gdb дружит с C++? Потому что у меня были проблемы при попытке отлаживать большой проект на плюсах в Qt Creator, а там используется именно gdb.
32bit_me: (Default)
Прочитал книгу "Cortex A Series. Programmer's Guide", 442 стр., англ. язык. Книга выпущена компанией ARM, и является описанием структуры и системы команд микропроцессоров семейства Cortex A с архитектурой ARMv7-A. В основном книга описывает процессоры Cortex A5, Cortex A8 и Cortex A9, т. к. процессоры с ядром Cortex A15 на момент написания книги (2011 год) ещё не были доступны на рынке.



Книга исключительно полезна тем, кто интересуется, как устроен и как работает процессор, при этом дается подробное описание работы MMU, кэшей, конвейера, предсказателя переходов, механизмов межядерного взаимодействия и обеспечения когерентности кэшей. Всё это есть не только у ARM, а и у любого современного процессора вообще, поэтому почитать полезно всем, кому интересны такие темы.
Есть, разумеется, много специфичной для ARM информации, включая описание всех команд, описание блока NEON и других специальных блоков, которые могут быть включены в состав процессора Cortex A (по желанию производителя конкретного чипа).
Очень рекомендую.
32bit_me: (Default)
Прочитал M. R. Sweet "Serial Programming Guide for POSIX Operating Systems", 45 стр., англ. язык. Это, конечно, не книга, а скорее, брошюра по объёму, но содержит всю нужную информацию о функциях, связанных с последовательным портом.

32bit_me: (Default)
Прочитал руководство  "QNX Neutrino Device Drivers. Character Devices", 49 стр., англ. язык.



В руководстве описано устройство драйвера последовательного порта в ОСРВ QNX Neutrino.
32bit_me: (Default)
Прочитал "Extending the DAC performance of STM32 microcontrollers", 19 стр., англ. язык.

Рассматриваются способы улучшения характеристик ЦАП микроконтроллера семейства STMF4. Использование встроенного в микроконтроллер буфера позволяет использовать ЦАП со скоростью до 1MSPS, однако при использовании внешнего ОУ этот параметр можно увеличить до 5MSPS.
32bit_me: (Default)
Прочитал "Audio and waveform generation using the DAC in STM32 microcontrollers", 24 стр., англ. язык.



Документ описывает систему ЦАП микроконтроллеров STM32, их особенности и варианты практического применения.
32bit_me: (Default)
Прочитал книгу "Операционная система реального времени QNX Neutrino 6.5.х", которую можно скачать бесплатно с сайта kpda.ru. Книга является адаптированным переводом официальной англоязычной документации.



В книге описывается архитектура системы QNX, в том числе API микроядра, основанное на стандарте POSIX, средства межпоточного и межзадачного взаимодействия, администраторы ресурсов, файловые системы, сетевая архитектура, графическая система Photon.
32bit_me: (Default)
Прослушал курс на Coursera, "Development of Real-Time Systems", получил сертификат (кликабельно):



На протяжении курса изучается теоретическая часть, различные алгоритмы планировщиков (scheduler) операционных систем реального времени и методы расчёта выполнимости (feasibility) задач, а также практическая часть, в которую входит написание кода под FreeRTOS и практика использования симулятора SimSo.

Бумажную копию сертификата тоже заказал, но она придёт позже.
32bit_me: (Default)
Рассмотрим пример того, как поднять виртуальный COM-порт на микроконтроллере STM32, и навеки забыть про б-гомерзкую FTDI.



Read more... )

Profile

32bit_me: (Default)
32bit_me

April 2017

S M T W T F S
      1
2 34 5678
9101112 1314 15
16171819202122
23242526272829
30      

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 24th, 2017 06:27 pm
Powered by Dreamwidth Studios