Jump to content

    

Neo_Matrix

Участник
  • Content Count

    114
  • Joined

  • Last visited

Community Reputation

0 Обычный

About Neo_Matrix

  • Rank
    Частый гость

Recent Profile Visitors

676 profile views
  1. Спасибо, то что нужно. Странно, что расширение файла большой буквой S должно автоматически интерпретироваться как препроцессинг, но что то пошло не так. Более подробно: http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0773a/chr1383143887630.html
  2. Кто нибудь пробовал собирать проект в такой связке: ChibiOS + KEIL + ARM COMPILER V6? Связка ChibiOS + KEIL + ARMСС V5 нормально компилируется. А вот с новым компилятором возникают проблемы с ассемблерными файлами, такими как: cstartup.s, vectors.s....... Внутри которых есть куски СИшного кода из ИНКЛУДОВ и ДЕФАЙНОВ: #if CH_DBG_ENABLE_STACK_CHECK && PORT_ENABLE_GUARD_PAGES bl _port_set_region #endif #if CH_DBG_SYSTEM_STATE_CHECK bl _dbg_check_unlock #endif #if CH_DBG_STATISTICS bl _stats_stop_measure_crit_thd #endif #if CORTEX_SIMPLIFIED_PRIORITY cpsie i #else movs r3, #0 /* CORTEX_BASEPRI_DISABLED */ msr BASEPRI, r3 #endif mov r0, r5 blx r4 movs r0, #0 /* MSG_OK */ bl chThdExit _zombies b _zombies ENDP Может у armclang есть опция которая разрешает использовать такие конструкции?
  3. У Вас есть конкретная ошибка, вот и решайте проблемы с выделением памяти в куче, зачем сейчас разбираться с энтропией. Для теста можете написать простую функцию энтропии, которая в цикле заполняет массив константами, после перепишите под аппаратный RNG. Функции выделения памяти MBEDTLS_PLATFORM_CALLOC_MACRO MBEDTLS_PLATFORM_FREE_MACRO по скольку я помню Вы должны переопределить сами. Если используете ФриРТОС, это будет vPortFree и нужно написать врапер над pvPortMalloc для calloc. Что то вроде этого: void *pvPortCalloc(size_t nmemb, size_t size) { void *x = pvPortMalloc(nmemb * size); if (x != NULL) { memset(x, 0, nmemb * size); } return x; }
  4. А если следующий байт пока еще не идет, а линия приняла нормальное состояние?
  5. Спасибо. Завтра попробую проверить
  6. Ошибка кадра приходит единожды при изменении сигнала в 0. Пауза может быть или не быть :)) Неизвесно
  7. По идее можно после LBD флага запустить таймер и EXTI на подъем сигнала. Далее можно понять был ли перепад за время таймера(100мс)
  8. Может кто то пробовал на вход уарта(на джпио) еще включить прерывание exti? будет ли так работать?
  9. Полить имелось ввиду из обработчика прерывания таймера, который завести на 0.5 - 0.7 мс
  10. А LBD флаг нормально работает если порт сконфигурирован на UART, а не на LIN? Это уже проданный товар, нужно скорректировать прошивку под другое оборудование. Я понимаю, что юарт не может измерять длительность, но допустим если использовать ЛИН БРЕЙК, как посоветовали выше, можно запустить таймер софтово и поллить ногу в течении следующих 99мс? Или так не выйдет? Наверное с регистра состояния ДЖПИО можно вычитать текущий уровень 1 или 0, по идее альтернативная функция пина не должна на это влиять.
  11. А как на один и тот же пин таймер повесить и UART? Данные то ведь никто не отменял. Спасибо сейчас посмотрю что за зверь.
  12. Если еще актуально, попробуйте увеличить значение #define MEM_SIZE 1024*40 в файле LWIP lwipopts.h. Для работы мбедтлс требуется 2 буфера по 16кб памяти и еще под другие нужды она тоже нужна, как минимум под прием\отправку пакетов и сам сертификат(после парсинга)