mirror of
https://github.com/EmbedDevIOT/obsidian-vault-.git
synced 2026-11-06 02:03:27 +03:00
Merge remote-tracking branch 'origin/main'
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 367 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 79 KiB |
@@ -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` - просмотр версии системы
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -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` - просмотр версии системы
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -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
|
||||||
Reference in New Issue
Block a user