Миландр

Ключевым подразделением нашей компании является Центр Проектирования интегральных микросхем
Текущее время: 2017-дек-14 01:23

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




Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: работа с float в dsp
СообщениеДобавлено: 2015-сен-24 10:13 
Не в сети

Зарегистрирован: 2014-ноя-10 15:38
Сообщения: 10
Здравствуйте.
Возможна ли работа с типом float в dsp ядре?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: работа с float в dsp
СообщениеДобавлено: 2015-сен-24 10:44 
Не в сети

Зарегистрирован: 2015-янв-19 16:23
Сообщения: 16
Скорректирую вопрос своего коллеги выше(работаем вместе):
Когда только начали осваивать DSP, у меня вроде бы получилось передать значение типа float из DSP в RISC. Если не ошибаюсь, там разница в адресации и типе указателя, мол при работе с int, адрес задается соответствующего типа и адресация, к примеру, следующая: DSP - 0x82, RISC - 0x3000104, с float же не помню точно. А сейчас снова нужно передать значения типа float из DSP в RISC. Но, в отличие от int, уже не получается. Задаю указатели и переменные типа float, хочу передать к примеру 3,5:
ptr=(float *)0x84;
*ptr=3.5;
При попытке достать это значение в RISC(при этом просматриваю все адреса поблизости, т.к не помню точного адреса), везде вижу нули:
float temp1[20];
For(i=0; i<20;i++)
{ptr=(float *)(0x3000100+0x01*i);
temp1[i]=*ptr;}
Подскажите пожалуйста, в чем ошибка.
P.s. Сам код не выложил, проблема именно с float. Unsigned int (естественно, когда все переменные того же типа) передается нормально.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: работа с float в dsp
СообщениеДобавлено: 2015-сен-25 15:20 
Не в сети

Зарегистрирован: 2015-янв-19 16:23
Сообщения: 16
Нашел программу, с которой выходило передать float, все ок. Ну только мол старшие биты меняет с младшими(пример: 3,85. Должно быть 0х40770A3D, а получаю 0x0A3D4077), но вроде бы так и должно быть. Теперь не пойму, почему возникала проблема описанная в посте выше, т.к. Настройки одинаковые и врятли они бы повлияли. Видимо в каком-то файлике/библиотеке было что-то подпорчено и дсп не могло понимать float!?)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: работа с float в dsp
СообщениеДобавлено: 2015-сен-28 13:11 
Не в сети

Зарегистрирован: 2013-дек-19 09:39
Сообщения: 19
Nzx писал(а):
Скорректирую вопрос своего коллеги выше(работаем вместе):
Когда только начали осваивать DSP, у меня вроде бы получилось передать значение типа float из DSP в RISC. Если не ошибаюсь, там разница в адресации и типе указателя, мол при работе с int, адрес задается соответствующего типа и адресация, к примеру, следующая: DSP - 0x82, RISC - 0x3000104, с float же не помню точно. А сейчас снова нужно передать значения типа float из DSP в RISC. Но, в отличие от int, уже не получается. Задаю указатели и переменные типа float, хочу передать к примеру 3,5:
ptr=(float *)0x84;
*ptr=3.5;
При попытке достать это значение в RISC(при этом просматриваю все адреса поблизости, т.к не помню точного адреса), везде вижу нули:
float temp1[20];
For(i=0; i<20;i++)
{ptr=(float *)(0x3000100+0x01*i);
temp1[i]=*ptr;}
Подскажите пожалуйста, в чем ошибка.
P.s. Сам код не выложил, проблема именно с float. Unsigned int (естественно, когда все переменные того же типа) передается нормально.



Адресация RISC - полусловная (8 бит)
Адресация DSP - словная (16 бит)
float занимает в памяти 32 бита, соответственно 2 адреса памяти DSP и 4 адреса памяти RISC,
т.е. в RISCe эту переменную нужно "собирать" из четырех адресов ОЗУ


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

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


Кто сейчас на конференции

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


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

Найти:
Перейти:  
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB