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

 
 
> Использование асмовых вставок в Keil uVision 3, как првильно подключать модули
alvol
сообщение Nov 25 2007, 22:10
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 153
Регистрация: 15-05-06
Из: Николаев
Пользователь №: 17 119



Появилась необходимость сделать асмовую вставку в сишный код.
Для этого предлагается использовать директивы:
#pragma asm
...
#pragma endasm

Когда делаешь что-то подобное в проекте, необходимо в Source Group на файле в опциях указать галочки
Generate Assembler SCR files
Assemble SCR files
тогда начинает компилировать код, но делать вставки в подключаемых файлах через #include не разрешает..
если файл принудительно добавить в проект как файл main.c и указать єти же опции галочками, то
вроде тоже компилирует, но при этом переменные, которые были объявлены в этом файле не видны в других инклудах, как это было раньше

Расскажите ненмого подробней, как правильно делать асмовые вставки, чтоб их можно было компилировать в любом файле или же как правильно подключать модули, чтоб можно было корректно дергать из них функции и переменные и использовать в других модулях. Насколько я понял функции в других инклудах можно использовать если описать их прототип в файле, где и собираюсь использовать, но как быть с перменными? Их так просто использовать не хочет, если они описаны в файлах, добавленных к Source Group. Писать все в одном файле не хочется.

Каждый подключаемый файл описываю в виде:

// FILE.C --имя файла
// тут описываю прототипы функций из других модулей
void XXX();

//*****************************************************************************

#ifndef FILEС
#define FILEС

#include "main.h"
#include "ХХХХ.c" // для использования функций из других модулей

.....
#endif


Как должно быть?
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 27th July 2025 - 20:36
Рейтинг@Mail.ru


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