Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: double для 51
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры > MCS51
Ihar
Ищу компилятор с поддержкой переменных типа double.
Пользуюсь Кейл, но он не поддерживает double.
Есть версия Raisonance toolchain 6.4.10 с такой поддержкой.
Но староватая и с определенными недостатками в сравнении с Кейл.
Может кто имеет более свежую полную от Raisonance?
А IAR поддерживает double?
Если да, то дайте ссылку или перешлите на майл.
msn
Цитата(Ihar @ Oct 24 2007, 16:24) *
Ищу компилятор с поддержкой переменных типа double.
Пользуюсь Кейл, но он не поддерживает double.
Есть версия Raisonance toolchain 6.4.10 с такой поддержкой.
Но староватая и с определенными недостатками в сравнении с Кейл.
Может кто имеет более свежую полную от Raisonance?
А IAR поддерживает double?
Если да, то дайте ссылку или перешлите на майл.

Если не секрет, зачем double (8 байт) точность?
Для каких задач на 8bit 8051 не хватает float?
artemm
Цитата(Ihar @ Oct 24 2007, 17:24) *
Ищу компилятор с поддержкой переменных типа double.
Пользуюсь Кейл, но он не поддерживает double.
Есть версия Raisonance toolchain 6.4.10 с такой поддержкой.
Но староватая и с определенными недостатками в сравнении с Кейл.
Может кто имеет более свежую полную от Raisonance?
А IAR поддерживает double?
Если да, то дайте ссылку или перешлите на майл.

да, IAR поддерживает double. Скачай с сайта иара пробную версию.
gala
Ищу библиотеку float/double для апп.умножителей 16х16 MAC C8051F120,360
AndreyS
Цитата(gala @ Jun 5 2008, 18:28) *
Ищу библиотеку float/double для апп.умножителей 16х16 MAC C8051F120,360


А зачем библиотека??? Скачайте новую версию Keil (правда если вы в Keil работаете) и там есть опция (непомню точно где) в настройках проекта. Использовать аппаратный умножитель.

Вот вспомнил. В главном окне настройки проектов появляется опция Use On-chip Arithmetic Accelerator. Установите ее.
gala
Цитата(AndreyS @ Jun 5 2008, 19:32) *
А зачем библиотека??? Скачайте новую версию Keil (правда если вы в Keil работаете) и там есть опция (непомню точно где) в настройках проекта. Использовать аппаратный умножитель.

Вот вспомнил. В главном окне настройки проектов появляется опция Use On-chip Arithmetic Accelerator. Установите ее.

Cx51 Compiler User's Guide:
C517 ... high speed 32-bit arithmetic

И кто получил положит. рез-т для SiLabs F120 ?
...отзовитесь...
AndreyS
Цитата(gala @ Jun 6 2008, 20:47) *
Cx51 Compiler User's Guide:
C517 ... high speed 32-bit arithmetic

И кто получил положит. рез-т для SiLabs F120 ?
...отзовитесь...



Первое. Зайдите на официальный сайт компании Keil там анонс работы с аппаратным умножителем для SiLabs в Keil напечатан уже давно. Можете там поискать ответ на ваш вопрос.
Второе. Скачайте новую версию Keil (и обновите с сайта silabs длл отладчика). Главное чтобы оболочка uVision была посвежее.
Третье. Прочтите еще раз мой преыдущий пост и проделайте то что я вам там говорил.
Четвертое. Я этой опцией не пользовался. Так как аппаратный умножитель использую в цикле (цикл слишком длинный), где время выполнения каждой строчки играет роль. По этому вход выход в процедуру, да еще с подготовкой меня не устроил. Но только что проверил как это работает на оболочке u3 и u2. Действительно работает с аппаратным умножителем через процедуру MUL_120. Побывал и в ней. Там все красиво. Оптимально. Да тут и не сделать криво. 4 байта положил, подождал два такта и забрал 4 байта.
Пятое. Прочтите документацию на F120, главу про аппаратный умножитель с накоплением.

Так что дерзайте и будет вам счастье.
gala
Цитата(AndreyS @ Jun 6 2008, 22:24) *
Первое. Зайдите на официальный сайт компании Keil там анонс работы с аппаратным умножителем для SiLabs в Keil напечатан уже давно. Можете там поискать ответ на ваш вопрос.
Второе. Скачайте новую версию Keil (и обновите с сайта silabs длл отладчика). Главное чтобы оболочка uVision была посвежее.
Третье. Прочтите еще раз мой преыдущий пост и проделайте то что я вам там говорил.
Четвертое. Я этой опцией не пользовался. Так как аппаратный умножитель использую в цикле (цикл слишком длинный), где время выполнения каждой строчки играет роль. По этому вход выход в процедуру, да еще с подготовкой меня не устроил. Но только что проверил как это работает на оболочке u3 и u2. Действительно работает с аппаратным умножителем через процедуру MUL_120. Побывал и в ней. Там все красиво. Оптимально. Да тут и не сделать криво. 4 байта положил, подождал два такта и забрал 4 байта.
Пятое. Прочтите документацию на F120, главу про аппаратный умножитель с накоплением.

Так что дерзайте и будет вам счастье.


Полностью соглашусь

Мои експерименты с библиотекой ( log(), exp(), sin() ) - обращения к MAC в окне deassem нет
(пришлось расчеты поручить верхнему уровню)

Цитата(gala @ Jun 5 2008, 18:28) *
Ищу библиотеку float/double для апп.умножителей 16х16 MAC C8051F120,360


Если кто может огласить свой опыт на ниве F120, F360 - ждем'с
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.