Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: AD9361 и CCS 5.5
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Программирование
Koltaras
Доброго времени суток.
Есть некий отладочный модуль, который практически полностью повторяет собой конфигурацию TMDSEVM6670l. На нем находится трансивер ad9361, который необходимо инициализировать и настроить "изнутри", для чего пишется программа для загрузки в отладочный модуль. Из документации к трансиверу я нашел, что команды должны посылаться в виде:
формат команды: 24 бита = х000000 хххххххххх ххххххххх
                                                            Адрес        Данные
Причем в программном коде это выглядит так:
ad9361_transact_spi((reg << 8) | val | (1 << 23));, где reg и val это соответственно регистр куда писать и значение которое надо писать.
Однако же, я вынужден использовать Code Composer Studio, и он естественно не поймет таких функций, ввиду отсутствия библиотек и компилятора для них. Там тоже можно писать в SPI, используя функцию spi_cmd_write, в которой входными данными являются команда и данные. Я понятия не имею, как указать конкретный адрес, может быть кто-нибудь сталкивался с похожей ситуацией и знает как осуществить сопряжение таких команд? Заранее спасибо
jcxz
Цитата(Koltaras @ May 30 2016, 14:27) *
Однако же, я вынужден использовать Code Composer Studio, и он естественно не поймет таких функций, ввиду отсутствия библиотек и компилятора для них. Там тоже можно писать в SPI, используя функцию spi_cmd_write, в которой входными данными являются команда и данные. Я понятия не имею, как указать конкретный адрес, может быть кто-нибудь сталкивался с похожей ситуацией и знает как осуществить сопряжение таких команд? Заранее спасибо

CCS тут не при чём. Открываете даташит на Ваш DSP, ищете в нём описание SPI-периферии (а также: мультиплексирование ног, тактирование и пр.), изучаете и пишете все необходимые функции.
k155la3
Цитата(Koltaras @ May 30 2016, 11:27) *
. . . .
Причем в программном коде это выглядит так:
ad9361_transact_spi((reg << 8) | val | (1 << 23));, где reg и val это соответственно регистр куда писать и значение которое надо писать.
Однако же, я вынужден использовать Code Composer Studio, и он естественно не поймет таких функций, ввиду отсутствия библиотек и компилятора для них. Там тоже можно писать в SPI, используя функцию spi_cmd_write, в которой входными данными являются команда и данные. Я понятия не имею, как указать конкретный адрес, может быть кто-нибудь сталкивался с похожей ситуацией и знает как осуществить сопряжение таких команд? Заранее спасибо


У Texas ( если CodeComposer из этой епархии ) есть пакет "DriverLib". Порядка 200 Мб
Нечто, имеющее название MSP430ware_1_80_01_03

Там в исходниках драйверы-библиотеки для работы с различными семействами MSP430, начиная с 5XXX (если речь опятьже о них)
В том числе и драйверы для SPI в похожем формате, с потугами на HAL.
Я брал "низовую" часть кода.
Можно просто попробовать прикомпоновать требуемую библиотеку-набор драйверов. Но как по мне - очень громоздко.
Вы можете попробовать найти аналог Вашего вызова в этй библиотеке и использоватеь его.
Или - как я - "украсть" только исполнимую часть кода, без "навески" в виде макросов.

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