Електроний посібник з
дисципліни "Мікропроцесорні системи"
 
Дипломный проект
                                    6.8. Редактор зв'язків для компілятора мікроконтролера сімейства МК51

  Далі під лінкером скрізь мається на увазі програма редактора зв'язків. Лінкер дозволяє користувачеві записати програму мови асемблера, що містить кілька програмних модулів. Лінкер ураховує зовнішні посилання й виконує розміщення в адресному просторі. Він здатен створювати вихідні файли для всіх найбільш застосовуваних форматів.
  Лінкер може бути викликаний у діалоговому, командному режимах або під керуванням з файлу. Вихідний формат вибирається директивою у вихідному файлі або в параметрах команди LINK. Повний опис можливостей і методики роботи з лінкером викладається в керівництві обсягом 38 сторінок, тому для практичної роботи розглядається тільки режим командного рядка.
РЕЖИМ КОМАНДНОГО РЯДКА.
  Лінкер  може  бути  викликаний  у  командному  рядку.  Формат  такої команди показано нижче з наступним розшифруванням елементів: Drive:\Path\Link.exe [-q]-c file1[-Innnn]file2[-Innnn]...[-ofile][-Llibfile][-options]
-q Лінкер у режимі Quit. У цьому випадку видається тільки повідомлення про помилки на консоль.
-c Потрібен для вказівки, що буде використано режим командного рядка, а не керуючого файлу. Слідом за ключем -І йде список вхідних файлів, що складається (для наведеного рядка) з файлів fil1 і fil2. За кожним файлом може випливати адреса зсуву секцій, що починається з -I. Якщо ця адреса відсутня, то поточна секція є продовженням попередньої з тим самим іменем.
-o Використовується для вказівки вихідного файлу. Цей елемент не обов'язковий. Якщо він відсутній, лінкер створить вихідний файл із тим самим іменем, що й перший вхідний, та з розширенням, обумовленим типом формату, що генерується.
-L Використовується для задання бібліотек. Максимум може бути зазначено
50 бібліотек.
-options. Визначає додаткові параметри. Знак мінус потрібен на початку списку, і в нього може входити стільки параметрів, скільки необхідно (детально це описано в «Параметри Лінкера»).
ПАРАМЕТРИ ЛІНКЕРА:
Параметри вказуються в діалоговому режимі після імені бібліотечних файлів. Вони можуть бути задані й у режимі керування з файлу й у командній Mode. Коли зазначено кілька конкуруючих параметрів, останній скасовує дію попереднього.
D Створити дисковий файл, що містить усі помилки лінкування, символьну таблицю глобальних змінних і карту пам'яті (MAP) завантаження. Файл має те саме ім'я, що й вихідний файл, але з розширенням map.
S Створити символьний файл для процесу налагодження. Цей файл містить усі глобальні символи і їх величини. Кожний символ має у довжину 32 букви.
A Створити символьний файл, але із символами в 10 букв. Він використовується для сумісності з лінкером 2500 A.D. версії 3.0.
M Створити символьний файл із метою налагодження у форматі Microtek. Він містить усі символи як глобальні, так і локальні. Для того, щоб цей формат міг бути створений, у вихідному файлі повинна бути присутня директива SYMBOLS ON.
Z Створити символьний файл із метою налагодження у форматі ZAX. Цей файл містить локальні й глобальні змінні. Для того, щоб цей формат міг бути створений, у вихідному файлі повинна бути присутня директива SYMBOLS ON.
X      Створити виконуваний вихідний файл.
H      Створити шістнадцятковий файл формату Intel.
E Створити шістнадцятковий файл розширеного формату Intel. T Створити шістнадцятковий файл формату Tektronix.
1 Створити вихідний файл формату S19 фірми Motorola.
2 Створити вихідний файл формату S28 фірми Motorola.
3 Створити вихідний файл формату S37 фірми Motorola.
ПРИКЛАД. Є об'єктний файл first.obj, необхідно виконати процес лінкування зі створенням виконуваного (у двійковому коді) вихідного файлу.
Для цього необхідно виконати наступну команду: Drive:\Path\link.exe -c first.obj -x
При цьому буде створено вихідний файл із розширенням «tsk» (у нашім прикладі first.tsk), код програми буде розташовано з адреси 0000H (за замовчуванням).