Search the Community
Showing results for tags 'arm'.
-
Разблокировка FreeRTOS для 1986ВЕ1T и 1986ВЕ3T в Keil 5.x
l11acmep posted a topic in ARM, 32bit
Привет всем страждущим комфорта в программировании. Всем известно, что 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 -
Продам отладочные платы 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
-
Cortex-A и GCC. (A13 + arm-none-eabi). Вопрос.
__inline__ posted a topic in ARM
Добрый день! Запустил вывод картинки на дисплей и вывод звука через встроенный кодек МК 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 и прочего. Ниже скрипт для линковщика: -
Салют-ЭЛ24ОМ1 Qt+GUI
sweetpirate posted a topic in Отладочные платы
Здравствуйте. Имеется отладочная плата Салют-ЭЛ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 но ничего не вышло, не видит дисплей.- 4 replies
-
- arm
- салют-эл24ом1
-
(and 2 more)
Tagged with:
-
Данная серия публикаций(впервые на русском языке) основана на материалах цикла STM32F7 Online Training от компании STMicroelectronics. В статьях представлено описание функциональных блоков и инструментов разработки для семейства микроконтроллеров STM32F7. Логически материал разбит на 4 главы, охватывающие тематику системной периферии, памяти, безопасности, аналоговой периферии, цифровой периферии, таймеров, экосистемы. Главы не связаны между собой, и читатель может ознакомиться с ними в произвольном порядке. Предлагаем вашему вниманию часть 4 "Экосистема". В четвертой части описаны STM32CubeMX и отладочные платы под этот процессор: STM32CubeMX – программная платформа с графическим интерфейсом, которая максимально упрощает построение программных проектов для микроконтроллеров STM32. STM32CubeMX позволяет работать не только с семейством STM32F7, но и со всеми существующими семействами микроконтроллеров STM32(см.рисунок). STM32CubeMX позволяет выполнять следующие операции (см.рисунок): выбирать оптимальный микроконтроллер или отладочную плату с учетом особенностей конкретного приложения. Фильтрация производится по различным полям, таким как серия, корпус, объем памяти и так далее; конфигурировать выводы микроконтроллера с помощью утилиты Pin Wizard; настраивать частоты глобальных тактовых сигналов и тактовых сигналов периферийных устройств с помощью утилиты Clock Wizard; настраивать параметры ПО промежуточного уровня, такие как файловая система, стеки протоколов, операционные системы и прочее, а также периферийные блоки с помощью утилиты Perepherial and middleware Wizard; оценивать уровень потребления и срока службы аккумулятора при заданных настройках микроконтроллера с помощью утилиты Power consumption Wizard; Создавать и редактировать проекты для микроконтроллеров STM32 с последующей генерацией С-кода для конкретных IDE (IAR™ EWARM, Keil™MDK-ARM, Atollic® TrueSTUDIO и AC6 System Workbench (SW4STM32)). При этом для генерации С-кода могут использоваться различные библиотеки нижнего уровня от ST: HAL или LL. Рассмотрим процесс создания проекта в STM32CubeMX, который представляет собой последовательность из нескольких шагов. читать далее>> Мы продолжим публиковать на сайте compel.ru материалы по микроконтроллерам ARM. Если материал оказался для вас полезным - подпишитесь получение уведомлений о публикациях. Оформить подписку>>
-
Обработка прерывания с более высоким приоритетом
Алексей ВМ posted a topic in ARM
Добрый день! Чип stm32f405. Имеется прерывание от DMA, приоритет 15. В этом прерывании запускается таймер, приоритет 0, далее обработчик прерывания DMA занимается своими делами ещё 5 мкс. Таймер выставлен на 3 мкс. Если я правильно понимаю, выполнения обработчика прерывания DMA должно прерваться при срабатывании таймера, однако этого не происходит. Что я делаю не так? Инициализация NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure); NVIC_InitStructure.NVIC_IRQChannel = DMA2_Stream5_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 15; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure); Обработчик DMA void DMA2_Stream5_IRQHandler(void) { uint8_t i,j = 0; if(DMA_GetITStatus(DMA2_Stream5, DMA_IT_TCIF5)) { DMA_ClearITPendingBit(DMA2_Stream5, DMA_IT_TCIF5); DMA_Cmd(DMA2_Stream5, DISABLE); TIM_Cmd(OUT_TIM, DISABLE); TIM_ClearITPendingBit(TIM3, TIM_IT_Update); TIM_SetCounter(TIM3, 0); TIM_Cmd(TIM3, ENABLE); ....... -
В начале 2019 года в гостях у компании Компэл побывали несколько ведущих менеджеров STMicroelectronics, отвечающих за регион EMEA (Европа, Средний Восток, Африка). Несмотря на плотный деловой график, европейские коллеги согласились ответить на несколько вопросов о продукции ST и перспективах развития компании на ближайшие годы, заданных редактором «Новостей электроники» Геннадием Каневским. Геннадий Каневский: В России компания STMicroelectronics известна в первую очередь как производитель микроконтроллеров. Доля продукции вашей компании в этом секторе рынка постоянно увеличивается. В чем, на ваш взгляд, секрет такого успеха? Джеки Педрижа, вице-президент по маркетингу и применению в регионе EMEA:Успех микроконтроллеров ST начался с 2007 года, когда компания решила выпустить на рынок новый запатентованный 8-битный MCU семейства STM8. ST также была первой компанией, создавшей семейство 32-битных микроконтроллеров с ядром ARM Cortex-M. У успеха, сопровождающего нас с того момента, есть три технические составляющие и одна коммерческая. Технические: мы быстро запустили начавшее непрерывно развиваться семейство 32-разрядных микроконтроллеров, использующих непатентованное, эффективное и мощное ядро; семейство микроконтроллеров STM32 предполагает наличие экосистемы и учитывает интересы проектировщиков/разработчиков, обладает гибкостью, масштабируемостью, определенной стоимостью владения и долговечностью, а также гарантирует доступность микросхем в течение 10 лет; имеется бесплатная экосистема разработки и настройки с инструментарием (а также сообщество разработчиков и форум), техническая поддержка от компетентных и квалифицированных инженеров по микроконтроллерам. Коммерческая составляющая нашего успеха заключается в том, что с первого дня мы были нацелены как на широкий спектр приложений, разрабатываемых средними и малыми клиентами (так называемый массовый рынок) в рамках промышленных применений – важного сегмента применений в регионах EMEA, – так и на потребителей в области телекоммуникаций, персональной электроники и, конечно, приложений интернета вещей (IoT). Г.К.: Расскажите, пожалуйста, о дальнейшем развитии линейки микроконтроллеров ST. Какие новинки нам следует ожидать в 2019-2020 годах? Дж.П.:Начиная с 2007 года наша стратегия развития микроконтроллеров заключается в том, чтобы сосредоточить на каждом континенте и в каждом регионе, насколько это будет возможным, группу, состоящую из преданных своему делу квалифицированных специалистов по техническому маркетингу, инженеров по применению и технической поддержке, которая, благодаря сети глобальных и локальных дистрибьюторов и партнеров, подобных компании Компэл в России, будет максимально близка к потребителям. Кстати, крупнейшие локальные дистрибьюторы в каждой стране становятся лидерами в продвижении нашего бренда. Наш рост был сугубо органичным и впечатляющим: в 2007 году мы были на 11 месте в мире по производству микроконтроллеров, а в 2017 поднялись на 3 место! При этом доля нашей продукции на мировом рынке составила 20%, мы – № 1 по продаже микроконтроллеров в Китае и нам принадлежит 24% рынка в регионе EMEA. В настоящее время семейство STM32 состоит из 14 серий, разделенных на 4 группы: микроконтроллеры со сверхмалым энергопотреблением, продукция основной группы, компоненты с высокой производительностью и с возможностью беспроводной связи. И мы продолжаем расширять это семейство. Читать далее>>
-
Данная серия публикаций(впервые на русском языке) основана на материалах цикла STM32F7 Online Training от компании STMicroelectronics. В статьях представлено описание функциональных блоков и инструментов разработки для семейства микроконтроллеров STM32F7. Логически материал разбит на 4 главы, охватывающие тематику системной периферии, памяти, безопасности, аналоговой периферии, цифровой периферии, таймеров, экосистемы. Главы не связаны между собой, и читатель может ознакомиться с ними в произвольном порядке. Предлагаем вашему вниманию часть 3 "Периферия и таймеры". В третьей части очень подробно описано о АЦП, ЦАП, CAN, DCMI (интерфейс цифровой камеры), дельта-сигма модуляторе, интерфейсе DSIHOST — для работы с TFT дисплеями и LTDC контроллер (управление дисплеем по RGB), JPEG-кодек, Ethernet, HDMI, I2C, SPI, USART, USB, SDMMC, SAI и SPDIFRX аудио интерфейсы: Аналогово-цифровые преобразователи (АЦП) Встроенные аналогово-цифровые преобразователи (АЦП) позволяют микроконтроллерам измерять аналоговые напряжения, например, сигналы с датчиков. В составе STM32F7 присутствуют три 12-битных АЦП последовательного приближения с 16…24 входами и производительностью до 2,4 миллионов выборок в секунду (MSPS) или до 7,2 MSPS при последовательном запуске всех трех АЦП (режим "interleaved mode"). Основные характеристики встроенных АЦП представлены в таблице "Характеристики АЦП в микроконтроллерах семейства STM32F7". Скорость выполнения измерений зависит от разрядности и рабочей частоты АЦП. Это объясняется достаточно просто. Каждый цикл измерения состоит из двух фаз: выборки и преобразования. На выборку всегда затрачиваются как минимум 3 такта, а количество тактов, необходимое для преобразования, зависит от разрешения. Чем меньше разрешение, тем выше будет скорость измерений. При использовании максимального разрешения 12 бит и частоты тактирования 36 МГц производительность АЦП достигает 2,4 миллионов измерений в секунду. Таким образом, при необходимости пользователь может пожертвовать разрешением ради скорости. Кроме того, при последовательном запуске всех трех АЦП скорость измерений можно поднять до 7,2 MSPS. Читать далее>> Мы продолжим публиковать на сайте compel.ru материалы по микроконтроллерам ARM. Если материал оказался для вас полезным - подпишитесь получение уведомлений о публикациях. Оформить подписку>>
-
Приветствую. Имеется плата на базе TCI6636K2H(ARM + DSP). На ARM крутится Linux, на DSP - SYS/BIOS. Из пакета pdk_k2hk_4_0_9 интересовали примеры для обмена между ARM и DSP в частности transportQmssDspEpK2HC66TestProject, после его допиливания обмен удалось запустить, но там есть ограничения на размер буфера. Далее в пакете processor_sdk_rtos_k2hk_4_03_00_05 перешли к примеру bigdataipc. Поправив все нужные пути и переменные окружения данный пример был собран для версии с Linux. Сразу не запустился, команда mpmcl load dsp0 server_dsp.xe66 завершалась с ошибкой, но после манипуляций из e2e пример стал грузиться. При выполнении следующей команды mpmcl run dsp0 в консоль вываливается ошибка remoteproc remoteproc0: Failed to process resources: -22. Эта ошибка является следствием рассогласования содержимого одного из следующих файлов: 1. файл dts со стороны Linux 2. файл mpm_config.json со стороны Linux 3. файл rsc_table_dsp.h со стороны DSP В файле rsc_table_dsp.h инициализируется структура ti_ipc_remoteproc_ResourceTable, которая используется при вызове команды mpmcl run dsp0 и проверяет её на соответствие первым двум файлам. Если использовать ti_ipc_remoteproc_ResourceTable по умолчанию, т.е. где не происходит выделения области CMEM для DSP, пример запускается, но падает при попытке обмена, что естественно. Привожу кусок листинга используемого файла dts: Файла mpm_config.json: Файл rsc_table_dsp.h: Файл config.bld: Адрес и размер области cmem в файле dts менял на адреса DDR, дефайны DSP_CMEM_IOBUFS, PHYS_CMEM_IOBUFS, DSP_CMEM_IOBUFS_SIZE из файла rsc_table_dsp.h делал соответствующие, но вызов команды mpmcl run dsp0 приводит к ошибке remoteproc remoteproc0: Failed to process resources: -22. Пока не могу выявить четкого соответствия между этими файлами для запуска. Может кто сталкивался, отпишитесь. Спасибо
- 10 replies
-
- linux
- tci6636k2h
-
(and 3 more)
Tagged with:
-
Защита ПО на Xilinx Zinq 7000 FPGA & ARM SOC
CS3 posted a topic in Предлагаю работу
Есть готовые устройства на Xilinx Zinq 7010, надо как-то защитить прошивку от реверс инжиниринга, копируют пока ладно, пусть. без модификации плат. Желательно чтоб можно было стандартными имеющимися средствами обновить прошивку (уже есть это, линукс стоит, можно и u-boot обновить). Идеи - так как устройства IoT, на связи с нашими серверами, можно через защищенный канал что-то делать, например после обновления подгружать сгенерированную прошивку именно для этого чипа по защищенному каналу. Есть под них прошивка с U-BOOT, исходники. Прошивка должна будет загружаться как и сейчас для обновления по HTTP, а также иметь механизм возврата на старую (незащищенную) стандартную версию. Мы в Москве, возможна удалённая работа, образцы железяк дадим или организуем удалённый доступ. Сроки и бюджет обсуждаемы. может поможет https://www.xilinx.com/support/documentation/application_notes/xapp1226-protecting-info.pdf