Например TDA7294

Форум РадиоКот • Просмотр темы - Подключение библиотеки на asm в Keil
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Пт дек 19, 2025 05:32:01

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Подключение библиотеки на asm в Keil
СообщениеДобавлено: Пт май 12, 2023 09:13:36 
Прорезались зубы

Зарегистрирован: Пт ноя 22, 2013 22:06:15
Сообщений: 247
Откуда: Липецк
Рейтинг сообщения: 0
Прошу помощи. Есть оптимизированная библиотека для работы с фиксированной точкой для Cortex-M3/M4, написанная на ассемблере: https://github.com/warpco/fix32. Не получается подключить ее в проект на Keil. В библиотеке есть make-файл. Наверное его надо куда то подоткнуть, но непонятно куда.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Подключение библиотеки на asm в Keil
СообщениеДобавлено: Пт май 12, 2023 10:11:19 
Электрический кот
Аватар пользователя

Карма: 4
Рейтинг сообщений: 135
Зарегистрирован: Сб мар 09, 2013 11:29:22
Сообщений: 1029
Откуда: 40RUS, Жуков
Рейтинг сообщения: 0
__asm
{
m1:
MOV cntr, Ratio //
NOP //
NOP
NOP //++++++++++++++++
//NOP //++++++++++++++++
m2:
SUBS cntr,cntr,1
BNE m2

LDRB rez,[#0x50000040] //Read ADC1 ,ADC1_2[#0x50000340]
STRB rez,[addressbuffer], #1
CMP addressbuffer, endb
BCC m1
}


Как то так.

_________________
IVL ex UA6PJ


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Подключение библиотеки на asm в Keil
СообщениеДобавлено: Пт май 12, 2023 10:57:41 
Прорезались зубы

Зарегистрирован: Пт ноя 22, 2013 22:06:15
Сообщений: 247
Откуда: Липецк
Рейтинг сообщения: 0
Это вы показали, как делать ассемблерную вставку? Но я в ассемблере не очень. Да и хотелось бы использовать готовую библиотеку штатным образом посредством вызова из кода на Си уже написанных функций. Она вроде так и позиционируется. Библиотека есть, заголовочный файл есть, сами функции на ассемблере есть. Нужна помощь, как это интегрировать в проект. Нужно что-то сделать с make-файлом, но в кейле своего make-файла я не нашел, чтобы добавить туда данные из библиотечного.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Подключение библиотеки на asm в Keil
СообщениеДобавлено: Сб май 13, 2023 16:03:41 
Прорезались зубы

Зарегистрирован: Пт ноя 22, 2013 22:06:15
Сообщений: 247
Откуда: Липецк
Рейтинг сообщения: 0
Хорошо. Если подключить библиотеку целиком пока не получается, то как прошу подсказать, как правильно оформить ассемблерную вставку исходя из прототипа и реализации одной функции, например, умножения.

Прототип:
fix32_t fix32_mul(fix32_t a, fix32_t b, sint_t exp);

Реализация:
.section .fix32_mul, "x"
.align

fix32_mul:
smull r0, r1, r0, r1
lsrs r0, r0, r2
rsb r2, r2, #32
lsl r1, r1, r2
adc r0, r0, r1
bx lr


.end

Что в какой регистр должно попасть на входе и где результат на выходе?


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Не в сети
 Заголовок сообщения: Re: Подключение библиотеки на asm в Keil
СообщениеДобавлено: Сб май 13, 2023 18:37:08 
Друг Кота
Аватар пользователя

Карма: 75
Рейтинг сообщений: 621
Зарегистрирован: Ср дек 24, 2008 09:58:58
Сообщений: 3764
Рейтинг сообщения: 1
Медали: 3
Мявтор 1-й степени (1) Мявтор 2-й степени (1) Мявтор 3-й степени (1)
Поместите след. код в файл, скажем, mul.s
Код:
   AREA    |.text|, CODE, READONLY   ; section in the CODE area
;----------
;fix32_t fix32_mul(fix32_t a, fix32_t b, sint_t exp);    r0=a, r1=b, r2=exp
fix32_mul   PROC
   EXPORT   fix32_mul
   smull    r0, r1, r0, r1      ; r1:r0 = r0 * r1
   lsrs       r0, r0, r2
   rsb       r2, r2, #32
   lsl       r1, r1, r2
   adc       r0, r0, r1         ; return value in R0
   bx       lr
   ENDP

   END   


В хедере mul.h поместите строку
extern fix32_t fix32_mul(fix32_t a, fix32_t b, sint_t exp);


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Подключение библиотеки на asm в Keil
СообщениеДобавлено: Сб май 13, 2023 19:59:01 
Прорезались зубы

Зарегистрирован: Пт ноя 22, 2013 22:06:15
Сообщений: 247
Откуда: Липецк
Рейтинг сообщения: 0
Ser60 писал(а):
Поместите след. код в файл, скажем, mul.s

Спасибо!!! Все заработало!!!


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 17


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y