Краткая теоретическая справка
Стр 1 из 6Следующая ⇒ Процесс подготовки исполняемых программ для сигнального процессора TMS320C50 можно разделить на четыре следующих этапа: 1) создание одного или нескольких модулей-файлов (имя файла).asm, с исходным текстом программы, написанным на языке ассемблера; 2) трансляция полученного файла (имя файла).asm программой DSPA.EXE и создание объектного файла (имя файла).obj и листинга (имя файла).lst. При этом, помимо перевода текста программы, производится проверка исходного текста программы на наличие синтаксических ошибок ассемблера, сообщения о которых приводятся в листинге; 3) написание командного файла компоновки (имя файла).сmd c указанием компонуемых программных модулей, порядка соединения секций и используемых областей памяти для размещения этих секций; 4) компоновка модулей и секций с помощью компоновщика DSPALNK.EXE и получение выходного файла (имя файла).out и файла (имя файла).map, позволяющего контролировать правильность распределения памяти и соединения секций, заданные в командном файле (имя файла).cmd. Примером программы, на базе которой будут отрабатываться основные шаги по подготовке исполняемых программ для TMS320С50, является программа с именем SIM. Она представлена в файле sim.asm и состоит из нескольких частей, в каждой из которых реализуется некоторая операция. В таблице 2.1 представлена карта размещения в памяти данных переменных, используемых в программе. Т а б л и ц а 2.1
Ниже представлен полный текст программы SIM: ; Программа выполнения простейших операций на TMS320C50
; Задание значений переменных в памяти данных
; Резервирование области памяти размером 6 ячеек
; Таблица векторов прерывания
; Основная программа .text
Для компоновки представленной выше программы используется командный файл sim.cmd, в котором задается одно из возможных распределений памяти, используемое в работе по изучению симулятора и представленное ниже.
-v0 /* версия (цифра 0) */ -e RESET -m sim.map /* Задание имени файла с таблицей компоновки *.мар* / -o sim.out /* Задание имени выходного файла *.out (буква о) */ sim.obj /* Компонуемый объектный файл, сформированный программой dspa.exe */ MEMORY { PAGE 0: /* Память программ */ /* Блок для векторов прерываний в памяти */ VECS: origin = 0x0000, length = 0x02 /* Блок для размещения программ в памяти процессора */ PROG: origin = 0x0040, length = 0x0200 PAGE 1: /* Память данных */ /* Размещения регистров процессора, отраженных на память в памяти процессора */
REGS: origin = 0x0000, length = 0x0060 /* Блок для размещения данных в памяти данных процессора */ BLOCK0: origin = 0x0800, length = 0x0200 } SECTIONS { Vectors: {} > VECS PAGE 0 .text: {} > PROG PAGE 0 .data: {} > BLOCK0 PAGE 1 .bss: {} > BLOCK0 PAGE 1 /* Секции.data и.bss будут размещаться в памяти данных, начиная с адреса 800h подряд непосредственно друг за другом, занимая количество ячеек в соответствии со своими реальными размерами */ } Таким образом, на основе объектного файла SIM.OBJ, полученного после трансляции, и под управлением SIM.CMD, программой компоновщика DSPLNK.EXE формируется выходной файл SIM.OUТ, который будет использоваться при работе с программой симулятора. Программа компоновщика формирует также таблицу реально полученного распределения памяти SIM.MAP. Этот файл позволяет контролировать инициализацию начальных адресов и количество ячеек памяти, используемых для хранения программы и данных в процессоре, а также правильность расположения и соединения секций программы.
Читайте также: I. Теоретическая часть. Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|