mbr
Участник-
Постов
105 -
Зарегистрирован
-
Посещение
Весь контент mbr
-
Выбирать RTOS из-за очень синтетического параметра как время переключения контекста это очень странно - с таким подходом первое не во время прилетевшее прерывание разрушит всю систему. У меня в REx получается около 6us при 72MHz. При этом простой вызов ядра - 1.9us. Я считаю время более чем приемлимым. Мало того, если включить профилирование (время работы процесса, размер использованной кучи и стека и т.д.), время увеличивается до целых 11us, но какой-либо потери производительности от этого я не заметил. Код теста есть в примерах.
-
Разработка Электроники, Трассировка Пп, Сколка Пп, Кд
mbr ответил NEWEL тема в Ищу работу
Связался с этими товарищами. Согласовали цену и условия, ударили по рукам. Сначала что-то делали, потом начали динамить. Динамили две недели. Под конец у их инженера случилась истерика и он вообще отказался работать. Месяц работы - псу под хвост. Героя зовут Станислав Бедеров. Думайте сами. -
нужен USB Audio Device на STM32F405RG6
mbr ответил imk тема в Предлагаю работу
Могу решить эту задачу. Поднимал CDC, Mass storage, HID. F405 только для этой задачи - слишком круто. F103 хватит более чем. -
Реверс Инжиниринг Планшета
mbr ответил MIkler тема в Предлагаю работу
Много лет занимаюсь подобными задачами :) Я правильно понимаю - слить прошивку, сделать флешер, отреверсить драйверы? Контакты отправил в PM. Москва. -
STM32F4Discovery FLASH
mbr ответил graf_vladislav тема в ARM
Это для F1, но суть та же: __disable_irq(); while (FLASH->SR & FLASH_SR_BSY) {} FLASH->CR |= FLASH_CR_PG; *addr = value; while (FLASH->SR & FLASH_SR_BSY) {} FLASH->CR &= ~FLASH_CR_PG; __enable_irq(); Желательно в конце добавить проверку на ошибку. -
Серия HC08
mbr ответил mr.black тема в Предлагаю работу
Если в железке предусмотрено обновление firmware, могу поковырять через внешний или внутренний загрузчик - как правило, для таких микроконтроллеров цифровых подписей не делают. [email protected] -
Есть полностью разработанные мной драйверы для STM32F2 USB HS BULK, DMA/FIFO. 20 мбайт/с в режиме рам-диска mass storage выдавали - на F4 будут пошустрей. Для F4 переписать нужно лишь дерганье регистров, которое там особо не менялось и поднять PLL. Задача на день. Москва. SMT32F4 discovery есть, если что. [email protected]
-
Задача стартапа не только инициализация железа, но и, в том числе, скопировать инициализированные глобальные переменные из флеша в рам. Прочитайте документацию по линкерным скриптам, посмотрите по листингам, куда попадают глобальные переменные и напишите небольшую асмовскую вставку, которая скопирует эти данные. Либо возьмите готовый скрипт и выкиньте оттуда лишнее.
-
Еще один момент. Может и не в либе дело. Все буферы должны быть по doubleword align. Самый простой способ проверить - отрубить дма и посмотреть.
-
Попробуйте при линковке добавить ключ -lstdc++ Если я правильно понимаю, линкеру нужно явно указывать, что компилируются плюсы. Стандартные либы у gcc очень тяжелые, с этим ничего не сделаешь. Newlib не сильно лучше.
-
Если я правильно понял смысл, то где-то в .ld заводится место под блоки эмуляции еепром. Разве не проще, чтобы такого не происходило и не приходилось каждый раз перешивать eeprom после изменения кода, зарезервировать под еепром страницы предварительно и задать их константами в коде?
-
У меня такое было, когда не было включено увеличенное энергопотребление по CMD6. По usb-hs скорости впечатляют. Это c какой частотой микроконтроллера получено? Какая обвязка?
-
А какие опции у железа есть по ресету? Вопрос не совсем понятен.
-
J-Link в Ubuntu
mbr ответил zemlemer тема в GNU/OpenSource средства разработки
не установлен пакет libusb-0.1-4 libusb-dev Вам не нужен. -
Для си тоже есть возможность размещать функции в определенных секциях. Синтаксис зависит от компилятора.
-
Вообще, сначала инициализировать обработчик и разрешать прерывание, которое работает с железом а уже ПОСЛЕ этого инициализировать само железо - совсем не правильно. Есть вероятность, что вызывается обработчик до инициализации.
-
Сам хост я не реализовывал, пока не было задач. Но для хоста и девайса используются одни и те же FIFO и ДМА. Поэтому, я не вижу причин, почему скорость хоста должна быть почти на порядок ниже. К слову да, а Вы точно в ДМА режиме используете библиотеку?
-
Гм. Если есть даташит на процессор, готов взяться. alexeyk13 яндекс.ru
-
Я сейчас точно не скажу, покопайтесь на форуме, я там статистику скидывал - у меня получалось более 10мб/с в комплекте с тормозной сд-картой. на ulpi3300 и f215. Добью один проект, постараюсь скинуть в опенсорс в рамках проекта ртос mkernel.
-
Фьютексы же. Можно использовать два буфера (что, собственно, реализуется большинством ОС) - один на чтение, второй на запись. Буфер на запись можно использовать свободно. Дальше используем две дополнительные переменные - lockFlag и readed. в основной программе: lockFlag = 1; <read data here> readed += <readed size> lockFlag = 0; в обработчике: if (!lockFlag) { real_size -= readed; readed = 0; }
-
и еще AFIO предварительно включить. RCC->APB2ENR |= RCC_APB2ENR_AFIOEN; AFIO->MAPR |= AFIO_MAPR_SWJ_CFG_DISABLE;
-
А как тогда быть с soft-reset (armv7)? Если "разумеется", почему ресет не отрабатывает? А грубить-то зачем?
-
Дополнительный блок регистров, это лишь бонус. Если мы рассматриваем nested interrupts (для запрета вложенных прерываний необходимость FIQ и так очевидна, имхо), то, при достаточно разветвленной системе прерываний и наличии приоритетов, программная реализация NVIC - это не только упомянутый stacking/ustacking, но еще и очередь приоритетов, что всегда - компромисс между скоростью и возможностями. И уж точно не несколько тактов. В лучшем случае - несколько десятков тактов. Плюсом, любое менее приоритетное прерывание, хоть и не будет вытеснено, но может затормозить обработчик на время проверки приоритетов. Так что, в обоих случаях, быстрый FIQ может найти свое применение.
-
Китайцы (МТК) начали выпускать проприетарные чипы со встроенным нандом/рам. Там, правда, АРМ9 и без особых связей и партий от миллиона штук их фиг получишь, но нечто подобное уже есть.