реклама на сайте
подробности

 
 
> подключение асмовских файлов, что к чему в скрипте линкера
Antonii
сообщение Apr 21 2008, 22:21
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 21
Регистрация: 5-03-07
Пользователь №: 25 877



добрый день, вопрос такой.
пишу на асме в мплаб 7.52, хочу подключить к основному коду дополнительный файл.
добавляю в проект 1-й файл, инклудом включаю второй асмовский файл.
подключаю скрипт линкера из мплабовских библиотек.
далее компилирую но программа не линкуется. подключаемые файлы компилируются нормально, без ошибок.
я понимаю что надо в скрипте линкера добавить какую то область памяти для асмовских файлов, но не могу найти как это сделать. перерыл хелп в мплабе, безуспешно, хоть какоую доку может кто подскажет где будет описанно что и куда в линкере пишется и хоть в этом скрипте многое интуитивно понятно, но все же.
а может косяк в чем то другом?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
vanner
сообщение Apr 22 2008, 04:57
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 48
Регистрация: 23-10-05
Пользователь №: 10 016



Не нужно инклюдить ассемблерный файл. В проект добавляются нужные asm файлы, в тех файлах, функции или переменные в которых нужно видеть в другом модуле, эти функции описываются директивой global. Чтобы вызвать функцию или переменную из другого модуля, нужно описать ее как extern. Это удобно сделать в файл inc, для каждого модуля. Вот этот inc файл и нужно инклюдить. Скрипт линкера менять не требуется.
Go to the top of the page
 
+Quote Post
Antonii
сообщение Apr 22 2008, 10:15
Сообщение #3


Участник
*

Группа: Новичок
Сообщений: 21
Регистрация: 5-03-07
Пользователь №: 25 877



Цитата(vanner @ Apr 21 2008, 21:57) *
Не нужно инклюдить ассемблерный файл. В проект добавляются нужные asm файлы, в тех файлах, функции или переменные в которых нужно видеть в другом модуле, эти функции описываются директивой global. Чтобы вызвать функцию или переменную из другого модуля, нужно описать ее как extern. Это удобно сделать в файл inc, для каждого модуля. Вот этот inc файл и нужно инклюдить. Скрипт линкера менять не требуется.

посмотрел хелп на extern, а там пример приведен тот что мне нужен, спасибо за наводочку
все получилосьbeer.gif
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 14:03
Рейтинг@Mail.ru


Страница сгенерированна за 0.01365 секунд с 7
ELECTRONIX ©2004-2016