An open API service indexing awesome lists of open source software.

https://github.com/olgapavlova/lectures

Материалы к лекциям
https://github.com/olgapavlova/lectures

avr bdd books c driver esp32 git kernel keyboard linux makefile patterns stm32

Last synced: about 2 months ago
JSON representation

Материалы к лекциям

Awesome Lists containing this project

README

          

# Эксперименты с языком C • Стримы для начинающих
* [Прямые эфиры на Twitch](https://www.twitch.tv/olgampavlova) каждую пятницу в 🕖 19:00 GMT+3.
* Архив видеозаписей на [Youtube-канале](https://www.youtube.com/@olgapavlova).

**Рассказы об интересном в языке C** и вокруг него. Это _не_ рассказы о том, как надо или как правильно. Это рассказы о том, как можно и что бывает. И живые попытки сделать что-то конкретное [в прямом эфире](https://www.twitch.tv/olgampavlova).

## Дополнения к базе языка C
1. [Нюансы работы с файлами в C на Linux](file_in_c_linux) ```2024-11-29```
2. [Приёмы использования указателей на функции](function_pointers) ```2024-12-27```
3. [Мнимый полиморфизм в Си](polymorphism) ```2025-01-03```
4. [Ошибки как часть дизайна программы на Си](errors_design) ```2025-01-10```
5. [Как делать функции с произвольным количеством аргументов произвольных типов](menu_vargs) ```2025-01-17```
6. [Практикуем мышление указателями](pointer_thinking) ```2025-01-24```
7. [Как работает и не работает обобщённый указатель void * в языке C (Си)](voidstar) ```2025-01-31```
8. [Препроцессор и его макросы в C](macro) ```2025-02-07```
9. [Менеджер динамической памяти для небольших проектов на C](regmem) ```2025-02-21```

## Тестирование
1. [Основы модульного тестирования в C](unit_testing_base) `2024-11-22`
2. [Продвинутые техники и конкретные приёмы работы в ](checkplus) `2024-12-20`
3. [Библиотека check.h: как и зачем хранить тестовые данные во внешних файлах](checktxt) `2025-08-29`

## Знания, полезные для создания драйверов
1. [Механизм setjmp()/longjmp()](setjmp) ```2025-03-07```
2. [Роль побитовых операций в C](bitops) ```2025-03-14```
3. [Самое-самое начало многопоточности](threads) ```2025-03-21```
4. [Многопоточный сканер сети](threadsync) ```2025-03-28```
5. [Первый модуль ядра и инструменты для его разглядывания](khello) ```2025-04-04```
6. [Превращаем модуль ядра в драйвер](chardrive) `2025-04-11`
7. [Шина, протокол, микроконтроллер — наглядное первое знакомство](tinyhard) `2025-04-18`
8. [Виртуальная и физическая память в ядре Linux • Щупаем средствами C](kmemory) `2025-04-25`
9. [Цена «естественных прав» на память в ядре Linux • Щупаем средствами C](kalloc) `2025-05-02`

## Проект «Старая клавиатура» (базовый для изучения драйверов)
1. [Порты, протоколы и регистры на нашу голову](kbmicro) `2025-05-09`
2. [Превращаем электричество в данные на микроконтроллере ATmega32u4](kuart) `2025-05-16`
3. [USB HID + запуск хоть чего-то на разных микроконтроллерах](usbhid) `2025-05-23`
4. [USB HID • Реализация на LUFA](lufa) `2025-05-30`
5. [Обработка сигналов от специальной клавиатуры](kspec) `2025-06-06`

## Toolbox и источники информации
1. [Отладчики в С • gdb—lldb](gdb) ```2024-12-06```
2. [Логи в небольших проектах на C](logs) ```2024-12-13```
3. [Бумажные книги по C и смежным вопросам](books) `2025-06-13`
4. [Шаблон небольшого проекта на C • Начало](ctemp_start) `2025-06-20`
5. [Makefile для новичков: пара приёмов и общий настрой использования](makenew) `2025-06-27`
6. [Скрещиваем Docker, Makefile и gcc](mosaic) `2025-07-04`
7. [Экономим нервы: две фишки git’а, затейливый bash-скрипт и настройки в отдельном файле](gitco) `2025-07-11`
8. [Flex — генератор сканеров текста (лексических анализаторов)](flex) `2025-09-05`
9. IDE без фантазий `2025-09-19`
10. [Измеряем скорость C-кода](profiling) `2025-10-17`

## Странные затеи
1. [Рисуем на осцилллографе](oscipaint) `2025-07-18`
2. [Режим Лиссажу, скважность ШИМ из файла и формат изображений PPM/PGM/PBM (PNM)](lis) `2025-07-25`
3. [Расшифровываем WiFi-логи](cardsnif) `2025-10-03`

## Микроконтроллеры
1. [Крохотный конечный автомат на ATtiny13A и C](wrem) `2025-01-01`
2. [Зачем нам в микроконтроллере прерывания](drink) `2025-08-08`
3. [Чуть больше о коде в прерываниях: варианты архитектуры, рефакторинг, плохие идеи](interrupt) `2025-08-15`
4. [Плата «Мир» с двумя микроконтроллерами](peace) `2025-09-26`
5. [Реанимация ESP8266 — можно даже без C](8266) `2025-10-10`

## Алгорифмы, структуры данных, паттерны
1. [(Анти)паттерн Singleton в C (Си)](singleton) `2025-02-14`
2. [Структуры данных для себя, любимых](structdata) `2025-02-28`
3. [Разбираем алгорифм Double Dabble своими руками](doubledabble) `2025-08-22`