Разработка программных средств
На первом шаге разработки программных средств формулируются технические требования к системе, и составляется блок-схема процесса решения нужных задач, которая обеспечит реализацию заданных требований. Блок-схема должна быть надлежащим образом структурирована, чтобы гарантировалась высокая эффективность логики программ. Для того, чтобы было легко ориентироваться в файлах на компьютере, каждую задачу помещают в отдельную директорию (папку). Написание программы тоже следует начинать в отдельной папке, тем более, что как будет показано далее даже простейшая программа состоит из нескольких файлов. В большинстве случаев программа состоит из нескольких программных модулей. Использование в составе одной программы нескольких программных модулей позволяет увеличить скорость трансляции программ, поручать написание программных модулей различным программистам, увеличивать понятность программ. Принцип разбиения единой программы на программные модули заключается в том, что для реализации работы с отдельными узлами аппаратуры пишутся отдельные подпрограммы, которые относительно слабо связаны с остальными частями программы. Эти подпрограммы можно выделить в отдельную программу, которую можно хранить в отдельном файле, и транслировать отдельно от остальной программы. Часто одни и те же модули могут входить в состав нескольких программ, выполняющих совершенно различные задачи, но использующие при этом одни и те же устройства. В качестве примера можно назвать работу с клавиатурой, индикацию различных видов информации, работу с последовательными портами, с АЦП, с ЦАП. Каждое из этих устройств может обслуживаться отдельными программными модулями. Этот список можно продолжать и далее, но для составления представления о программных модулях этого достаточно.
Создание загрузочного HEX-файла программы для загрузки в стенд. Для того чтобы микроконтроллер мог выполнить программу, нужно в специальном формате создать двоичный код этой программы и записать его в постоянное запоминающее устройство или, что в настоящее время более распространено, во флеш-память (в SDK-1.1 HEX-файл записывается вовнешнее ОЗУ стенда). Двоичный код программы записывается в постоянную память в формате так называемого HEX-файла, который создается после прохождения всех этапов трансляции и компоновки исходного текста программы. Для создание загрузочного HEX-файла,прежде всего, создаются исходные тексты отдельных модулей разрабатываемого ПО. Затем полученные тексты обрабатываются трансляторами с целью получения т.н. объектных файлов. Объектный файл содержит машинные колы соответствующего программного модуля, а также информацию, необходимую для объединения модулей. Если исходные тексты модулей написаны на разных языках, то для каждого языка требуется отдельный транслятор. В результате работы транслятора кроме объектного файла формируется файл листинга программы, содержащий отчет транслятора о работе. Обычно листинг содержит исходный текст модуля с пронумерованными строками. Если в результате трансляции возникли ошибки, информация о них также включается в листинг программы. На следующем этапе - этапе компоновки - полученные объектные файлы при помощи программы-компоновщика объединяются в абсолютный объектный файл (загрузочный модуль). В процессе работы компоновщик размешает программные модули в адресном пространстве памяти ЭВМ и настраивает ссылки между модулями. На данном этапе в разрабатываемое ПО могут быть включены модули от сторонних производителей, поставляемые в виде объектных файлов или библиотек. Это могут быть, например, процедуры, выполняющие математические функции, реализующие протоколы связи и т.п. Отчет о выполненной работе компоновщик помешает в т.н. МАР-файл, который обычно содержит таблицу распределения памяти контроллера. Если в процессе компоновки возникли ошибки, информация о них также включается в этот файл.
Полученный загрузочный модуль обычно может быть размешен в памяти контроллера (стенда) для последующего исполнения. Если программа должно работать в ОЗУ стенда, то стенд должна иметь в своем составе специальный загрузчик, позволяющий загрузить машинные коды HEX-файлаэтой программы в оперативную память (см. раздел 2.7).
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|