Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпоры теория 113019.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
379.66 Кб
Скачать

5.Особенности программирования и отладки встроенных систем.

Любая механическая или электрическая система, которая имеет в своем составе устройство управления, выполненное на основе вычислителя, называется встраиваемой системой. Типичными примерами встроенных систем являются телефонные станции, системы вооружения, роботы, медицинское оборудование и т.д. Все вычислители обязательно состоят из следующих функциональных блоков: центрального процессора (ЦП), запоминающего устройства (ЗУ) устройств ввода/вывода (УВВ) и межмодульных магистралей. Центральный процессор содержит в себе арифметико–логическое устройство (АЛУ), устройство управления и некоторое количество регистров. АЛУ выполняет операции над данными, которые представлены в цифровом коде.

6. Компоновка программных модулей и запись программной кодировки в целевое устройство.

Для получения исполняемой программы из исходного кода необходимо обработать исходный файл компилятором и затем редактором связей (компоновщиком).

Компилятор - это программа, которая считывает текст программы из файла и преобразует его в последовательность команд на языке, понятном системе. Редактор связей соединяет программные модули и определяет способ загрузки полученной программы в память. Система создает окончательный исполняемый код программы в несколько этапов:

1)Если файл содержит исходный код на языке высокого уровня, компилятор преобразует его в объектный код.

2)Если файл содержит код на языке ассемблера, ассемблер преобразует его в объектный код.

3)Редактор связей связывает объектные файлы, созданные на предыдущем этапе, со всеми остальными объектными файлами, указанными в команде компилятора.

В операционной системе AIX можно создавать программы и на других языках, в том числе на языках FORTRAN, Pascal и на языке ассемблера. Инструкции по компиляции и компоновке таких программ приведены в документации по этим языкам программирования.

Модули программы могут быть написаны на разных языках. Программа должна содержать основную функцию main, которая должна отвечать за вызов всех прочих процедур и модулей. Для компиляции программ применяется команда cc.

7. Понятие структурного и модульного программирования.

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

При таком подходе важна грамотная декомпозиция задачи, что достигается путем использования ограниченного числа управляющих конструкций (следование, ветвление, цикл).

1)последовательное исполнение — однократное выполнение операций в том порядке, в котором они записаны в тексте программы;

2)ветвление — однократное выполнение одной из двух или более операций, в зависимости от выполнения некоторого заданного условия;

3)цикл

Обязательным элементом структурного программирования является наличие подпрограмм. Чаще всего во многих языках программирования роль подпрограмм выполняют только функции.

Подпрограмма – это обособленный участок кода, который решает одну небольшую задачу. Подпрограммы как раз и являются результатом декомпозиции основной большой задачи. Код подпрограммы располагается либо в отдельном файле (модуле), либо в начале кода основной программы. Из текста программы доступ к коду функции или процедуры осуществляется путем вызова их по имени. Вызов происходит в том месте программы, где следует использовать код данной функции.

Структурное программирование делает программу более понятной. Ее легче отлаживать и сопровождать. Разные модули (в которых содержатся функции и процедуры) могут разрабатывать разные люди, в результате чего проще организовать коллективное решение одной большой задачи, т.к. каждый будет решать свою подзадачу.

Модульное программирование – это программирование, при котором любая сложная (большая) программа представляется в виде совокупности логически связанных модулей.

Существует два подхода к составлению сложных программ:

1)программирование «сверху вниз», при этом составляется программа, а затем отдельные ее части оформляются в виде подпрограмм или модулей;

2)программирование «снизу вверх», при этом разрабатываются отдельные подпрограммы или модули, из которых конструируется программа.

Выбор метода зависит от типа решаемой задачи, условий разработки (один программист или группа), наличия аналогов и т.д.

Модули являются хорошим инструментом для разработки прикладных программ, пакетов, личных библиотек.