Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Link complete, no warnings




При обнаружении какой-либо ошибки компоновщик выводит на экран монитора сообщение, в котором указывается характер ошибки, а также предупреждение об аварийном завершении работы:

**XLINK ABORTED**

 

 

Отладка программы

 

3.5.1. Отладкой (debugging) называется процесс обнаружения, локализации и устранения ошибок в программе.

Отладка разрабатываемой программы выполняется с помощью программы-отладчика на IBM-совместимом компьютере или с помощью программно-аппаратных средств, обзор которых приведен в книге [ 2 ].

В настоящем учебном пособии рассмотрена отладка программы с помощью эмулятора ПЗУ, который является самым доступным для начинающих разработчиков аппаратным средством отладки. Эмулятор ПЗУ – это устройство, которое подклю-чается к панели ПЗУ, установленной на плате микропроцессорной системы, вместо микросхемы ПЗУ и полностью имитирует работу этой микросхемы. Исполняемая программа загружается в эмулятор ПЗУ с помощью компьютера, с которым эмулятор связан последовательным или параллельным каналом передачи данных..

Автор в своей повседневной работе использует эмулятор ПЗУ ЧИП32-02, созданный инженерами фирмы “ЭФО” (г. Санкт-Петербург). Этот эмулятор подключается к последовательному порту компьютера и предназначен для имитации работы микросхем EPROM типов 27(С)64, 27(С)128, 27(С)256. Техническое описание и инструкция по эксплуатации эмулятора приведены в прил. 2.

3.5.2. Для загрузки программы в эмулятор ПЗУ ЧИП-32-02 используется следующая командная строка:

chip.exe <*.hex> <EPROM-type> <COM-number>,

где chip.exe – имя исполняемого файла программы-загрузчика,

*.hex – имя hex-файла загружаемой программы,

EPROM-type – тип имитируемого ПЗУ (64, 128 или 256),

COM-number – номер последовательного порта компьютера (1 или 2),

к которому подключен эмулятор ПЗУ.

Запуск загруженной программы выполняется с помощью аппаратного сброса микропроцессорной системы.

3.5.3. При отладке программы полезно создать командный файл, в котором бы содержались все команды, необходимые для трансляции, компоновки и загрузки отлаживаемой программы в эмулятор ПЗУ.

Такой командный файл (присвоим ему имя make_all.bat) может состоять, например, из следующих команд:

A8051 program.msa

xlink 8051 program.r03 /O=program.hex

Chip.exe program.hex 256 2

Теперь достаточно запустить командный файл make_all.bat для того, чтобы программа, исходный модуль которой имеет имя program.msa, была оттранслирована, скомпонована и загружена в эмулятор ПЗУ, подключенный к порту COM2 компьютера.

3.5.4. После исправления ошибок, выявленных в процессе отладки, программу записывают в ПЗУ (с помощью специального программатора, работающего под управлением компьютера), эмулятор ПЗУ отключают от микропроцессорной системы, а в панель ПЗУ устанавливают микросхему с “зашитой” программой.

На этом завершается разработка программы и начинается ее эксплуатация.


ЛИТЕРАТУРА

Гилмор Ч. Введение в микропроцессорную технику: Пер. с англ. – М: Мир, 1984. – 334 с.

Гребнев В.В. Незнакомое знакомое семейство. Однокристальные микроЭВМ семейства MCS-51 фирмы Intel. – Псков: Псковская коммерческая палата, 1996. – 47 с.

Першиков В.М., Савинков В.М. Толковый словарь по информатике. – М.: Финансы и статистика, 1991. – 543 с.

Сташин В.В., Урусов А.В., Мологонцева О.Ф. Проектирование цифровых устройств на однокристальных микроконтроллерах. – М.: Энергоатомиздат, 1990. – 224 с.

MCS 51 Microcontroller Family User’s Manual.– Intel Corporation, 1994.


ПРИЛОЖЕНИЕ 1

СИСТЕМА КОМАНД МК СЕМЕЙСТВА MCS-51

Таблица П.1

Мнемокод КОП Б Ц Мнемокод КОП Б Ц
ACALL 0xxH       ADDC A,R6 3E    
ACALL 1xxH       ADDC A,R7 3F    
ACALL 2xxH       ADDC A,@R0      
ACALL 3xxH       ADDC A,@R1      
ACALL 4xxH       ADDC A,#data      
ACALL 5xxH B1     AJMP 0xxH      
ACALL 6xxH D1     AJMP 1xxH      
ACALL 7xxH F1     AJMP 2xxH      
ADD A,addr       AJMP 3xxH      
ADD A,R0       AJMP 4xxH      
ADD A,R1       AJMP 5xxH A1    
ADD A,R2 2A     AJMP 6xxH C1    
ADD A,R3 2B     AJMP 7xxH E1    
ADD A,R4 2C     ANL A,addr      
ADD A,R5 2D     ANL A,R0      
ADD A,R6 2E     ANL A,R1      
ADD A,R7 2F     ANL A,R2 5A    
ADD A,@R0       ANL A,R3 5B    
ADD A,@R1       ANL A,R4 5C    
ADD A,#data       ANL A,R5 5D    
ADDC A,addr       ANL A,R6 5E    
ADDC A,R0       ANL A,R7 5F    
ADDC A,R1       ANL A,@R0      
ADDC A,R2 3A     ANL A,@R1      
ADDC A,R3 3B     ANL A,#data      
ADDC A,R4 3C     ANL addr,A      
ADDC A,R5 3D     ANL addr,#data      

 

Таблица П.1 (продолжение)

Мнемокод КОП Б Ц Мнемокод КОП Б Ц
ANL C,bit       DEC R7 1F    
ANL C,/bit B0     DEC @R0      
CJNE A,addr,rel B5     DEC @R1      
CJNE A,#data,rel B4     DIV AB      
CJNE R0,#data,rel B8     DJNZ addr,rel D5    
CJNE R1,#data,rel B9     DJNZ R0,rel D8    
CJNE R2,#data,rel BA     DJNZ R1,rel D9    
CJNE R3,#data,rel BB     DJNZ R2,rel DA    
CJNE R4,#data,rel BC     DJNZ R3,rel DB    
CJNE R5,#data,rel BD     DJNZ R4,rel DC    
CJNE R6,#data,rel BE     DJNZ R5,rel DD    
CJNE R7,#data,rel BF     DJNZ R6,rel DE    
CJNE @R0,#data,rel B6     DJNZ R7,rel DF    
CJNE @R1,#data,rel B7     INC A      
CLR A E4     INC addr      
CLR bit C2     INC DPTR A3    
CLR C C3     INC R0      
CPL A F4     INC R1      
CPL bit B2     INC R2 0A    
CPL C B3     INC R3 0B    
DA A D4     INC R4 0C    
DEC A       INC R5 0D    
DEC addr       INC R6 0E    
DEC R0       INC R7 0F    
DEC R1       INC @R0      
DEC R2 1A     INC @R1      
DEC R3 1B     JB bit,rel      
DEC R4 1C     JBC bit,rel      
DEC R5 1D     JC rel      
DEC R6 1E     JMP @A+DPTR      

 

Таблица П.1 (продолжение)

Мнемокод КОП Б Ц Мнемокод КОП Б Ц
JNB bit,rel       MOV addrD,addrS      
JNC rel       MOV bit,C      
JNZ rel       MOV C,bit A2    
JZ rel       MOV DPTR,#data16      
LCALL addr16       MOV R0,A F8    
LJMP addr16       MOV R0,addr A8    
MOV A,addr E5     MOV R0,#data      
MOV A,R0 E8     MOV R1,A F9    
MOV A,R1 E9     MOV R1,addr A9    
MOV A,R2 EA     MOV R1,#data      
MOV A,R3 EB     MOV R2,A FA    
MOV A,R4 EC     MOV R2,addr AA    
MOV A,R5 ED     MOV R2,#data 7A    
MOV A,R6 EE     MOV R3,A FB    
MOV A,R7 EF     MOV R3,addr AB    
MOV A,@R0 E6     MOV R3,#data 7B    
MOV A,@R1 E7     MOV R4,A FC    
MOV A,#data       MOV R4,addr AC    
MOV addr,A F5     MOV R4,#data 7C    
MOV addr,R0       MOV R5,A FD    
MOV addr,R1       MOV R5,addr AD    
MOV addr,R2 8A     MOV R5,#data 7D    
MOV addr,R3 8B     MOV R6,A FE    
MOV addr,R4 8C     MOV R6,addr AE    
MOV addr,R5 8D     MOV R6,#data 7E    
MOV addr,R6 8E     MOV R7,A FF    
MOV addr,R7 8F     MOV R7,addr AF    
MOV addr,@R0       MOV R7,#data 7F    
MOV addr,@R1       MOV @R0,A F6    
MOV addr,#data       MOV @R0,addr A6    

Таблица П.1 (продолжение)

Мнемокод КОП Б Ц Мнемокод КОП Б Ц
MOV @R0,#data       POP addr D0    
MOV @R1,A F7     PUSH addr C0    
MOV @R1,addr A7     RET      
MOV @R1,#data       RETI      
MOVC A,@A+DPTR       RL A      
MOVC A,@A+PC       RLC A      
MOVX A,@DPTR E0     RR A      
MOVX A,@R0 E2     RRC A      
MOVX A,@R1 E3     SETB bit D2    
MOVX @DPTR,A F0     SETB C D3    
MOVX @R0,A F2     SJMP rel      
MOVX @R1,A F3     SUBB A,addr      
MUL AB A4     SUBB A,R0      
NOP       SUBB A,R1      
ORL A,addr       SUBB A,R2 9A    
ORL A,R0       SUBB A,R3 9B    
ORL A,R1       SUBB A,R4 9C    
ORL A,R2 4A     SUBB A,R5 9D    
ORL A,R3 4B     SUBB A,R6 9E    
ORL A,R4 4C     SUBB A,R7 9F    
ORL A,R5 4D     SUBB A,@Ri      
ORL A,R6 4E     SUBB A,@R1      
ORL A,R7 4F     SUBB A,#data      
ORL A,@R0       SWAP A C4    
ORL A,@R1       XCH A,addr C5    
ORL A,#data       XCH A,R0 C8    
ORL addr,A       XCH A,R1 C9    
ORL addr,#data       XCH A,R2 CA    
ORL C,bit       XCH A,R3 CB    
ORL C,/bit A0     XCH A,R4 CC    

Таблица П.1 (продолжение)

Мнемокод КОП Б Ц Мнемокод КОП Б Ц
XCH A,R5 CD     XRL A,R3 6B    
XCH A,R6 CE     XRL A,R4 6C    
XCH A,R7 CF     XRL A,R5 6D    
XCH A,@R0 C6     XRL A,R6 6E    
XCH A,@R1 C7     XRL A,R7 6F    
XCHD A,@R0 D6     XRL A,@R0      
XCHD A,@R1 D7     XRL A,@R1      
XRL A,addr       XRL A,#data      
XRL A,R0       XRL addr,A      
XRL A,R1       XRL addr,#data      
XRL A,R2 6A            

Условные обозначения:

КОП – код операции,

Б – количество байтов в машинном коде команды,

Ц – количество машинных циклов,

addr – прямой адрес байта (число или символическое имя),

bit – прямой адрес бита (число или символическое имя),

data – значение константы (число),

rel – 8-битный относительный адрес (метка),

addr11 – 11-битный абсолютный адрес (метка),

addr16 – 16-битный абсолютный адрес (метка),

A – аккумулятор

PC – программный счетчик.


ПРИЛОЖЕНИЕ 2

ЭМУЛЯТОР ПЗУ ЧИП32-02

НАЗНАЧЕНИЕ

1.1 Эмулятор ПЗУ ЧИП32-02 (в дальнейшем эмулятор) предназначен для аппаратной имитации работы микросхем ПЗУ с ультрафиолетовым стиранием и объемом памяти 8Кх8, 16Кх8 и 32Кх8 бит.

1.2 Область применения эмулятора – отладка программного обеспечения микропроцессорных систем.

1.3 Эмулятор рассчитан на работу с внешним IBM-совместимым персональным компьютером.





Поделиться с друзьями:


Дата добавления: 2015-11-05; Мы поможем в написании ваших работ!; просмотров: 838 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Вы никогда не пересечете океан, если не наберетесь мужества потерять берег из виду. © Христофор Колумб
==> читать все изречения...

2307 - | 2122 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.009 с.