НА ЯЗЫКЕ СИ, КОМПИЛЯТОРЫ И СИМУЛЯТОРЫ
При проектировании микропроцессорного устройства вы определились с тем, что оно должно делать, нарисовали схему устройства, физически способную выполнить вашу задачу. Программу для МК удобно создавать с помощью специальных программных средств – компиляторов. Компилятор позволяет написать программу для МК на универсальном языке программирования Си (кстати, для МК требуется всего 3-5% всех его возможностей).
Текст программы, набранный в компиляторе, называют исходным кодом. Компилятор проверяет отсутствие ошибок в набранном исходнике и, если ошибок нет, преобразует исходник (компилирует его) в специальный файл обычно с расширением .hex – его называют "прошивка".
Прошивку с помощью программатора (для AVR это, например, пять проводков с параллельного порта ПК) помещают во FLASH-память программ МК и при необходимости частично в его EEPROM.
Очень трудно написать программу сразу правильно и без ошибок. Поэтому важнейшим этапом разработки электронного устройства является отладка программы МК.
Для отладки вы включаете устройство с прошитым МК, находите отклонения от требуемого алгоритма, выявляете ошибки, вносите соответствующие изменения в исходный текст программы и опять компилируете, прошиваете новый .hex в МК и так до победного конца – т.е. до тех пор, пока устройство не заработает так, как вам нужно.
Не всегда допустимо включить устройство, не зная наверняка, правильно ли работает программа МК – в некоторых случаях могут произойти серьезные и дорогостоящие повреждения обвязки МК и другой аппаратуры. Иногда требуется проверить работу МК, не имея вообще реально спаянной схемы и самого МК. В этих случаях рекомендуется использовать специальные программные средства – симуляторы.
Симулятор приблизительно моделирует на персональном компьютере (ПК) работу "прошитого" вашей программой МК и его обвязки – т.е. электронных компонентов, окружающих МК по схеме устройства.
Кроме того, симуляторы позволяют:
- останавливать программу, организуя точки останова;
- выполнять программу по шагам;
- видеть, как именно происходит выполнение программы;
- наблюдать и изменять значения в регистрах МК;
- наблюдать текущие значения переменных;
- использовать виртуальные измерительные приборы;
- симулировать работу МК с обвязкой, включающей различные электронные компоненты и устройства;
- виртуально обмениваться информацией с терминалом на ПК;
- делать еще много полезного!
Для начинающих наиболее удобен в работе компилятор Си для AVR CodeVisionAVR (или CVAVR). Компилятор содержит очень понятный и мощный генератор начального кода программы по вашим потребностям в конфигурации периферии МК AVR – называется он CodeWizardAVR (будем называть его мастером).
Рис. 6.1 – Окно мастера создания нового проекта
Вам нужно просто выбрать МК, частоту тактирования, затем открыть ярлыки тех устройств МК, которые будете использовать, и установить нужные параметры их работы.
Затем мастер создаст файл проекта .prj и файл исходного текста программы на языке Си с расширением .c – в нем уже будет содержаться код на Си, конфигурирующий МК по сделанному вами "заказу". Вам нужно будет добавить лишь код, реализующий нужный вам алгоритм работы устройства.
Используйте этот мастер и далее по ходу работы программы – точно так же как и в начале, но не генерируйте новые файлы, а просто откройте меню "Program Preview" и посмотрите нужный кусок программы на Си, возьмите, что вам нужно и вставьте в вашу программу.
Компилятор CodeVisionAVR имеет и встроенный программный модуль для прошивки МК и конфигурационных ячеек (Fuse Bits - фьюзов) прямо в схеме. Фьюзы расположены в отдельном адресном пространстве, доступном только при программировании.
Для полного цикла разработки устройства достаточно только одного компилятора CodeVisionAVR. В компиляторах есть отличные примеры программ на Си для наиболее часто встречающихся задач на МК. В CodeVisionAVR примеры находятся в папке CVAVR\Examples. Примеры – это исходные тексты программ на Си для управления периферией МК и интерфейса с популярными внешними устройствами. Исходники снабжены подробными комментариями. Комментарии – это то, что написано
после двух косых черточек // – в одну строку, либо между /* и */ – в одну или несколько строк.
Вы инсталлировали компилятор Си для AVR CodeVisionAVR и получили файл-прошивку для МК. Естественно, хотите узнать – будет ли прошивка, а значит ваша программа, работать в МК так, как вам нужно. Для этого удобно использовать специальные программы для ПК, называемые симуляторами. Вы можете проверить работу не только программы, загруженной в модель МК, но и работу модели целого электронного устройства!
Установите на ПК симулятор для AVR – VMLAB. В поставку VMLAB включено множество примеров программ и прошивок для немедленной симуляции-эмуляции устройства с МК. Примеры находятся в папках: Tutorial и AVR_demo. Есть пример работы VMLAB с CodeVisionAVR. Откройте файл проекта C:\VMLAB\AVR_demo\codevisi.prj и посимулируйте. При симуляции вы увидите движение по исходному тексту программы на Си, и можете расставлять точки останова программы, наблюдать за изменениями значений в регистрах МК, посмотреть осциллограммы сигналов на ножках МК и многое другое.
На симуляторе VMLAB мы будем проверять работу программы для разрабатываемого устройства. Файл-прошивку для МК (расширение .hex), созданный в компиляторе, будем прогонять в симуляторе МК с внешними компонентами и смотреть, что работает, что нет, и как работает. При необходимости будем корректировать исходный текст программы на Си, опять компилировать, и так по кругу до достижения правильной работы устройства. Этот процесс и называется отладкой программы.
Дата добавления: 2016-01-09; просмотров: 1402;