Jump to content
    

Search the Community

Showing results for tags 'arm'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Сайт и форум
    • Новости и обсуждения сайта и форума
    • Другие известные форумы и сайты по электронике
    • В помощь начинающему
    • International Forum
    • Образование в области электроники
    • Обучающие видео-материалы и обмен опытом
  • Cистемный уровень проектирования
    • Вопросы системного уровня проектирования
    • Математика и Физика
    • Операционные системы
    • Документация
    • Системы CAD/CAM/CAE/PLM
    • Разработка цифровых, аналоговых, аналого-цифровых ИС
    • Электробезопасность и ЭМС
    • Управление проектами
    • Neural networks and machine learning (NN/ML)
  • Программируемая логика ПЛИС (FPGA,CPLD, PLD)
    • Среды разработки - обсуждаем САПРы
    • Работаем с ПЛИС, области применения, выбор
    • Языки проектирования на ПЛИС (FPGA)
    • Системы на ПЛИС - System on a Programmable Chip (SoPC)
  • Цифровая обработка сигналов - ЦОС (DSP)
    • Сигнальные процессоры и их программирование - DSP
    • Алгоритмы ЦОС (DSP)
  • Микроконтроллеры (MCU)
    • Cредства разработки для МК
    • ARM
    • RISC-V
    • AVR
    • MSP430
    • Все остальные микроконтроллеры
    • Отладочные платы
  • Печатные платы (PCB)
    • Разрабатываем ПП в САПР - PCB development
    • Работаем с трассировкой
    • Изготовление ПП - PCB manufacturing
  • Сборка РЭУ
    • Пайка и монтаж
    • Корпуса
    • Вопросы надежности и испытаний
  • Аналоговая и цифровая техника, прикладная электроника
    • Вопросы аналоговой техники
    • Цифровые схемы, высокоскоростные ЦС
    • RF & Microwave Design
    • Метрология, датчики, измерительная техника
    • АВТО электроника
    • Умный дом
    • 3D печать
    • Робототехника
    • Repair and debug
  • Силовая электроника - Power Electronics
    • Силовая Преобразовательная Техника
    • Обратная Связь, Стабилизация, Регулирование, Компенсация
    • Первичные и Вторичные Химические Источники Питания
    • Высоковольтные Устройства - High-Voltage
    • Электрические машины, Электропривод и Управление
    • Индукционный Нагрев - Induction Heating
    • Системы Охлаждения, Тепловой Расчет – Cooling Systems
    • Моделирование и Анализ Силовых Устройств – Power Supply Simulation
    • Компоненты Силовой Электроники - Parts for Power Supply Design
  • Интерфейсы
    • Форумы по интерфейсам
  • Поставщики компонентов для электроники
    • Поставщики всего остального
    • Компоненты
  • Майнеры криптовалют и их разработка, BitCoin, LightCoin, Dash, Zcash, Эфир
    • Обсуждение Майнеров, их поставки и производства
  • Дополнительные разделы - Additional sections
    • Встречи и поздравления
    • Ищу работу
    • Предлагаю работу
    • Куплю
    • Продам
    • Объявления пользователей
    • Общение заказчиков и потребителей электронных разработок

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


AIM


MSN


Сайт


ICQ


Yahoo


Jabber


Skype


Город


Код проверки


skype


Facebook


Vkontakte


LinkedIn


Twitter


G+


Одноклассники

  1. Уважаемые форумчане. Прошу не пинать строго, до этого момента я работал с ядрами ARM Cortex от М0 до M7. С более мощными ядрами, в данном случае A7, столкнулся впервые. Камень, который хотелось бы освоить - V3S от Allwinner. Сам камень внутри достаточно простой и очень интересный, но. Я думаю у каждого, только начинающего работу с ними, возникали похожие проблемы. Как начать? Какие инструменты нужны? Как все собрать и настроить, чтобы я мог подергать пином в цикле? Не надо отправлять в гугл, по крайней мере без конкретных ссылок, был я там, понятнее не стало. Возможно я просто не совсем понимаю, что именно надо почитать. На всякий случай, немного приведу список вопросов, по которым мне бы хотелось получить подсказки от уважаемых гуру: - IDE. Какие есть или, хотя бы, какой можно было бы воспользоваться. Пока что все показывают на Eclipce, может есть еще чего удобного, Code Block, например. Посты типа "чувак, на хрена тебе IDE, делай как я" с более-менее подробным, или тезисным описанием как и что автор делает также приветствуются, буду премного благодарен за любую информацию, особенно если автор сможет ответить на хулиард тупых вопросов (шучу, вопросов буду стараться задавать по минимуму, только если я совсем в тупике); - Компилятор. Откуда и какой скачать, какие есть ньюансы установки для чайника. Я нашел только gcc-arm-11.2-2022.02-mingw-w64-i686-arm-none-eabi, не уверен, что выбран правильно, дайте совет. - Компоновщик. Где взять под этот камень, или под ядро, или хз как и что, главное, чтобы работало. Находил посты, в которых парни рассказывали про чудесные настройки под IAR, пытался сделать по образу и подобию, результат получить не вышло. - После получения hex как правильно все собрать на SD-карте, чтобы запустилось. Может есть какое-то общее пособие/описание формата, где и что должно располагаться, с какого адреса точка входа, какие нужны обязательные заголовки, как считается контрольная сумма заголовков и т.д. - Может кто в курсе и сможет рассказать сам, или пнуть в правильном направлении, где почитать, как вообще работает встроенный загрузчик у V3S, не считая скудного описания в даташите. Куда, откуда и сколько кода изначально грузит, куда передает управление, что из периферии при этом уже настроено и т.д. Любая информация как глоток свежего воздуха. USB вариант можно опустить, у меня загрузка предполагается с SD. Очень хочется, чтобы работать можно было из-под Windows. Помогите кто чем сможет, кто не может, или не хочет, прошу Вас, проходите мимо. Всем добра и, заранее, огромное спасибо всем, кто откликнется. З.Ы. Обещать не буду, но очень постараюсь объединить все полученные знания в единый гайд по конкретному камню.
  2. Продам SDK для Allwinner V3s. Написано на C/C++ в стиле BareMetal (без ОС). Что может SDK написано здесь: https://gamedev.ru/flame/forum/?id=252846&page=10&m=5549630#m143 По всем вопросам пишите на repstosw2018 @ gmail.com
  3. Привет, мы ищем сотрудника, который будет помогать нам разрабатывать вспомогательные платы. Под вспомогательными понимается, что у нас есть основная типовая плата, например BananaPi. Нам в целом дешевле использовать такие готовые платы, однако бывает, что для них нужно добавить какой-то интерфейс или исправить недоработку китайского дизайна. Другой пример - SoM: есть модуль без интерфейсов, разработанный, например, NVIDIA. Для создания несущей платы для SoM предлагается закачивать миллионы в какие-то бестолковые конторы. Нам нужно чтобы вы играючи за несколько часов развели пины SoM'а на нужную переферию - коннекторы USB3.0 и т.д. Требуется уверенное владение KiCad и личный опыт пайки плат, своих и чужих. Круто если вы сами успешно чинили телефоны и ноутбуки, перепаивая элементы. Круто, если своими руками PCB вытравили или вырезали фрезой. А если никогда не пачкали сами руки о реальный мейкинг плат, то не круто, тогда для нас вы - бесполезный теоретик. Работа - контрактная, то есть мы бы хотели оплачивать реально затраченные на наши задачи трудочасы. В целом работы много, можно работать хоть 60 часов в неделю, если есть время и желание. А если у вас есть другие дела - тоже не проблема, можно совмещать и помогать нам от случая к случаю, или в выходные, или утром/ночью - любой распорядок на ваше усмотрение! Полная удалёнка, не можем предоставить офис или лабу, увы. Нужно чтобы у вас была возможность изредка где-то что-то попаять и потестировать на своей паяльной станции. Если что-то нужно будет на наших платах подробно смотреть, то постараемся к вам почтой их доставить, в крайнем случае сделаем удалённый доступ по SSH. Если чувствуете, что это - ваше (ура!), вот маленькая тестовая задачка для личного обсуждения (оставьте контакты для связи мне в личке). Имеется плата а-ля BananaPi и ноутбук. У платы - два порта USB - питание и питание+OTG. Оба устройства безнадёжно нарушают спеки USB2.0, и отдают по OTG-порту сильно больше 500мА, достаточно много чтобы спалить плату. Нужно пресечь пожары накорню вставкой небольшой платы огранчивающей ток. Важно, чтобы при этом работа OTG не была нарушена. Ниже - схема возможного ограничителя, скорее всего, с ошибками. Обсудите с нами этот дизайн, и если он не годится, предложите свой. Важно: мы оплатим ваш труд по решению этой задачи в любом случае, вне зависимости от итогов знакомства.
  4. Forlinx является ведущим разработчиком встроенных системных решений в Китае, предоставляя SoM и платы разработки на базе процессоров NXP, Allwinner, Rockchip, Ti, включая серии iMX6, серии iMX8, серии iMXRT, серии ls10xx, AM62x, AM335x, RK3399, RK3568 и т. д. . Мы предоставляем программные ресурсы, включая исходный код ядра и драйвера, а также подробные руководства пользователя и схематическую документацию, чтобы помочь клиентам быстро приступить к работе. Почта: [email protected] Сайт: www.forlinx.net Отзывы и комментарии приветствуются.
  5. Приветствую участников форума. Вопрос к знакомым со средой Visual Studio Code. Не удается запустить отладку контроллера из среды VS Code с плагином cortex-debug. Причем контроллер прошивается и что то даже исполняется, но при постановке на паузу VS Code не показывает точку где остановился. Такое ощущение что нет связи строк кода с иполняемым elf файлом.
  6. день добрей, господа кладуны! :о) исходные следующие - arm-none-eabi - arduino-DUE (платформа) - __attribute__ alias пример-отладка static int oldname(int x, int y) { return x + y; } static int newname(int x, int y) __attribute__((alias("oldname"))); void setup(){;} void loop() {;} согласно url выдает ошибку alias_function:6:12: error: 'int newname(int, int)' aliased to undefined symbol 'oldname' static int newname(int x, int y) __attribute__((alias("oldname"))); ^~~~~~~ exit status 1 первый раз выкрутился препроцессором теперь надо однозначно алиас п.с. спасибо, кидайтесь ... :о)
  7. добрый день исходные: - arm-toolchain (10.3.1, 11.x, 12.2) - arm_gdb-12.1_py3.7 - openocd-0.12.0 - atmel ice (отладчик) - sam3x8e (прототиа arduino-due) - slackware-14.2 x64 отлаживаю "библиотеку" на си - передача данных по 2м проводам (wiegand): - импульс D0 -> получили "0" - импульс D1 -> получили "1" будет использоваться неск. экземпляров RFID-датчиков, поэтому планирую сделать вообще без "механизмов блокировки". в прерывании только устанавливаются флаги, все остальное делается в основном цикле. в силу "обстоятельств" (унаследовано с прототипа) подключение пинов данных D0/D1 - на разных портах (по идее это не проблема, на ардуиновском "тестовом скетче" с таким-же расположением пинов - rfid-карта читается без проблем, но, походу, конечно протестирую еще и "все на одном порту") текущий код на си. читает карту, но с особенностями. к основному номеру карты (в старший разряд) добавляется еденица и последний (младший) разряд, соотв. обрезается. для отладки по шагам вместо "виганда" подключил две кнопки (c rc-цепочкой, сигналы нормальные, дребезг отсутствует, кнопок много, менялись/проверялись) выяснилось (в отладчике): - импульс на D0 - прерывание срабатывает 1 раз и далее все "печенькой" :о) - импульс на D1 - прерывание срабатывает 3 раза 1й раз - все по делу, "на падение сигнала", как и должно быть 2й раз - не по делу, "на подьем" (возвращение кнопки обратно), причем 2раза подряд и еще для "запуток" - при чтении (без отладчика, напрямую) только одна, самая первая, неправильная 1-ца добавляется в начало (в старший разряд) а далее серийник читается правильно. порты D0/D1 инициируются на вход, включается подтяжка, ни чего особенного.код, выкусы (упрощенка) кода: // // структура (выкус) // struct struct_Wiegand { TPinOut d0; // D0 пин TPinOut d1; // D1 пин uint8_t volatile data_flag[2]; // два флага на сработку D0/D1 ... }; typedef struct struct_Wiegand TWiegand; extern TWiegand* lst_rfid[RFID_NUM_DEV]; // список указателей на структуры // // в теле реализации // TWiegand w1={ {PIOA,19}, {PIOC,18}, {PIOA,20}, 0, {0,0}, 0, 0 }; TWiegand* lst_rfid[RFID_NUM_DEV] = { &w1 }; // // регистрация/добавление обработчиков прерываний // механизм/список такой-же как в ардуино // isr_enb_port (lst_rfid[0]->d0.pio, lst_rfid[0]->d0.pin, isr_rfid0_D0, FALLING); // D0 isr_enb_port (lst_rfid[0]->d1.pio, lst_rfid[0]->d1.pin, isr_rfid0_D1, FALLING); // D1 // // обработчики // void isr_rfid0_D0() { lst_rfid[0]->data_flag[0] ++; } void isr_rfid0_D1() { lst_rfid[0]->data_flag[1] ++; } других инициализаций прерываний нет (отрубал все что можно). если закомментировать строку вызова "добавления прерывания" для D1, то прерывание на D1 не срабатывает подобрал ссылки "околотемы" URL1 URL2 URL3 URL4 URL5 URL6 пока буду изучать ссылки, доки, даташит пинайте, кидайте помидоры, идеи, ссылки, все что угодно! можно просто побалагурить по теме! :о) спасибо.
  8. У аллвиннеров вроде DSP нет, разве, что брать 2х или 4х ядерный АРМ и делать софтовые DSP...
  9. добрый день надеемся на то, что вы своим опытом и знаниями поможете нам. заказали разработку контроллера (схема/печать/корпус/прототип) контроллер промышленный, будет использоваться в "грязной среде", с помехами, нужна соотв. защита контроллера, схемы, входов. т.е. мы для себя (для своих целей) - заказали разработку контроллера у «разработчика» и сейчас вместе с «разработчиком» «уточняем нюансы схемотехники схема и печать разработчиком сделана, сейчас разбираемся "что к чему". считаем, что некоторые моменты в схеме надо доработать, переписываемся с разработчиком, правим. уперлись в входную часть схемы, грозозащиту. у контроллера есть неск. типов входа - датчик "сухой контакт/концевик" (замыкатели/размыкатели) - датчик "виганд" (передача по сет.кабелю/RJ45) - сетевой интерфейс (передача по сет.кабелю/RJ45) схема контроллера запитывается от 12В (сетевой DC-DC) через изолированный DC-DC 12-3.3В т.е. имеется цифровая земля 3.3В / ARM-ядро (чистая) и грязная 12В + все, что "осталось" до преобразователя DC-DC 12-3В все датчики развязаны через "оптику" сетевой интерфейс тоже "как-бы развязан", чип запитывается от 3.3В, внешняя часть сет.модуля - RJ45 разьем и разделительный трансформатор ЗК - шина "заземление-корпус" (сокращение) сама по себе шина "ЗК" не предусмотрена разработчиком + корпус был подобран пластиковый. мы считаем, что эта шина необходима, плюс необходимо так-же на "грязную землю" поставить разрядники (не только на сигнальные) и сливать имненно на "ЗК" разработчик считает что сливать помехи можно прямо на грязную землю, в связи с чем разрядник устанавливает только на сигнальные входные цепи, а "земляные" (идущие в паре с сигнальным) - без разрядника, и использует "грязную землю" как "ЗК" на грязной земле у нас - входные сигнальные линии - "разделительная" оптика - индикаторные светодиоды - питание реле но тем не менее, мы считаем, что надо делать "правильно". ... пожалуйста, поделитесь вашим мнением на данную ситуацию если нужны более подробные описания, блок схемы, рисунки - спрашивайте. спасибо
  10. Отдам Специалисту с Большой буквы отладочную плату TI OMAP-L138 LCDK (456 MHz). Стоимость 400 USD + пересылка за Ваш счёт. Состояние товара: совершенно новый, со всеми штатными аксессуарами. В комплект входят: 1) Отладочная плата 2) Блок питания + насадки на разные розетки 3) Шнурок USB 4) SD-карта с дистрибутивами (включая Linux) 5) Набор инструкций 6) Коробка 7) Защитные упаковки По всем вопросам - обращайтесь в ЛС форума или на email: repstosw2018 СОБАКА gmail.com
  11. Продам отладочные платы ARM Allwinner A13: A13-SOM-256 и A13-Olinuxino: 1) A13 OLINUXINO ARM OLINUXINO MICRO SBC ALLWINNER A13 CTX A8 A13-OLINUXINO-MICRO : $60 + стоимость пересылки 2) A13-SOM-256 на основе ARMCortex-A8 : $55 + стоимость пересылки По всем вопросам обращайтесь : repstosw2018 СОБАКА gmail ТОЧКА com
  12. Компания Xilinx (вошедшая недавно в состав AMD) объявила, что устройства серии Versal HBM уже могут быть предоставлены участникам программы раннего доступа. Семейство Versal, выполненное по технологическим нормам 7 нм, представляет собой новейшие адаптивные вычислительные устройства, сочетающие в себе высокопроизводительные процессорные ядра ARM, программируемую логику, высокоскоростные трансиверы, внутрикристальную сеть и специализированные контроллеры. Подробнее
  13. Доброго дня. Собственно вопрос в том, что хочу по аналогии с брендами иметь встроенный отладчик на разрабатываемой своей отладке. Сам пользуюсь всякими, целевая плата на мк от Миландра (ВК018 - 2xCM4F+1xCM0) . Посмотрел я на весь зоопарк и подумал, что вроде бы возможно совместить в одной схеме на F103C8 четыре типа: JLINK OB, STLINK V2, CMSIS-DAP и BMP. Первые три я использовал для Миландра, последний пока нет. У каждого из них есть достоинства и недостатки. Обычно я использую JLINK OB, но через год текущая конфигурация ПО может не заработать. Поэтому хочу заложить степени свободы. У меня есть и покупные JLink'и, но они "гуляют по рукам". Хочу, чтобы отладчик всегда был при плате. В общем, если бы вы делали отладку для себя и закладывали туда встроенный отладчик, то какой бы вариант использовали, исходя из практического опыта их применения? Может быть уже существует универсальная надёжная схема такого устройства? Я сам планирую совместить все схемы указанных выше отладчиков и менять на них прошивки по необходимости. К примеру, если под задачу изменился комплект среды и компилятора. Либо человек, использующий отладку, привык к конкретному набору окружения разработчика.
  14. Есть проблема с исполнением кода на сделанном на отечественном предприятии процессоре ARM Corteх-M4F. Кристалл флэш-памяти не имеет, прошивка загружается извне во встроенное ОЗУ объемом 128 кБ, которое используется как память программ. Есть ОЗУ объемом 68 кБ, которое используется как память данных. Запустили успешно, но на объемах прошивки, превышающих 32 кБ, процессор зависал. Путем последовательных упрощений нашли причину: процессор виснет при вызове функций, расположенных в разных 32 кБ сегментах (см.рисунок). Т.е. если программа вызывает функцию f2(), расположенную в том же 32-кБ участке, что и остальная программа - все ОК. Причем все нормально работает независимо от того, в каком именно 32-кБ сегменте размещена программа. Стоит вызвать функцию (типа printf), размещенную в соседнем 32-кБ сегменте памяти - сваливаемся в HardFault. Память тестировали - записывали данные, считывали - все ОК, память работоспособна, но при переходе границы 32-кБ блоков происходит HardFault: PC = 0x0800016A, LR = 0xFFFFFFE9, XPSR = 0x21000003 Дебаггер показал, что падаем в районе вызова команды LDR 0800_01DC: 7047 BX LR 0800_BE46: 4E21 MOV R1, #78 //где-то здесь падаем 0800_BE48: 6D48 LDR R0, [PC, #+0x1B4] //где-то здесь падаем 0800_BE4A: F4F7B6F9 BL #-0xBC94 0800_01BA: 0246 MOV R2, R0 Есть идеи?
  15. Есть такой интересный камешек - SSD201. Привлекли паяемым корпусом QFN, два ядра Cortex-A7, встроенная DDR2 на 64 МБ. Прям как в V3s, только ядер больше! Прошёлся по интернету по докам, ничего на него не нашлось. Может не там искал. Киньте плиз ссылки на доки по этому камню! Интерeсуют Technical Reference, + подробный разбор работы с периферией (с каждым блоком: SPI, UART, DMA, e.t.c.) Ну и примеры на С/C++/Asm приветствуются.
  16. Продам отладочные платы от OLIMEX на базе процессора Allwinner A13 (ARM Cortex-A8). Цены предлагайте свои. Пересылка по России за Ваш счёт (почтой РФ или любой экспресс курьерской доставкой). Пишите в личку форума или на е-mаil : repstosw2018 собака gmail .com Продаю по отдельности или все вместе: 1) A13-OLINUXINO (большая плата) 2) A13-SOM-256 (маленькая плата. Модуль.)
  17. Простое устройство для регистрации СВЧ излучения на базе платы SAM7-H256. Идея из статьи "Простые индикаторы СВЧ поля своими руками" (http://dedclub.blogspot.com/2012/12/blog-post_1.html). Устройство позволяет мониторить интенсивность СВЧ излучения (сотовые вышки, телефоны, WiFi, СВЧ печи) с помощью двух антен (можно направить перпендикулярно) и записывать показания с них (через два АЦП) в файл. Одновременно можно наблюдать кривые на графике. В архиве прошивка для платы Olimex SAM7-H256 (проект для Embedded Workbench 7.3) - папка my_device. Программа GUI под Windows 7 - EWavesDetector (Debug\EWavesDetector.exe). Для установки драйвера WinUSB нужны два файла - EWavesDetector.inf и setup_driver.bat. В программе EWavesDetector.exe надо нажать кнопку "Connect", если связь с устройством установлена, то можно нажать кнопку "Start". Начнется регистрация показаний с двух ADC (АЦП). Показания отображаются на графике и записываются в файл. По умолчанию файл создаётся в папке с программой, путь можно поменять. https://disk.yandex.ru/d/CArCyDdyEpImOw
  18. Приветствую! Есть плата LicheePi Zero на базе чипа Allwinner V3s (ARM Cortex-A7) и собственно-сделанный BareMetal SDK, поддерживающий работу с: 1) файловой системой 2) видео-системой 3) звуковой системой 4) ввод данных (кнопки) в однозадачном режиме (цикл в main() + обработчик прерывания) Насколько реально будет туда портировать (перенести, сбилдить, скомпилять) J2ME виртуальную машину - для запуска MIDlet'ов ("Java"-игр) стареньких кнопочных телефонов с маленькими экранами (от 128x128 до 320x240) ? На всякий случай уточню: нужна не вся Java, а только J2ME, более конкретнее - CLDC и MIDP не ниже 2.0.. Поиск в интернете ни к чему ясному не подтолкнул: 1) все ссылки на java.net померли, вместо них Оракла - там чёрт ногу сломит где искать что надо 2) phoneME - кто его реально собирал? у кого есть опыт сборке сего чуда? Как у него дела с совместимостью игр? 3) какие ещё есть проекты? Как я это вижу? : 1) попытаться собрать J2ME эмулятор под Linux в Linux (платформа ПК x86) 2) выкинуть всё ненужное (секьюрити, работа с сокетами, сетью и прочим хламом) 3) завести вывод звука, графики и ввод данных - на бэкэнд(драйвера) своего SDK для V3s У кого-нибудь есть опыт сборки? Чё-то смотрю, что там больше Java надо, чем C. Его одним GCC реально собрать? В чём подвох? В сорцах куча Джавы... Без JRE соберётся? Велик соблазн запускать такие игрули:
  19. Добрый день, уважаемые участники, Кто-нибудь имел опыт общения с MAX32660 или его родственниками из той же серии? В первую очередь интересуют ответы на два вопроса: Как обеспечить защиту прошивки от чтения после программирования? В документации про это сказано не слишком много, причем datasheet противоречит users guide в части описания разрешения на работу SWD. В одном документе написано, что по-умолчанию он запрещен, а в другом что разрешен. Интересует вариант без прошитого на производстве загрузчика. С точки зрения общей практики должна быть возможность запретить SWD после программирования своей прошивки или загрузчика, но в документации эта возможность в явном виде не описана. Хотя судя по исходникам загрузчика от Maxim там есть недокументированная возможность однократной записи в некие регистры, после которой SWD будет аппаратно заблокирован. Но работает ли это в действительности - непонятно. На сколько хорошо реализована поддержка этих МК в OpenOCD? Или есть другие открытые средства программирования и отладки? Попутно интересует качество SDK (исходя из личного опыта), но это уже вторично. Периферии там не так чтобы много и написать свою реализацию базовых функций для работы с ней проблемы не составит, хотя и отнимет некоторое дополнительное время.
  20. Здравствуйте, уважаемые форумчане! В команду требуются разработчики, ищем специалистов в следующих областях (разработка спецтехники): - разработка схемотехники цифровых устройств – FPGA, DSP, PCIE, SRIO, Ethernet, JESD204; - разработка ПО для FPGA (Xilinx, стык с АЦП/ЦАП, ЦОС, интерфейсы); - разработка ПО для DSP; - разработка ПО для ARM (в т.ч. Embedded Linux); - разработка схемотехники аналоговых СВЧ-устройств (частотно-избирательные цепи на распределенных эл-тах, усилители мощности AB-класса, ЭМС). Зарплаты определяются по результатам собеседования (ориентировочно для первых двух категорий 110 – 170 т.р. на руки). Условия работы – полная занятость, оформление по ТК РФ. http://www.nppntt.ru/ Территориально – СПб, ст. м. Академическая Контакты: Веженков Денис +7 911 294 16 64, звонить с 10 до 17 часов. [email protected]
  21. В архиве программы для платы STM32-P407. 1) My_Hid_Feature и MFC_HidFeature_Client - программа для контроллера и клиент для демонстрации обмена данными через Feature репорты (HID). 2) My_WinUsbDev и MFC_WinUsbDeviceClient - демонстрация через драйвер WinUSB. Устройство с 2-мя bulk точками (IN, OUT). 3) My_WinUsbDev_3 и MFC_WinUsbDeviceClient_3 - демонстрация через драйвер WinUSB. Устройство с 3-мя bulk точками (IN, IN, OUT). Вторая IN-точка используется как точка прерываний для приёма сообщений от устройства. CortexM4_Proj_3.rar
  22. Кто-нибудь использовал в своих проектах данную реализацию замены SSE на NEON? https://github.com/DLTcollab/sse2neon Понятно, что переписывание наиболее вычислительно затратных вещей под целевую платформу даст наибольший выигрыш, но хочется сохранить единую кодовую базу с x86_64, где уже используются интринсики. Если кто-то профилировал данную или подобные реализации, то сильно ли она проигрывала написанному коду непосредственно под NEON?
  23. Привет всем страждущим комфорта в программировании. Всем известно, что FreeRTOS отлично компилируется под отечественные 1986ВЕ1Т и 1986ВЕ3Т. Но немецкая пунктуальность товарищей из ARM не позволяет простым юзерам из России так вольготно конфигурировать свои проекты, да и с нашей отечкой они скорее всего слабо знакомы. Поэтому если вы используете в своих проектах вышеуказанные процы, то для них вы не сможете выбрать FreeRTOS напрямую в Manage Run-Time Environment. Он вам просто не даст это сделать поскольку... ну это же Cortex-M1. А FreeRTOS нативно понимает только или Cortex-M0 или M3, ну и там остальные по списку к делу не относящиеся. Хмм... Конечно подключение FreeRTOS к проекту вручную не требует особо много телодвижений. Достаточно скопировать пару папок и настроить инклуды. Но, как известно, программисты - самые ленивые существа. Иногда хочется просто поставить галочку для FreeRTOS как это описано тут для 1986ВЕ9x. Вот с этой целью я для себя подкорректировал конфигурационный файл пакета Keil. И теперь он стал узнавать наши 1986ВЕ1Т и 1986ВЕ3Т и даёт конфигурировать FreeRTOS как обычно. Это очень удобно особенно если вам приходится создавать много мелких пробных проектов с FreeRTOS. Файл прилагаю во вложении. Может кому и пригодится. Для того чтобы им воспользоваться нужно в папке установки библиотек, по умолчанию это C:\Users\$USER\AppData\Local\Arm\Packs\ARM\CMSIS-FreeRTOS\10.3.1, сделать снять режим "Только для чтения" с файла ARM.CMSIS-FreeRTOS.pdsc. Потом переименовать его в ARM.CMSIS-FreeRTOS.pdsc.bak. Так мы сделали резервную копию. (Всегда делайте резервную копию всего что изменяете ) Затем копируете приложенный файл в указанную папку. И перезапускаете Keil. Теперь у вас есть FreeRTOS для 1986ВЕ1Т и 1986ВЕ3Т. PS: Работает для последней на данный момент версии FreeRTOS 10.3.1 в Keil 5.31. Файл даётся на правах "AS IS". Ответственность на использующем. ARM.CMSIS-FreeRTOS.pdsc
  24. Добрый день! Запустил вывод картинки на дисплей и вывод звука через встроенный кодек МК Allwinner A13 под голое железо(без ОС и прочего). Обнаружилась проблема: если активно работать с видео, то обработчик прерывания воспроизведения звука звука завешивает процессор в Abort. Код выполняется с внешней памяти с адреса 0x40000000. MMU , кеширование, предсказание ветвления включены. crt0.s приводил к повисанию, libc не инициализирована. Пришлось сочинять свой стартап. Может что-то упустил. Звук через Normal DMA, канал 0. Прерывания по опустошению половины- и полного- буфера. Буфер выравнен на 32 байта. Буфер некешируем, но буферизован (MMU). Буфер во внешней DDR памяти. Видео: одна поверхность через TCON0, рендерер - composer. Используется анимация изображения, для отрисовки делал 2 варианта: 1) во время обратного хода луча по кадру - переключаю адрес памяти отображения буфера. Показываю буфер-1, рисую в буфере-2. Затем наоборот. 2) во время обратного хода луча по кадру - через Shared DMA(канал 0) перевидываю с заднего буфера в отображаемый буфер. Обратный ход луча по кадру проверяю через GPIO (просто завёл сигнал с VSYNC на свободный пин), так как прерывание по VBLANK не совсем удобно, так как там уже звук. Доступен один вектор -IRQ. Остальные - исключения, SWI и FIQ (который жестко привязан к NMI). В обработчике прерывания от "звукового DMA" пишу единицы в соответствующие биты регистра состояния (подтверждение прерывания). По отдельности видео и звук работают, но одновременно - зависает! Компилирую всё это дело тулчейном GCC-ARM-NONE-EABI v.9. По линковщику вопрос. Использую C++, new/delete, malloc/free. Вроде настроил всё правильно - адреса из кучи выделяются. Если несложно, скиньте пожалуйста скрипт lds для GCC, который был бы настроен на фиксированный адерес, и в котором можно задавать размер: стека, кучи, bss и прочего. Ниже скрипт для линковщика:
  25. Здравствуйте. Имеется отладочная плата Салют-ЭЛ24ОМ1 ревю1.2 с процессорным модулем Салют-ЭЛ24ПМ2 рев.1.1 Использую стандартный загрузчик версии mcom02-salute-el24pm2-r1.0-1.1-om1-r1.2-uboot и образ linux-а mcom02-buildroot-v3.1.0-2019-09-27. Пытаюсь добавить в образ поддержку Qt для работы с GUI. При стандартной конфигурации при попытке вывести изображение с использование linuxfb ничего не происходит(только черный экран). Далее, пишут, что linuxfb является устаревшей технологией, тем более для платформ с GPU. Для этого рекомендуют использовать eglfs. Чтобы включить eglfs в buildroot необходим провайдер, который обеспечивает поддержку OpenGL. Если я правильно понимаю, то это должен обеспечить драйвер mali. Но ничего подобного в сборке я так и не нашел. Хотел бы узнать какие библиотеки необходимы для запуска графических приложений и вывода их на экран монитора по hdmi. ПС. Также пытался за пустить X.org но ничего не вышло, не видит дисплей.
×
×
  • Create New...