Инфоурок Биология СтатьиУрок биологии АВТОМАТИЗАЦИЯ ПРОЦЕССА РЕДАКТИРОВАНИЯ ФАЙЛОВ ДЕРЕВА УСТРОЙСТВ

Урок биологии АВТОМАТИЗАЦИЯ ПРОЦЕССА РЕДАКТИРОВАНИЯ ФАЙЛОВ ДЕРЕВА УСТРОЙСТВ

Скачать материал

Урок биологии АВТОМАТИЗАЦИЯ ПРОЦЕССА РЕДАКТИРОВАНИЯ ФАЙЛОВ ДЕРЕВА УСТРОЙСТВ

 

АННОТАЦИЯ

В данной статье будут рассмотрены основное назначение, структура и программная реализация дерева устройств, применяемого в операционной системе Linux. Также будет приведен алгоритм программы, автоматизирующий работу с расширениями файлов дерева устройств.

 

Дерево устройств (англ. Device tree) – это древовидная структура, предназначенная для описи физического оборудования в системе. В свою очередь, каждый узел такой структуры необходим для описания характеристик представляемого устройства. С помощью device tree ядро операционной системы может использовать и управлять такими устройствами, как процессор или память [1].

До появления деревьев устройств вся информация о каждом устройстве, используемом системой, хранилась в ядре Linux, например, расположение памяти и прерывания. Такой подход хорошо функционировал, когда системой использовалось несколько платформ. Но со временем количество микроконтроллерных плат с собственным набором оборудования выросло. Разработчикам стало сложно добавлять всё новые и новые устройства в ядро, поэтому была разработана концепция дерева устройств [2].

 

Представление простого дерева устройств с описанием типа платформы, процессора и памяти показано на рисунке 1. Узлы организованы в иерархию как набор свойств и значений. Подузлы определяют отношения устройств в иерархии [3].

На рисунке 1 видно определение системы на базе процессора P1010 семейства QorIQ. Имя системы в форме <производитель>, <модель> присваивается ключевому слову «compatible». Это слово используется для определения типа устройства в операционной  системе. В данном примере видно, что узел  CPUs определяет  один  центральный  процессор с адресом  модуля 0 (CPU@0). Также в дереве имеется узел ethernet с адресом модуля FE001000 [1].

 

Рисунок 1. Дерево устройств высокого уровня

 

Имя узла – это метка, используемая для идентификации узла. Адрес блока в узле определяет базовый адрес шины, на котором находится узел. Это основной адрес, используемый для доступа к устройству. Имя блока состоит из имени узла, символа «@» и адреса блока (например, CPU @ 0).

Узел может содержать несколько свойств, представляемых в формате: <имя> =

<значение>. Имя состоит из строки, а значение может быть массивом байт, строк, чисел или дескриптором указателя, а также смесью типов. Например, значение может быть:

–             device-type = «cpu»;

– reg = <0x0>;

–             next-level-cache = <&L2>.

Дескриптор указателя - это 32-битное значение, которое позволяет ссылаться на узел из свойства другого узла.

Адреса кодируются с использованием следующих трех свойств:

–             reg

–             #address-cells

–             #size-cells

Каждое устройство имеет свойство reg. В нём перечислены диапазоны адресов, исполь- зуемые устройством. Значение свойства представлено одним или несколькими 32-битными числами, называемыми ячейками [1].

Свойства #address-cells и #size-cells задаются 32-битными числами и используются, если узел имеет дочерние элементы в иерархии дерева устройств. Свойство #address-cells

 

необходимо для указания числа ячеек, задающих поле адреса свойства reg у дочернего узла. А #size-cells указывает число ячеек, задающих поле размера свойства reg [4].

Для программной реализации деревьев устройств разработаны несколько расширений файлов, рассмотрим некоторые их них.

Файлы .dts (англ. device tree source) содержат описание элементов устройства на уровне платы. По соглашению, являются конечными деревьями устройств, а также, как правило, в них включены файлы расширения dtsi.

Файлы .dtsi (англ. device tree source include) содержат описание устройств на уровне системы на кристалле (system on a chip). Система на кристалле (SoC) представляет собой интегральную электронную схему, выполняющую функции целого устройства.

Файлы .dtb (англ. device tree blob) являются двоичным представлением дерева устройств. Они используются для обмена данными о дереве устройств между программами. Например, при загрузке операционной системы микропрограмма передает dtb ядру операционной системы.

Формат dtb кодирует данные дерева устройств в линейную структуру данных без указа- телей. Он состоит из небольшого заголовка (fdt_header), за которым следуют три раздела переменного размера: блок резервирования памяти (memory reservation block), структурный блок (structure block) и блок строк (strings block). Они должны присутствовать в сплющенном дереве устройств именно в таком порядке. Таким образом, структура дерева устройств при загрузке в память по адресу будет напоминать диаграмму на рисунке 2.

 

Рисунок 2. Структура дерева устройств при загрузке в память

 

Разделы со свободным пространством (free space) могут отсутствовать, хотя в некоторых случаях они могут потребоваться для удовлетворения ограничений выравнивания отдельных блоков [1].

Очень часто необходимо оперативно изменять параметры в файлах dtsi и собирать новое дерево устройств. Например, требуется запускать графический модуль с различными матрицами. Сама концепция дерева устройств при этом не изменяется. Можно всё делать вручную, то есть каждый раз открывать нужный dtsi файл, находить в нем параметры и изменять их, а затем компилировать дерево. Такой способ замены занимает много времени, требует дополнительной квалификации оператора и навыков программирования. Для упрощения и автоматизации этого процесса разработаем программу с графическим интерфейсом поль- зователя.

Программа должна выполнять следующие функции:

•             открывать файлы дерева устройств и считывать из него значения свойств графического модуля в текстовые поля;

•             сохранять измененные значения свойств в открытом файле;

•             переводить dts файл (источник данных о дереве устройств) в dtb файл (массив двоичных данных о дереве устройств) и обратно.

Одна из возможных реализаций пользовательского интерфейса представлена на рисунке 3.

 

 

Рисунок 3. Пользовательский интерфейс

 

В программе содержатся три кнопки, каждая из которых отвечает за выполнение своей функции. Так, например, кнопка «Open» отвечает за открытие файла дерева устройств, кнопка

«Save» - за сохранение измененных значений свойств, а кнопка «Convert» - за перевод из dts формата файла в dtb формат и обратно.

При открытии файла все необходимые значения параметров из него будут взяты и записаны в соответствующие им поля в программе. При изменении значений и нажатии на кнопку «Save», они автоматически запишутся в исходный открытый файл.

Значение в полях «whole line» и «whole frame» изменить нельзя, так как не являются параметрами. Эти поля нужны только для отображения суммы значений параметров, находящихся вместе с ними в одной группе.

На рисунке 4 приведем алгоритм программы в виде блок-схемы [5].

 

Рисунок 4. блок-схема программы

 

Таким образом, разработанная программа позволяет операторам с легкостью изменять значения параметров в файлах дерева устройств и экономить собственное время, не тратив его на ручной поиск этих параметров.

 

Список литературы:

1.            Introduction      to           Device  Trees    [Электронный ресурс] URL: https://www.nxp.com/docs/en/application-note/AN5125.pdf (дата обращения: 24.01.2021).

2.            About   the         Device  Tree      [Электронный ресурс] URL: http://www.ofitselfso.com/BeagleNotes/AboutTheDeviceTree.pdf (дата обращения: 24.01.2021).

3.            Thomas Petazzoni.           Device  Tree      for          Dummies            [Электронный ресурс] URL: https://elinux.org/images/f/f9/Petazzoni-device-tree-dummies_0.pdf (дата обращения: 24.01.2021).

4.            Devicetree         Specification      [Электронный ресурс] URL: https://buildmedia.readthedocs.org/media/pdf/devicetree-specification/latest/devicetree- specification.pdf (дата обращения: 24.01.2021).

5.            ГОСТ 19.701-90 (ИСО 5807-85) Единая система программной документации (ЕСПД). Схемы алгоритмов, программ, данных и систем. Обозначения условные и правила выполнения [Электронный ресурс] URL: http://docs.cntd.ru/document/9041994 (дата обращения: 24.01.2021).

Просмотрено: 0%
Просмотрено: 0%
Скачать материал
Скачать материал "Урок биологии АВТОМАТИЗАЦИЯ ПРОЦЕССА РЕДАКТИРОВАНИЯ ФАЙЛОВ ДЕРЕВА УСТРОЙСТВ"

Методические разработки к Вашему уроку:

Получите новую специальность за 2 месяца

Директор десткого сада

Получите профессию

HR-менеджер

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Скачать материал

Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

6 661 584 материала в базе

Скачать материал

Другие материалы

Биологический диктант по теме: "Форменные элементы крови" (9 класс)
  • Учебник: «Биология. Учебное пособие для учреждений общего среднего образования с русским языком обучения», О.Л. Борисов, А.А. Антипенко, О.Н. Рогожников
  • Тема: § 23. Форменные элементы крови
  • 13.02.2021
  • 636
  • 10
«Биология. Учебное пособие для учреждений общего среднего образования с русским языком обучения», О.Л. Борисов, А.А. Антипенко, О.Н. Рогожников

Вам будут интересны эти курсы:

Оставьте свой комментарий

Авторизуйтесь, чтобы задавать вопросы.

  • Скачать материал
    • 13.02.2021 153
    • DOCX 39 кбайт
    • Оцените материал:
  • Настоящий материал опубликован пользователем Доронина Людмила Николаевна. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт

    Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.

    Удалить материал
  • Автор материала

    Доронина Людмила Николаевна
    Доронина Людмила Николаевна
    • На сайте: 7 лет и 6 месяцев
    • Подписчики: 5
    • Всего просмотров: 5627455
    • Всего материалов: 14019

Ваша скидка на курсы

40%
Скидка для нового слушателя. Войдите на сайт, чтобы применить скидку к любому курсу
Курсы со скидкой

Курс профессиональной переподготовки

Интернет-маркетолог

Интернет-маркетолог

500/1000 ч.

Подать заявку О курсе

Курс повышения квалификации

Особенности подготовки к сдаче ОГЭ по биологии в условиях реализации ФГОС ООО

36 ч. — 180 ч.

от 1700 руб. от 850 руб.
Подать заявку О курсе
  • Сейчас обучается 63 человека из 26 регионов
  • Этот курс уже прошли 490 человек

Курс повышения квалификации

ФГОС общего образования: формирование универсальных учебных действий на уроке биологии

36/72 ч.

от 1700 руб. от 850 руб.
Подать заявку О курсе
  • Сейчас обучается 86 человек из 39 регионов
  • Этот курс уже прошли 1 361 человек

Курс повышения квалификации

Особенности подготовки к проведению ВПР в рамках мониторинга качества образования обучающихся по учебному предмету «Биология» в условиях реализации ФГОС ООО

72 ч. — 180 ч.

от 2200 руб. от 1100 руб.
Подать заявку О курсе
  • Сейчас обучается 43 человека из 22 регионов
  • Этот курс уже прошли 395 человек

Мини-курс

Социальные и правовые аспекты эпохи Просвещения: влияние на образование сегодня

4 ч.

780 руб. 390 руб.
Подать заявку О курсе

Мини-курс

Политическое проектирование и международные отношения"

4 ч.

780 руб. 390 руб.
Подать заявку О курсе

Мини-курс

Психология личностного развития: от понимания себя к творчеству

6 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 63 человека из 28 регионов
  • Этот курс уже прошли 30 человек