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

jcxz

Свой
  • Постов

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

  • Посещение

  • Победитель дней

    38

Весь контент jcxz


  1. полноценный линукс на "мелких МК" (типа Cortex-M) не возможен по определению. Меньше всяких "блохеров" читайте.
  2. stm32f747 + Ethernet (LwIP)

    Или недобор? max ведь не указано. А значит и 0.5с может не хватить. И почему 0.5с, а не 5с или не 50с? ЗЫ: Вобщем, как уже сказали - решение с задержкой кривое. Сегодня работает, завтра - нет. Но ТСу лень читать документацию, чтобы сделать правильно.
  3. stm32f747 + Ethernet (LwIP)

    Наверняка есть. Но это же документацию читать надо.
  4. Всё а не всё. Всё-таки CPU с FIQ/IRQ гораздо шустрее реагируют на прерывания, чем Cortex-M с NVIC.
  5. Я вообще-то писал не про время входа в свой ISR, а про случай, когда ваше срочное прерывание возникло в тот момент когда уже только начался вход/выход в другой ISR. И писал это не про ARM-ы с переключением состояний FIQ/IRQ, а про Cortex-M с его NVIC (STM32). Никакой стабильности там быть не может по определению. А будет джиттер в десятки тактов (опять же - Cortex-M).
  6. Не верю! Сказки не надо рассказывать. Один вход или выход в ISR занимает уже десятки тактов (это если контекст FPU не сохраняется/восстанавливается; иначе будет ещё печальнее). Точно такие же сказки - максимальное время активации задачи во FreeRTOS == 900нс. По причине (как уже сказали выше) - что сервисы РТОС выполняются как правило при запрещённых прерываниях. ЗЫ: Сказочникам советую почитать описание CPU и посмотреть исходный код сервисов FreeRTOS. Для спуска с небес на землю... Кроме ПЛИС можно взять МК с богатой периферией, и реализовать нужный функционал силами этой периферии.
  7. Ну да Гладко было на бумаге, да забыли про овраги.... Один из моих прошлых заказчиков решил перенести наш проект (ранее реализованный на LPC17) на ESP32. "для удешевления" типа. Нашёл какого-то программиста, взявшегося за работу. И вот.... прошёл почти год. Насколько мне известно - до сих пор ещё результат не получен. Хотя в своё время, на LPC, первая версия девайса у нас заработала уже примерно через месяц. Периферии там немного. Да и в целом вроде девайс не особо сложный. Для обычного микроконтроллера по крайней мере. Хотя у меня с самого начала были большие сомнения насчёт реализуемости на ESP32. PS: И даже если заработает всё-таки, то боюсь заказчик будет неприятно удивлён временем его автономной работы (девайс имеет батарейное питание).
  8. Это не всегда так. А чаще вообще не так. Чаще целевым параметром ПИД-регулирования при управлении мотором, является не скорость, а крутящий момент. Например - в электротранспорте так. Потому что задающим воздействием, которое нужно выполнить ПИД-у, является величина нажатия педали акселератора водителем. Педаль задаёт крутящий момент, а не скорость. Аналогично - с электросамокатами и прочими средствами передвижения.
  9. stm32f747 + Ethernet (LwIP)

    Много чего. Например - инитит регистры отладки и включает таймер DWT. Если этот таймер используется в коде, но не проинициализирован, то будут проблемы. Наверное нужно всё-таки проверить просто рестарт, а не вкл. питания? С помощью сигнала RESET и с помощью соответствущего регистра сброса ядра или WDT. Если у вас инит регистров физики реализован криво, то он может не срабатывать из-за того, что физика ещё не закончила power-on reset. А вы уже пытаетесь в неё что-писать. Без контроля готовности. В этом случае после сброса по WDT или через ядро, старт должен быть нормальным, как из под отладчика.
  10. Хотя бы в том, что перед передачей управления в main(), необходимо как минимум выполнить си-стартап. Который должен проинициализировать глобальные и статические переменные. Это не считая того, что в запускаемой программе какая-то работа может выполняться до main(). А вы её пропустите.
  11. варианты: 1. Не давать включить защиту. 2. Выключить её в соответствующем сервисе ОС (например в сервисе SVC). 3. Сделать все необходимые дела в ISR. Кто мешает вам так сделать? Вроде как всё элементарно.
  12. Чтобы "запустить другое приложение", изменить MSP скорей всего будет недостаточно. В идеале нужно предварительно вообще все регистры ядра и периферии перевести в исходное (послесбросовое) состояние. Иначе следующий ваш вопрос будет: "Почему после запуска отладчиком то приложение работает, а после запуска мои загрузчиком - нет?". Мешает то, что оно так не запустится. С большой долей вероятности. Запуститься так оно может только если специально было спроектировано под такой тип запуска. А сделать такое непросто.
  13. Как-то не верится... У нас тут кое-где катаются электробусы, городские. Заряжаются вроде как на конечных остановках. Если бы было так, как вы пишете - ресурса батарей и на месяц не хватало бы. И это было бы просто не выгодно.
  14. Это имхо опять старая история: Скупой платит дважды. Жаба не даёт автору купить хорошие аккумуляторы, которые выдержат много циклов перезаряда. И что-то пытается сколхозить на коленке. Подешевле. Вот когда у тебя под окнами хотя бы один день походит такой товарищ с тарахтелкой-вонялкой, то ты поймёшь как раньше везло тебе! PS: А ещё бывает - большой газон под офисными окнами, который всё лето стригут бензиновыми газонокосилками. Причём - в самый разгар рабочего дня и целая команда косцов! И никуда от этого не сбежишь...
  15. Автор игнорирует советы. Бесполезно это всё. PS: А вы можете кинуть ссылкой на такой USB-хаб с питанием от 12V БП? А то мне почему-то такие не попадались. Всё только на 5V.
  16. Я вот читаю тему и не пойму - а какова область применения этих дронов? Вроде автор ранее писал что-то об исследовании неких строительных конструкций с помощью дронов. Если это оно, то где эти конструкции находятся? Это какая-то заброшка в полях? промышленный объект? или объект внутри жилой застройки? Если последнее, то неужто автор всерьёз рассматривает использование дронов с бензиновыми двигателями (и бензобаком на каждом!), летающих стаей перед окнами добропорядочных бюргеров??? Но даже если это заброшка в полях или пром-объект, то: Автор тут рассуждает о затратах времени на перезарядку аккумуляторов дронов. И сколько рабочего времени на это будет потеряно. А он не посчитал - сколько времени потребуется на проветривание помещения (если полёты будут проходить в каком-то закрытом помещении/ангаре) после таких полётов, чтобы потом туда мог зайти персонал? И не пробовал ли он запускать бензиновый двигатель (даже маленький) в гараже и находиться там же при этом хотя-бы несколько минут?? PS: Когда осенью у меня под окнами дворник с ручным пылесосом с бензиновым движком начинает сдувать опавшие листья, то приходится закрывать окна. Так как тарахтит он очень громко. Даже если дворник ходит у соседнего дома. А когда он ходит вблизи нашего дома, то (если не закрыть окна и направление ветра соответствующее) уже через несколько минут в квартире начинает очень ощутимо вонять выхлопными газами. Хотя окна - на 5-м этаже. И дворник всего один, а не стая их ходит. И нету опасности, что этот дворник с полным бензобаком вдруг влетит в окна квартиры. Если же стая таких бензодронов начнут летать, тарахтеть и вонять вблизи окон добропорядочным бюргеров, то уверен на 100% - в полицию поступит просто шквал звонков с жалобами.
  17. хе! У меня сдох фирменный "Intel 540s". После всего каких-то двух или трёх лет работы в обычном режиме 8ч/5дн. А на другом ноуте (которому ещё и двух лет не исполнилось) SSD уже начал какие-то ошибки выкидывать периодически. Иногда вдруг перестают читаться файлы. Потом восстанавливаются. Но уже опасаюсь.
  18. и...? В чём вопрос? Вы не знаете как заменить деление на 50, эквивалентным ему умножением??? Ну видимо нужно умножать на 1/50 = 0.02. Очевидно. Далее выбираем любой подходящий Q-формат, представляем 0.02 в нём и производим необходимое умножение. PS: Ну чесслово - какой-то детский сад.....
  19. Точно так же, как на любое целое число. Вбейте в гугл "Q-number format" и получите море ссылок. Например: https://en.wikipedia.org/wiki/Q_(number_format)
  20. Даже в 8-битках, если они имеют команды умножения (любой разрядности), то замена деления умножением также должна дать выигрыш в скорости. А если у них при этом нет команд деления, то выигрыш будет даже больше, чем на Cortex.
  21. Если коэффициент = const, то деление запросто заменяется умножением. Которое занимает 1-2 такта на >= Cortex-M3.
  22. По такой логике тогда и двоеточие после "город" нужно вернуть. А то у некоторых теперь получилось: "Город Липецкая обл.". Что тоже как-то совсем коряво. Тем более поле "Регистрация:" - с 2точием.
×
×
  • Создать...