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

KARLSON

Свой
  • Постов

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

  • Посещение

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


  1. Она показывает сколько осталось свободного стека по мере работы таска. Всё время ей пользуюсь и если стека осталось менее 50 , то пишу в архивы, потом так отлавливаю и увеличиваю в последующих прошивках.

    • Thanks 1
  2. Доброго дня. 

    Обнаружил очень странную странность. У МК STML433VCT6 есть два вывода для выхода от генератора RTC на 512 и 1 Гц. RTC_OUT. Выводы PC13 и PB2. Эти выводы никуда не подключены на схеме. RTC тактируется от внешнего кварца. Если выводим на PC13, то частота станет 503 Гц и часы естественно начинаю медленно ходить на 28 минут в сутки. Если выход не активировать, то ходят уже нормально. Так же нормально ходят часы и на выход PB2, частота 512 Гц как и положено. Не пойму с чем связано. Посмотрел дадашит и мануал по теме RTC и GPIO ничего такого не обнаружил. Особо конечно не принципиально, схему можем переделать конечно, просто неожиданно как то.

  3. Когда мы начинали думать в эту сторону (сентябрь 2023), то собрали вот какую информацию:

    1) есть два вида eSIM - для М2М и для смартфонов.

    2) eSIM для М2М владеет только МТС, остальные операторы это не поддерживают, т.е. переключатся не получится. Проблема в получении и продлении лицензий в новых реалях. 

    3) Далеко не все модемы поддерживают эту технологию. SIM800C только спец прошивка. 

    4) Есть небольшой геморой с переходом прав и оформлением на нового пользователя. причём разные пути для физ лиц и юр лиц.

    5) Со стороны МК никаких спец АТ команд не требуется. Просто сначала был один серийник симки, после замены профиля оператором другой серийник. Замена профиля происходит автоматически во время сеанса. У нас прибор включает модем для GPRS примерно на 40 сек.

  4. В 20.06.2023 в 02:29, jcxz сказал:

    В IAR, чтобы оно правильно работало, кроме префикса __no_init у переменных, у вас в командном файле компоновщика для этой секции должно быть указано:

    do not initialize  {section .SettingsSection};

    По аналогии с IAR, можно предположить, что и здесь в скрипте компоновщика нужно указать нечто аналогичное. Вангую, что нужную инструкцию искать нужно в мануале на компоновщик.

    В общем, да.

    Теперь секция выглядит так

      /*KEEP(*(.SettingsSection))
      *(.SettingsSection)*/
      .markerSettings  (0x20000000) (NOLOAD):
      {
      KEEP(*(.SettingsSection))
      } >RAM 

    И бинарник теперь нормальной величины)

  5. Здравствуйте. Использовали на работе IAR, применяли атрибут __no_init к некоторым переменным. Решили попробовать перейти на CubeIDE. Столкнулись с проблемой. Создали секцию в памяти в файле .ld

      /*KEEP(*(.SettingsSection))
      *(.SettingsSection)*/
      .markerSettings (0x20000000):
      {
      KEEP(*(.SettingsSection))
      } >RAM

    Создаём переменную по конкретному адресу в ОЗУ

    TSettings Settings __attribute__((section(".SettingsSection")));

    И тут проблема - компилятор создаёт бинарник размером в 300 Мб. Всё что далее программы одни нули. Т.е. он хочет проинициализировать её нулевыми данными. Как заставить его не инициализировать её? Искал и в инете и в guid, по словам init, attribute, attribute gcc, ничего нужного не нашёл. Подскажите, пожалуйста, как решается этот вопрос?

  6. По поводу FromISR. В последних версиях появился файл cmsis_os2.c. Там например забрать семафор можно вызвать osSemaphoreAcquire, которой всё равно от куда вызывать из прерывания или нет. Она сама автоматом определяет.

    Кстати нашёл и osThreadResume, но она не вызывает xTaskResumeFromISR если из прерывания. Просто выходит с ошибкой.

  7. В 23.06.2022 в 18:22, x893 сказал:

    Прекрасно выходит из цикла. Смотрите условие while ((__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET) && (status == HAL_OK))

    Так что бы к этому условию придти , нужно сначала выйти из while (__HAL_I2C_GET_FLAG(hi2c, I2C_FLAG_STOPF) == RESET), который ниже. 

    А в ST обязательно скажу.

  8. Всех приветствую. Предлагаю тут выкладывать найденные ошибки в библиотеках 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;

  9. Всё время натыкался на эту статью от них. https://community.atlassian.com/t5/Sourcetree-articles/Bug-Fix-Sourcetree-for-Windows-authentication-error-when/ba-p/1965968 И не видел главного, может не долистывал. Отдыхать надо. Мне помог второй способ - удаление файла passwd.

  10. Здравствуйте. Bitbucket недавно сменил политику авторизации. Теперь пароль от учётной записи не применяется и только через Basic. Нужно создавать одноразовый пароль в профиле в разделе пароли приложений.

    Создал пароль cо всеми включенными галочками. Скопировал его в текстовый документ. В SourceTree последней версии 3.4.8.0 после установки при авторизации ввожу логин учётной записи, через Basic, пароль созданный. Аутентификацию проходит успешно. Проект из Bitbucket со своей учётной записи клонируется до последнего коммита успешно. Но после изменений создаётся локальный коммит, но не может его отправить на сервер. Не проходит аутентификацию. 

    Цитата

    git -c diff.mnemonicprefix=false -c core.quotepath=false --no-optional-locks push -v --tags --set-upstream origin tempnoutmy:tempnoutmy
    remote: Bitbucket Cloud recently stopped supporting account passwords for Git authentication.
    remote: See our community post for more details: https://atlassian.community/t5/x/x/ba-p/1948231
    remote: App passwords are recommended for most use cases and can be created in your Personal settings:
    remote: https://bitbucket.org/account/settings/app-passwords/
    fatal: Authentication failed for 'https://bitbucket.org/логин/ip_gsm_modem.git/'


    Pushing to https://bitbucket.org/логин/ip_gsm_modem.git
    Выполнено с ошибками, см. выше.
     

    Владелец и участник проекта я один.

    Проверил в настройках проекта путь внешнего репозитория - https://логин@bitbucket.org/логин/ip_gsm_modem.git. Всё вроде правильно, как указано в статьях выше.

    Что делать не пойму, идеи закончились)

  11. Смысл в том, что должно превысить критическую массу, что бы это всё стало всё везде и повсюду. Сделать прибор как образец, во всех рекламных буклетах и сайтах писать что мы можем дать прибор с "новейшей прекрасной и дешёвой связью NBiOT", на выставках так же. Далее заказчики будут спрашивать симки у операторов, затем те уже зашевеляться)

  12. 3 часа назад, alexbbs сказал:

    Вообще, если так, по факту, а стоит ли вообще NB-IOT смысл использовать?  
     

    Мы сделали пилотный счётчик газа, убедились что всё работает, установили 2 штуки в Оренбурге 1 шт у нас на наработке и успокоились уже год как) Ждём лучших перемен. А ещё очень мечтаем о Е-сим) 

  13. Здравствуйте. Проблема в эксплуатации, не для новых приборов. Есть прибор с модемом Quectel UC15 в режиме CSD. C симками операторов МТС, Мегафон работает. Вставляем симку Билайн, при дозвоне на прибор модем не поднимает трубку. RING по UART приходит, посылаем команду ATA и тишина, ответа нет. После длительного времени уже приходит NO CARRIER от оператора.

    Эту же симку пробуем через модем промышленный Sinterion BGS2 после команды ATA приходит CONNECT 9600 и связь работает.

    Пробовали разные режимы AT+CBST=71,0,1; AT+CBST=7,0,1; AT+CBST=0,0,1. 

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