Merge remote-tracking branch 'origin/main'

This commit is contained in:
Alexey Baranov
2026-03-02 09:47:11 +03:00
5 changed files with 93 additions and 2 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 367 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

+31
View File
@@ -0,0 +1,31 @@
Все устройства в Linux живут тут:
`/dev`
## I2C. Integrates
`/sys/bus/i2c/devices/`
По умолчанию шина отключена.
Включить можно следующими способами:
1. `sudo raspi-config`
2. Корректировкой `/boot/firmware/config.txt`
1. Необходимо раскомментировать параметр `dtparam=i2c_arm=on`
Затем в устройство должно появиться в `/dev` как `i2c-1`
Для работы с шиной и периферией есть библиотека `i2c-tools`
## SPI
Команды для работы:
`cat /proc/device-tree/model` - модель платы для которой device tree создан
`ls /proc/device-tree/` - дерево устройств, которое kernel получил от GPU
`ls /sys/bus/platform/devices` - вывод устройств, которые kernel создал на основе DT
`lsmod` - просмотр загруженных модулей св
## Commands
Система:
`vcgencmd get_config int` - параметры, которые передает GPU
`cat /etc/os-release` - просмотр версии системы
+59
View File
@@ -0,0 +1,59 @@
## Hardware starting. Процесс запуска и инициализации
Далее описан процесс запуска и инициализации оборудования следующих уровней:
Firmware layer
Hardware descriptional layer
kernal initialization stage
1. Power On
2. Starting GPU on SoC
3. ROM внутри Video Core начинает выполнение.
4. GPU читает SD карту (загружаются)
Файлы расположены в /boot или /firmware/boot
1. ==bootcode.bin== - FirstStage Bootloader.
Он инициализирует SDRAM и загружает прошивку start.elf
2. ==start.elf== - Second Stage Bootloader
Инициализирует систему и загружает ядро линукс, управляет памятью
3. ==config.txt== - файл конфигурации
Основной конфигурационный файл системы, считываемый GPU используемый для настройки оборудования
4. ==cmdline.txt==
файл конфигурации, передаваемый ядру линукс при загрузке
5. ==device tree== - подгружается дерево устройств. (файлы *dtb)
Передается в kernel. Хранятся в каталоге boot / firmware / overlays
5. Только после этого GPU включает ARM CPU
6. ARM начинает выполнение linux kernal
## Device tree - Описание аппаратной конфигурации.
Device Tree — это **описание аппаратной конфигурации конкретной платы**.
Применяется GPU до запуска ядра.
Device Tree Overlays - фрагмент device tree, который:
добавляет новое устройство
включает отключенный контроллер
меняет параметры существующего узла
Пример изменения конфигурации DT без перекомпиляции ядра
Открыть config.txt и добавить `dtoverlay=i2c-rtc,ds3231`
Что происходит:
1. GPU загрузит основной DTB
2. GPU применит overlay
3. GPU передаст модифицированный DT ядру
4. Ядро увидит новое устройство
5. Драйвер RTC автоматически загрузится
Если удалить узел устройства (например SPI) из Device Tree то ядро просто не создаст SPI контроллер.
Команды для работы:
`cat /proc/device-tree/model` - модель платы для которой device tree создан
`ls /proc/device-tree/` - дерево устройств, которое kernel получил от GPU
`ls /sys/bus/platform/devices` - вывод устройств, которые kernel создал на основе DT
`lsmod` - просмотр загруженных модулей
## Commands
Система:
`vcgencmd get_config int` - параметры, которые передает GPU
`cat /etc/os-release` - просмотр версии системы
+3 -2
View File
@@ -2,9 +2,10 @@
## Obsidian Git-Vault ## Obsidian Git-Vault
1. Habr guide: [HABR Возврат заметок домой](https://habr.com/ru/articles/814677/) 1. Habr guide: [HABR Возврат заметок домой](https://habr.com/ru/articles/814677/)
2. Token: 2. Настройка Obsidian + Git https://habr.com/ru/articles/843288/
3. Token:
ghp_kay9kXAiFP0gtK7w3arX7etsJif6wj2jqwh ghp_kay9kXAiFP0gtK7w3arX7etsJif6wj2jqwh
3. Git-vault-link 4. Git-vault-link
https://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@github.com/EmbedDevIOT/obsidian-vault-.git https://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@github.com/EmbedDevIOT/obsidian-vault-.git
jazz only jazz only