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

KARLSON

Свой
  • Постов

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

  • Посещение

Репутация

0 Обычный

Информация о KARLSON

  • Звание
    Знающий
    Знающий

Контакты

  • ICQ
    Array

Информация

  • Город
    Array

Посетители профиля

5 989 просмотров профиля
  1. Она показывает сколько осталось свободного стека по мере работы таска. Всё время ей пользуюсь и если стека осталось менее 50 , то пишу в архивы, потом так отлавливаю и увеличиваю в последующих прошивках.
  2. Errata ответил на этот вопрос. PC13 плохо влияет на LSE если его применять для входа или выхода в RTC при LSE. Решение - не использовать с LSE.
  3. И смотрели, разные платы брали. Поведение одинаковое.
  4. STM32L433 RTC выход 512 Гц

    Доброго дня. Обнаружил очень странную странность. У МК STML433VCT6 есть два вывода для выхода от генератора RTC на 512 и 1 Гц. RTC_OUT. Выводы PC13 и PB2. Эти выводы никуда не подключены на схеме. RTC тактируется от внешнего кварца. Если выводим на PC13, то частота станет 503 Гц и часы естественно начинаю медленно ходить на 28 минут в сутки. Если выход не активировать, то ходят уже нормально. Так же нормально ходят часы и на выход PB2, частота 512 Гц как и положено. Не пойму с чем связано. Посмотрел дадашит и мануал по теме RTC и GPIO ничего такого не обнаружил. Особо конечно не принципиально, схему можем переделать конечно, просто неожиданно как то.
  5. Когда мы начинали думать в эту сторону (сентябрь 2023), то собрали вот какую информацию: 1) есть два вида eSIM - для М2М и для смартфонов. 2) eSIM для М2М владеет только МТС, остальные операторы это не поддерживают, т.е. переключатся не получится. Проблема в получении и продлении лицензий в новых реалях. 3) Далеко не все модемы поддерживают эту технологию. SIM800C только спец прошивка. 4) Есть небольшой геморой с переходом прав и оформлением на нового пользователя. причём разные пути для физ лиц и юр лиц. 5) Со стороны МК никаких спец АТ команд не требуется. Просто сначала был один серийник симки, после замены профиля оператором другой серийник. Замена профиля происходит автоматически во время сеанса. У нас прибор включает модем для GPRS примерно на 40 сек.
  6. STM32CubeIDE

    В общем, да. Теперь секция выглядит так /*KEEP(*(.SettingsSection)) *(.SettingsSection)*/ .markerSettings (0x20000000) (NOLOAD): { KEEP(*(.SettingsSection)) } >RAM И бинарник теперь нормальной величины)
  7. STM32CubeIDE

    Здравствуйте. Использовали на работе IAR, применяли атрибут __no_init к некоторым переменным. Решили попробовать перейти на CubeIDE. Столкнулись с проблемой. Создали секцию в памяти в файле .ld /*KEEP(*(.SettingsSection)) *(.SettingsSection)*/ .markerSettings (0x20000000): { KEEP(*(.SettingsSection)) } >RAM Создаём переменную по конкретному адресу в ОЗУ TSettings Settings __attribute__((section(".SettingsSection"))); И тут проблема - компилятор создаёт бинарник размером в 300 Мб. Всё что далее программы одни нули. Т.е. он хочет проинициализировать её нулевыми данными. Как заставить его не инициализировать её? Искал и в инете и в guid, по словам init, attribute, attribute gcc, ничего нужного не нашёл. Подскажите, пожалуйста, как решается этот вопрос?
  8. я использую приоритет задач. И при старте задачи с наивысшим приоритетом (значит запускается самая первая), до цикла забираю все семафоры, т.к. они уже есть при старте операционки.
  9. По поводу FromISR. В последних версиях появился файл cmsis_os2.c. Там например забрать семафор можно вызвать osSemaphoreAcquire, которой всё равно от куда вызывать из прерывания или нет. Она сама автоматом определяет. Кстати нашёл и osThreadResume, но она не вызывает xTaskResumeFromISR если из прерывания. Просто выходит с ошибкой.
  10. Так что бы к этому условию придти , нужно сначала выйти из while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET), который ниже. А в ST обязательно скажу.
  11. Ошибки в библиотеке HAL

    Всех приветствую. Предлагаю тут выкладывать найденные ошибки в библиотеках HAL. P.S. не нужно тут обсуждать применять или нет библиотеки. Итак. MCU - L433 библиотека - stm32l4xx_hal_i2c.c версия - STM32Cube_FW_L4_V1.17.2 (последняя на 23.06.2022) функция - I2C_IsErrorOccurred Причина: в цикле while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET) после условия выхода по таймауту if ((HAL_GetTick() - tickstart) > I2C_TIMEOUT_STOPF) нет выхода из цикла. Может остаться на очень долгое время. Решение: добавить break; после status = HAL_ERROR;
  12. STM32CubeIDE

    vpn помогает. На STM32CubeMX-6.3.0-Win https://disk.yandex.ru/d/LT7aRTA708wqUg Сразу уж и на st-stm32cubeide_1.9.0 https://disk.yandex.ru/d/0hv2Rk2WFltJ3Q А с кубом и регистры изучаются быстрее намного.
  13. Если по примерам к отладочным платам от ST не получается и нужны курсы, то могу порекомендовать https://gb.ru/geek_university/internet-of-things. Далее видео от инженера, которые ведёт эти курсы.
  14. С CSD остался только у просто SIM800 и Telit GL865. А обновлять лучше через GPRS. По CSD дорого выходит)
×
×
  • Создать...