Перейти к содержанию

Kiryanov

Участник
  • Публикаций

    45
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о Kiryanov

  • Звание
    Участник
  1. Цитата(juvf @ Apr 17 2018, 07:01) Вам нужен тулчейн. Либо сами соберайте, либо скачайте с инета готовый. Возможно проявлю невежество: не совсем понимаю какой и как сделать Цитата(juvf @ Apr 17 2018, 07:01) на таргете должен работать ssh Он работает, еще поставлен tcf-client для работы через Xilinx SDK (входит в пакет программ Vivado, собрана на том же Eclipse). Debug в среде Xilinx SDK запускается только под Windows. Под LInux не удалось пока. Цитата(juvf @ Apr 17 2018, 07:01) на десктопе в Eclipse делается проект с++, выберается Cross GCC в свойствах проекта c/c++ build->settings->cross settings указываем префикс arm-linux-gnueabihf- и путь до папки с кросс-компиляторами. можно собирать холловорд Собрать под обычным Eclipse (Oxygen.3 Release (4.7.3RC3)) таким образом так и не удалось. С помощью YaST поставил несколько инструментов: cross-armv6hl-gcc48-icecream-backend cross-armv7hl-gcc48-icecream-backend cross-arm-binutils В поле Properties->Settings->CrossSettings->Prefix вбил arm-linux-gnueabinf-, с помощью grep -r искал arm-linux-gnueabi* - пока не врубился какой путь до компилятора вбить. В общем так ничего и не заработало. Ругается что не может найти arm-linux-gnueabinf-g++ (command not found). Каким образом и какие нужно поставить компиляторы? Помогите пожалуйста новичку настроить Eclipse. Еще: совершенно не понимаю разницу в их версиях; Oxygen, Luna, Mars и пр. Какая для работы нужна версия? Можно с любой работать или с какой-то конкретной? При отладке C/C++ программ для десктопников, между Oxygen и Luna не увидел никакой разницы. Цитата(juvf @ Apr 17 2018, 07:01) Дебаг: теоретически..... десктоп полученный бинарник закидывает на таргет, запускает на таргете gdbserver, на десктопе arm-linux-gnueabihf-gdb цепляется к тагрету и запускает отлаживаемую программу. Далее как на десктопе. до этого пока не добрался Цитата(juvf @ Apr 18 2018, 05:57) QtCreator-у ещё нужно подрасти до Eclipse. А что касается тормознутости - так это как любое жаваприложение - старт чуть подольше, а работа без каких-либо тормозов. Тем более автор знает еклипс. В одной ИДЭ и проекты для bare metal/RTOS на МК, и проекты для Linux. ps Раньше был плуг Qt для Eclipse, сейчас нет. Плохо. С этим согласен. Я в Qt-Creator'е работал долго, но очень не удобная отладка, невозможно просмотреть динамические массивы (динамически выделенную память) и прочие проблемы при отладке. Eclipse намного удобнее.
  2. Добрый день всем. Народ, может кто знает? Проблема такова: Работаю под самим Linux'ом, но десктопным, на компе и безо всякой виртуалки. Нужно писать и отлаживать пользовательское ПО под встроенный Linux. Embedded Linux собран под одно из 2-х ядер, находящихся внутри чуда Zynq-7000, конкретно под плату zc706. Имеется инструмент Vivado, Xilinx SDK, но я в нем новичок. У меня опыт программирования MK с использованием RTOS, но это совсем другое, потому-что там исходники операционки и пользовательских задач собираются вместе. Также, и программировать под самой Linux на C/C++ для меня дело привычное (конкретно сейчас - работаю под Eclipse CDT в OpenSUSE). Но что такое работать под Embedded Linux - пока тайна и задача, к которой, не знаю, с какой стороны подойти. Что-то слышалось про GDB, но как настроить его и прикрутить к той же IDE Eclipse - не знаю. Помогите пожалуйста, как решить эту задачу? Еще такая же предстоит с IMX 6D (NXP), плюс еще и сборка ядра самой системы под него - а моих знаний для этого недостаточно. Расскажите пожалуйста, как победить? Подчеркну: в частности интересует работа с инструментом Eclipse (конкретно написание ПО и отладка). Заранее благодарю!
  3. На сайте TI увидел интересную информацию: Support for multiple FTDI devices (CCSv4 only) на страничке про XDS100: http://processors.wiki.ti.com/index.php/XDS100 Подскажите пожалуйста, может в этом причина? Получается, на новых CCS работа с этим модулем возможна только с внешним эмулятором? А с установленным на борту - только на CCSv4?
  4. Установил CCSv7 - под ней тоже не работает. Сообщения прежние. Железо, как я понял, точно не повреждено, потому что на CCSv4 дебаг запускается и работает. Был ли у кого подобрый опыт? Как это лечится?
  5. Цитата(BratherLU @ Oct 18 2017, 14:13) мне в свое время помогли вот эти статьи: http://processors.wiki.ti.com/index.php/GS...ing_projects_v5 http://processors.wiki.ti.com/index.php/GS...ing_projects_v5 Я это все пробовал, тем более что по аналогии с CCSv4 все вроде просто, выбрал модуль и подключил соединение, но не работает. Выдает такое сообщение: Error connecting to the target: (Error -1265 @ 0x0) Device ID is not recognized or is not supported by driver. Confirm device and emulator configuration is correct, or update device driver. (Emulation package 5.0.520.0) Тогда как на CCSv4 дебаг запускается и работает. В чем проблема, понять не могу. У меня именно здесь затык по старту проекта на модуле на основе более новых CCS. Может сталкивался кто нибудь?
  6. Коллеги день добрый. Мне когда-то посчастливилось поработать с модулем TMDSEVM6457L на CCSv4.2. Там все под него скачивалось, ставилось и пусть с глюками, но работало. Сейчас возникла необходимость с этой же платой поработать на более новых отладочных TI-средах, и совершенно непонятно как это сделать. Например в CCSv5, на которую мне советовали перейти еще в 2013-м, модуль вроде уже есть в Target Configurations, однако никак не могу запустить его в дебаге. Одну проблему кажется нашел - настройка проекта во вкладке General : Выбираем C6000, В поле Variant есть установки: Generic devices; TMS320C64XX; TMS320C67XX. При выборе TMS320C64XX доступны только модули EVMC6474 и EVMTCI6488. Настройки эмулятора (xds100v1) доступны тоже только при выборе этих 2-х модулей. Подскажите плиз, как его запустить на CCS начиная с версии 5.01, какие нужны для этого библиотеки или тулзы и где их скачать? Просто много библиотек к этой плате на сайте TI.com уже просто отсутствуют (например Chip Support Library), так как она просто снята с производства. Для CCSv4 все скачивалось с сайта Einfochips, на котором были выложены PDK под эту плату, сейчас ссылка на одну тулзу, которая вообще имеет отношение к OMAP-L138. И вроде написано, что в ней есть поддержка всех процов: C64xx, С64x+ C66xx, C66x+, в том числе C645x, однако скачал и поставил - никак не помогло. Помогите пожалуйста, кто имел дело с этой платой.
  7. Запуск платы CubieBoard2 (Cortex-A7)

    Привет всем, коллеги! У меня возникла необходимость в работе с Cortex-A7, на руках есть плата CubieBoard2. Я ознакомился с ее схемой, в ней не предусмотрена работа с JTAG, поскольку JTAG'овские выводы проца A20 висят в воздухе по схеме. Сам я имею опыт программирования DSP TI C64XX, МК Cortex-M3, M4, знаком с Linux (2 года на Ubuntu в качестве основной системы, второй пока винда стоит для IAR'а, Matlab'a и офисных программ), но опыта с Android у меня лишь пользовательский и пару раз - прошивка планшета. Mне не понятно, как с платой работать с помощью компа. Подскажите плиз, как начать работать с этой платой. В перспективе планируется писать программы на C/C++, пока не понятно, что для этого нужно: либо в эту фитюльку можно воткнуть Qt-Creator, или какую другую среду разработки, например KDevelop, либо писать все вручную, собирать с помощью make или cmake, что мне не совсем подходит, потому-что нужен debug. Подскажите плиз, если кто опыт имеет в работе с этим чудом, как к нему подойти.
  8. Спасибо вам, сегодня сдернул с сайта, осталось только поставить. Есть еще вопрос по установке. Вообще говоря, я когда-то пытался ставить сервер лицензий на linux, не встало почему-то на тот момент. Сервер лицензий хотел поднять для CCSv4, которая сама стояля под виндой (4-я только виндовая была) на другом компе, связанном по сети. Сейчас хотелось бы разобраться как установить саму программу и сервер лицензий, причем то и другое под указанную версию linux. Подскажите пожалуйста, как это сделать? ЦитатаИнструкции по установке под линуксом Пардон, сегодня почитаю инструкци по linux-установке на официальном сайте, спасибо за ссылки: ЦитатаСейчас актуальная версия - 6.0.1.00040. На 6-ю еще не готов переходить, под 5-й не поработал плотно. Тем более на 5-ю у меня есть лицензия, а на 6-ю нет. Вам вопрос такой: сейчас под C64x+ вышла версия портированного Linux (RTOS), которая выложена вместе с исходниками на их сайте. Смогу ли я поразвлекаться с этим в 5-й версии не переходя к 6-й? Какие серьезные функциональные изменения претерпела CCS v6 по сравнению с последней CCSv5 версией? Особенно интересно насчет функциональности в linux и поддержки RTOS. Как-то было в первый раз, мне помогли поставить еще под debian - так не нашел симулятора вообще. Он имеется вообще в linux-версии IDE?
  9. Привет Всем! Народ, подскажите, где можно взять эту версию CCS (Code Composer Studio v5.5.0.00077) под Linux? Скачивание на официальном сайте закрыто, у меня самого - версия не самая новая из 5-х (5.1.0.09000), а хотелось бы последнюю из них. На файлообменниках ее тоже нет. Но желательно с поддержкой всех компиляторов. У меня в целом то на v5 лицензия есть, но мне интересна именно не win версия а linux. Может есть у кого? Еще есть такой вопрос, как ее поставить, потому что я в линуксе не такой ас, и не могу поставить даже имеющуюся. Под виндой все куда проще, а хочется под linux научиться работать. Linux у меня - Ubuntu 1404 LTS PAE (x32). Помогите пожалуйста
  10. Ларчик открывался просто: ADC0_StartSingleMeasurement(adc0) - сбрасывает бит разрешения прерывания в ADC0_AC1A. Но есть несколько вопросов, чтоб все до конца понять. А по шагам проверить что делается в _int_install_isr? По шагам все просмотрел - не нашел никакого криминала. Правильно ли определено поле INTERRUPT_TABLE_PTR в структуре kernel_data. Тут есть маленький вопрос, т.к. у меня недопонимание, так как я просто не знаю, что там должно быть. Как я понял - должен быть указатель на таблицу векторов. Так или нет? Подскажите. Дальше идет проверка условия, чтоб вектор инициализируемого прерывания не выходил за рамки диапазона [FIRST_INTERRUPT_VECTOR_USED - LAST_INTERRUPT_VECTOR_USED]. Причем значения FIRST_USER_ISR_VECTOR и LAST_USER_ISR_VECTOR проверяются те, которые находятся в структуре kernel_data, и они похоже установлены правильно. Есть еще такая строка в _int_install_isr: table_ptr = &kernel_data->INTERRUPT_TABLE_PTR[vector - kernel_data->FIRST_USER_ISR_VECTOR]; что, как я понимаю, является передачей адреса вектора прерываний. Далее строки: old_isr_ptr = table_ptr->APP_ISR; table_ptr->APP_ISR = isr_ptr; первая - сохранение в переменной old_isr_ptr указателя на текущий обработчик прерывания, а вторая - присваивание нового, передаваемого в виде параметра isr_ptr. Затем еще строка присвоения указателя на данные обработчика прерывания. Все именно так, или что-то иначе? В Lite версии оно назначается на адрес статического массива mqx_static_isr_table. Этот массив выделен правильно? Здесь у меня тоже вопрос по поводу этого (последнего) высказывания: в функции _int_init( _mqx_uint, _mqx_uint) присвоение адреса массива mqx_static_isr_table идет переменной указателю int_table_ptr. Только потом этот адрес попадает в kernel_data, и по всем векторам присваивается указатель на обработчик _int_default_isr. Памяти выделяется под него достаточно и в этой же функции. Но ведь это функции не пользовательские? Они внутри операционки? как же здесь могут возникать проблемы? В общем я разобрался, но хочется "уберечь" себя от проблем в будущем. Где еще есть обращение и переприсваивание указателей на эти массивы кроме _int init? За совет спасибо!! Прошел везде - везде порядок, и проблема оказалась простецкая.
  11. Добрый день всем! Народ, подскажите плиз: не понимаю как работать с прерываниями в MQX-LITE. Как известно - это облегченная система MQX. Мне совершенно не понятно, как настраивать это. Я пробовал с помощью операции _int_install_isr(), вызов не происходит. команда вида: _int_install_isr(0x49, ADC0_MeasurementCompleteInterrupt, adc0); где ADC0_MeasurementCompleteInterrupt - функция-событие завершения измерения ADC0, adc0 - указатель на дескриптор ADC0, где размещена и ссылка на данные. Вектор прерывания от ADC0 - 0x49. Правильно ли я его указал? Верно ли написана строка? Компилятор не ругается(пользуюсь средой CodeWarrior 10.4 с компилятором Freescale), программа запускается но прерывание не возникает. Нужно ли что еще вызывать для настройки? В документации по MQX-LITE толком ничего не написано, только самые общие фразы. Пользуюсь документацией по MQX (MQXUG), потому, что в доке по MQXLITE (MQXLITEUG) про механизм прерываний ничего не написано. Работаю с контроллером MK20DN512 через программатор Segger J-Link. Подскажите плиз!!!
  12. Добрый день! У меня несколько сопутствующих вопросов: 1) Почему у вас S и P - матрицы? В данном конкретном случае, как я понимаю задача одномерная (у вас сигнал S, и, предположим, некоторая реализация помехи P). 2) Не совсем понятна постановка задачи: что значит определить матрицу P? Как мне известно, с помехой надо бороться, суметь на фоне помехи при имеющемся S, и некоторой реализации P получить Yтреб (один из примеров - сигнал ЛЧМ в радиолокации, возможно импульс какой-то длительности tau с конкретной w0 и коэффициентом пропорциональности изменения частоты (alpha): w = w0 + alpha * t;) При такой постановке, для требуемого отклика на ЛЧМ сигнал проектируем фильтр с конкретной h(t)->H(w), из которой получаем и A. А здесь постановка задачи не понятна. Это как вы видите? Вам надо найти реализацию помехи P при которой вы получите Yтреб? Это несколько оригинально!
  13. Добрый день всем! Есть ли у кого нибудь опыт написания кода типа: JPEG->массив пикселей->алгоритм обработки изображений->массив пикселей->JPEG для TMS320C6457, а именно для TMDSEVM6457L, или под C6455, C6416? Есть библиотеки у TI типа JPEGdec и JPEGenc, но все примеры под процессоры TMS320DM...., и ни одного примера под C64x+, хотя написано, что и для них возможно ее применение. Подскажите пожалуйста, кто имел опыт, или бросьте пример кода, например под C6416, C6455 или C6457 с cmd-файлом. То что процессор справится с этой задачей - вопроса не вызывает. Если есть попроще что - например прога которая поможет прочитать BMP, а потом обработанное изображение загнать назад в BMP-формат - тоже подойдет для начала. У Shehrzad Qureshi в книге EMBEDDED IMAGE PROCESSING ON THE TMS320C6000™ DSP (Examples in Code Composer Studio™ and MATLAB) про то, как прочитать изображение вообще ничего не сказано. Для персоналки я использовал OpenCV, а для DSP - вообще не знаю как подойти к решению этого вопроса, а решение нужно насколько можно быстрое, совсем нет времени разбираться с JPEG, защита диссертации через 3 месяца. Помогите плиз! Буду очень благодарен.
  14. Цитата(Hoodwin @ Jun 17 2012, 13:56) Инструкция называется TMS320C6000 Assembly Language Tools User Guide. Смотрите там раздел, посвященный линкеру: 7.5 Linker Command Files. В map кэша и не будет, если туда ничего не размещается. Спасибо! Разбираюсь, немного позже снова появлюсь, как прочитаю.