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

 
 
 
Reply to this topicStart new topic
> Как вызвать ассемблерный код из с++ на ARM ?, ARM
sashad
сообщение Sep 14 2011, 13:43
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 16
Регистрация: 6-07-05
Пользователь №: 6 587



Как вызвать ассемблерный код из с++ на ARM9 ?

Сообщение отредактировал sashad - Sep 14 2011, 13:46
Go to the top of the page
 
+Quote Post
KRS
сообщение Sep 14 2011, 15:48
Сообщение #2


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



конкретнее вопрос задайте, какой asm, inline или внешний...
если внешний то обычно функцию надо как extern "C" объявить.
А вообще, в даташите есть целый раздел по этому поводу.

Calling assembler routines from C++ в EWARM_DevelopmentGuide
Go to the top of the page
 
+Quote Post
sashad
сообщение Sep 15 2011, 02:24
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 16
Регистрация: 6-07-05
Пользователь №: 6 587



Цитата(KRS @ Sep 14 2011, 19:48) *
конкретнее вопрос задайте, какой asm, inline или внешний...
если внешний то обычно функцию надо как extern "C" объявить.
А вообще, в даташите есть целый раздел по этому поводу.

Calling assembler routines from C++ в EWARM_DevelopmentGuide


Asm внешний , оформлен в виде отдельного файла проекта.
В Даташит как раз расмотрен пример работы с инлайн asm, правда я тока на примеры смотрел, мож в тексте где и написано.


Конкрентый вопрос:
Линкер при компоновке не может обнаружить метку входа в ассемблерный код. Хотя она объявлена как паблис в асм файле.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Sep 15 2011, 05:43
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (sashad @ Sep 15 2011, 05:24) *
В Даташит как раз расмотрен пример работы с инлайн asm, правда я тока на примеры смотрел, мож в тексте где и написано.
В руководстве рассмотрен вызов внешних функций. Причем и для С и для С++. С примерами, которые вы как бы смотрели.
QUOTE (sashad @ Sep 15 2011, 05:24) *
Линкер при компоновке не может обнаружить метку входа в ассемблерный код. Хотя она объявлена как паблис в асм файле.
Надо читать. Причем не только текст к примерам, но и то, что вам отвечают на форуме. KRS ответил почему так происходит.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 2nd August 2025 - 15:36
Рейтинг@Mail.ru


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