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

AlexandrY

Модератор
  • Постов

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

Сообщения, опубликованные AlexandrY


  1. 1 hour ago, Chameleos said:

    Её развернуть на ОСРВ, Embox. 

    "Развернуть" - хорошо сказано.
    И че люди малину используют если любую линуксовую либу можно просто "развернуть" на гораздо более экономичных cortex m4? 

    Нельзя просто так взять и развернуть, потому что в списке платформ у PJSIP нет к1921вк028 
    Нужно портировать.
    И Embox, ИМХО, для этого худший вариант,  там нет исходников портированной PJSIP, а демка явно мало функциональна и абсолютно никакой доки.
     

  2. 48 minutes ago, flammmable said:

     Как есть идеологические варианты организовать переключение между этими режимами?

    Такое делается интеграцией в дивайс коммуникационного протокола с разделением на логические каналы. 
    Таких есть куча готовых с легко портируемыми сорсами, причем с клиентскими частями под PC.
    Режимы там переключать не надо, логические каналы работают параллельно. 

  3. 15 hours ago, Димон Безпарольный said:

    Как это изменить из программы?

    timeClient.stop();

    timeClient.setPoolServerName(AnotherPollName);

    timeClient.begin();

     

    P.S.

    Как же в этой ардуине все примитивно. 
    Иногда кажется чего мы мучаемся с этими RTOS-ами. 

  4. 18 minutes ago, SII said:

    Вот я и предпочитаю им по минимуму -- а посему, если есть возможность, использую отдельный асмофайл, а не встроенный ассемблер.

    Ребят, вы не в тренде. 
    В Azure RTOS, а это сейчас одна из самых популярных осей в мире, которая засертифицирована по надежности по самое немогу применяются исключительно ассемблерные вставки! 
    Ни одного чистого файла на ассемблере.
    Более того, именно когда требуются супернадежные функции для соблюдения требований MISRA применяются ассемблерные вставки, а не файлы.
    Просто факт. 

  5. 10 hours ago, aaarrr said:

    Несомненно.

    Да, это не STM, а скажем так, некий чип от Renesas-а.
    Пока стало ясно, что ошибка не в замыканиях  или разрывах дорожек. 
    На 3-х платах повторяется все один в один вплоть до неправильно считанных значений.   
    И ошибки именно в произвольной адресации в банках SDRAM 1,2,3. 
    В банке 0 все тесты проходят успешно.  
    Т.е. имеем картину: если адрес по нарастанию переходит из банка 0 в банк 1 и далее, то все отлично, можно писать и читать любые байты, ничего не портится. 
    Но если попытаться по произвольному адресу прочитать в одном банке, а потом по произвольному адресу в другом, то чтение будет с ошибкой.  
    Прикольно, но если тест в отладчике после записи данных начать идти по шагам на этапе контрольного считывания, то ошибок вообще нет! Из этого следует, что портится не запись, а чтение. 

    На всех чипах на корпусе чипа написано 7ZG12.
    Т.е. то ли 2017-й то ли 2007-й год , 52 -я неделя, ревизия G (2003 года), countries of diffusion - USA, countries of encapsulation - Singapore
    Может брак? 

  6. 45 minutes ago, AVI-crak said:

    Ну не знаю, A0 это всегда SDRAM_A0. Сама память отдаёт по младшему адресу все 16 бит разом. DQM0, DQM1 - это как-раз для управления отдельными байтами. Периферийный блок sdram в ST - самостоятельно рулит адресацию, если его верно настроить.

    А то что на схеме приклеено - просто не должно работать, внешний чип памяти инициализируется адресными линиями.

    Схема рабочая. В том смысле что некоторые тесты SDRAM проходят отлично. 
    Версия по поводу неправильной инициализации Mode Register в SDRAM могла бы быть интересной,
    но именно в этой SDRAM c адреса A10 и выше можно писать что угодно, там эти биты не используются.  

  7. 41 minutes ago, aaarrr said:

    А характер ошибок какой?

    Пишу байтами. Типа так:

        srand(magiс_variable);   
        for (i=0; i < blocks_size; i++)
        {
          addr = GetRandAddr();
          *((uint8_t *)addr)= rand();
        }

    Когда все заполнено  читаю  и сравниваю опять с rand
    Функция rand штатная из C.
    Если ошибка, то читается совершенно другой байт. Причем появляется уже на втором шаге цикла
    Но как понял, хотя глубоко не копал, если повторить тест с теми же числами, то и значения ошибочных байт повторятся.   
    Системы я не обнаружил.   

  8. Стоит на плате такая SDRAM.
    Тип подключения к микроконтроллеру ARM-Cortex M4  - 13-bit row address, 9-bit column address

    image.thumb.png.fe97a43aa4134f01255d759cb0076fae.png

    Если всю ее заполнять последовательно случайными числами, а потом заново прочитать то все нормально, и не разу не фиксировалось ошибки за десятки прогонов. 
    Но как только пытаешься заполнять  случайными числами по псевдослучайным адресам, то возникают ошибки.
    Причем если адресное пространство разбить на 8 частей, и каждую тестировать псевдослучайным заполнением отдельно, то будет так:

      0x0000 0000 ... 0x0040 0000  good     
      0x0040 0000 ... 0x0080 0000  bad 
      0x0080 0000 ... 0x00С0 0000  bad 
      0x00C0 0000 ... 0x0100 0000  bad 
      0x0100 0000 ... 0x0140 0000  good    
      0x0140 0000 ... 0x0180 0000  bad 
      0x0180 0000 ... 0x01C0 0000  bad 
      0x01C0 0000 ... 0x0200 0000  bad 

    Что можно напутать чтобы так получилось? 

     

  9. 3 hours ago, mantech said:

    Чтение блоками по 16кбайт - 22-25Мбайт\сек (процессор IMX6S EHCI контроллер)

    А че так слабо-то? 
    Обычный STM32H747I на базе дешевого STM32H747I-DISCO с 400 МГц
    без всяких специальных оптимизаций, прям из коропки, в демке Azure RTOS 
    читает 300 Мбайт файл на скорости 21 Мбайт в сек. Пишет 8 Мбайт в сек.
    Надо только опцию поставить - USE_SD_HIGH_PERFORMANCE.


    На компьютере та же карта имеет соответственно 86 и 20 Мбайт в сек.

  10. 1 hour ago, khassanov said:

    Здравствуйте!

    Цель работы - подключить двигатели с энкодером к компьютеру. Выбор платформы на Ваше усмотрение.

    Берите мой проект - https://habr.com/ru/post/403525/
    Специально можно сказать сделан для изучения двигателей и энкодеров на компьютере.
    Есть даж специальная программа для PC к нему - https://www.nxp.com/design/software/development-software/freemaster-run-time-debugging-tool:FREEMASTER
    USB - high speed до 480 Mbit в сек. 
    В телеграме не общаюсь. Если вопросы, то только здесь.  

  11. 13 hours ago, jenya7 said:

    Нужен датчик который распознает что человек вошёл в дверь. Маленький и с запиткой от батарейки. Может кто сталкивался с таким?

    Я имею такой. На основе 6DoF сенсора. Передает по WiFi, или по BT, или LoRa. 

  12. On 3/19/2021 at 6:04 PM, murmur said:

    Как бороться с этой бедой?

    Добавлю - если карта единожды извлечена, то потом,  даже если ее вставить,  SD_STATE=BSP_SD_GetCardState(); всегда выдает ошибку...

    Всегда есть топорный способ.
    Очистить все переменные программного модуля и освободить всю занятую им динамическую память. 
    После чего все можно стартовать как после сброса.  
    Чтобы все делать без напряга  в линкере назначить отдельную секцию  памяти для программного модуля.
    И стирать используя границы секции. 

  13. 25 minutes ago, x893 said:

    Считать состояние сигнала на ноге и определиться

    Читать состояние может быть слишком поздно. 
    Тут либо ногу организовать на функции  capture таймера, либо запускать DMA c порта в память. 

  14. 11 hours ago, neon416 said:

    Так что считать критерием качественного выполнения работы топологом? Завелось и ладно?

    Численно в процентах, mV, mA  может доказать что там плохо? 
    Ребята честно воспроизводят дизайн ардуино - 
    ArduinoUSB-240.jpg
    Но только стилизовали под себя.
    Есть стиляги трассирующие только кривыми дорожками, а есть  те кто в пику им трассирует только перпендикулярно.
    Недавно у Altium-а вышла статья о мифах трассировщиков.
    Оказывается  специалисты старшего поколения дико бояться трассировать перпендикулярно. 
    Ноги растут от того, что раньше в местах резких сгибов накапливалась кислота и дорожки разрушались.
    А нынче травят щелочью, и нет никакого значения как сгибаются дорожки.
    Так что трассируйте как хотите.   
     

  15. 1 hour ago, =AK= said:

    Я вам уже ответил. Ваша задача тривиально решается под Ардуино для ESP8266. Поставьте себе среду Ардуино, добавьте в нее модули ESP и изучайте примеры, их там десятки. Потом добавьте библиотеки какие вам нужны. Все что вам надо там давным-давно сделано и выложено на блюдечке с голубой каемочкой.

    ТС-у привели прямую  ссылку на идеальное решение, а в ответ даже спасибо нету. Ну да, там нужно портировать на ось. 
    Сами тоже какую-то ось применили.
    Так откуда такая уверенность что в либах ардуины не будет оси, той же FreeRTOS? Но только она там будет зарыта поглубже.  

  16. 1 hour ago, mr_smit said:

    Ладно, думаю действительно проще будет передавать названия целиком и не заморачиваться. Всем спасибо )

    Мало RAM-а, отсюда все проблемы.
    64K обычно отдают на кэш файловой системе, а у вас на все 64К
    С таким объемом любая мелочь головняк будет создавать. 

  17. 1 hour ago, sn65 said:

    Необходимо сделать пример программы для связки STM32 и ESP8266.

    Гляньте на STM32H.

    Для них на днях вышел очень привлекательный  X-CUBE-AZRTOS-H7
    Эта моща не только вам сделает DHCP и HTTP,  но еще и SSL c TLS-ом
    И даж ESP8266 не нужен будет, сможете прикрутить нормальный WiFi модуль на SDIO

  18. 24 minutes ago, mr_smit said:

    Тогда после того как я отправлю список, в ответ достаточно будет отправить, например, 2, чтобы со стороны микроконтроллера обработать это и определить что пользователь выбрал Data1.txt. Ну а если файлов штук 150 ? Где этот список хранить. Да ещё и с длинными именами.

    Вы сделали проблему на ровном месте.
    В моих дивайсах через  MQTT в JSON формате пересылаются списки более 1000 файлов с длинными именами в обе стороны.  
    А MQTT как известно работает поверх TCP, а тот в свою очередь может работать и через USB и через RS232
    Все промежуточные файлы сохраняются на той же SD карте.      
    Но с таким слабым контроллером больше чем на пару сотен файлов на карте рассчитывать не стоит. Так что списки у вас будут достаточно короткие. 

    Кстати , нам тут контрактный сборщик сообщил что c ST-шными процами серии  STM32F103 трагедия. 
    Либо нет в стоке либо дорожают в два раза. 

×
×
  • Создать...