Обновить Config

2025-01-21 23:48:07 +03:00
parent 667206528e
commit b7a8591c25

@@ -1 +1,64 @@
# Описание конфигурации устройств
## Конфигурация комбинированного устройства:
Представляет собой композицию одиночных устройств и параметры для их соединения между собой
`compose_dev_conf_t`:
| Имя поля | Тип поля | Комментарий |
| --- | --- | --- |
| `baseConfigs` | `conf_dev_t[]` | массив одиночных устройств, оканчивается на `NULL` |
| `clockConf` | `clock_conf_t` | глобальная конфигурация тактирования, WIP |
| `projections` | `projection_conf_t[]` | параметры проецирования памяти между устройствами, оканчивается на `NULL` |
| `intercepts` | `intercept_conf_t[]` | параметры перехватов доступа к памяти устройств, оканчивается на `NULL` |
## Конфигурация одиночного устройства:
`conf_dev_t`:
| Имя поля | Тип поля | Комментарий |
| --- | --- | --- |
| `libpath` | `str` | путь к .so-библиотеке |
| `id` | `str[]` | идентификатор состоящий из массива строк - иерархический, оканчивается на `NULL` |
| `clockId` | `str[]` | идентификатор родительского источника тактирования - иерархический, оканчивается на `NULL` |
| `clockDivider` | `u64` | делитель относительно родительского источника тактирования |
| `clockMultipler` | `u64` | множитель родительского источника тактирования |
| `memConf` | `conf_mem_seg_t[]` | конфигурация сегментов памяти, оканчивается на `NULL` |
## Конфигурация сегмента памяти устройства:
`conf_mem_seg_t`:
| Имя поля | Тип поля | Комментарий |
| --- | --- | --- |
| `name` | `str` | имя сегмента |
| `start` | `u64` | сдвиг начала сегмента в общем блоке памяти |
| `len` | `u64` | длина сегмента |
| `wordLen` | `u8` | длина слова, байт |
## Конфигурация тактирования:
`clock_conf_t`:
| Имя поля | Тип поля | Комментарий |
| --- | --- | --- |
| `limiter` | `u64` | пока не используется, WIP |
| WIP | WIP | WIP |
| WIP | WIP | WIP |
## Конфигурация проецирования сегментов памяти:
`projection_conf_t`:
| Имя поля | Тип поля | Комментарий |
| --- | --- | --- |
| `baseAt` | `str[]` | идентификатор устройства куда будет указывать проекция. Иерархический, оканчивается на `NULL` |
| `baseSeg` | `str` | название сегмента памяти устройства куда будет указывать проекция |
| `targetAt` | `str[]` | идентификатор устройства куда будет установлена проекция. Иерархический, оканчивается на `NULL` |
| `targetSeg` | `str` | название сегмента, который будет заменен на спроецированный |
| `projectionShift` | `u64` | сдвиг относительно начала целевого сегмента |
## Конфигурация перехватов доступа к памяти:
WIP
`intercept_conf_t`: