Jump to content

    

Andrew_Q

Участник
  • Content Count

    32
  • Joined

  • Last visited

Community Reputation

0 Обычный

About Andrew_Q

  • Rank
    Участник

Контакты

  • ICQ
    Array

Recent Profile Visitors

526 profile views
  1. А вот это http://wiki.pic24.ru/doku.php/osa/ref/intro топикстартеру предлагали?
  2. Если Большие программисты будут читать даташиты, то они никогда не напишут свое Большое приложение. Поэтому есть мы - эмбеддеры, которые должны прочитать эти даташиты и написать ту прослойку (MCAL, BSP), которая даст возможность комфортно работать Большим программистам используя им понятные open(), read(), write() и т.д.
  3. Про то оборудование, что на плате, да можно считать его условно постоянным, а то что подключается к плате? Простой пример: Аналоговый вход, к нему могут в разных исполнениях подключаться разные датчики, как по назначению так и по характеристикам, приходится читать вход через драйвер, который выбирается при конфигурировании устройства. Это самый простой случай.
  4. Тут дело не только в сложности периферии, хотя это сегодня тоже имеет значение если Вы пишите для контроллеров с сильно навороченной периферией, а, в основном, если Вы работаете над проектом в команде, либо экспортируете свое ПО в другие проекты. Время!!!
  5. Я говорю о настройке самого модуля ПДП (он у меня один на три ядра), а каналы да, в задачах. Хотя да, можно проверять в драйвере поднят ли ПДП... Надо это поносить в голове. Да, есть такой хук, но как-то исторически сложилось... Да и своя задача на приоритете Idle всегда находит много "бестолковой" работы. :-)
  6. Инициализация периферии, используемой задачей, непосредственно в задаче, по моему опыту, упрощает последующий librarianing и повторное использование кода. 1. main инициализирует общие (тактирование, ДМА...) блоки, создает задачу-демона с приоритетом Idle , стартует шедулер. 2. задача-демон создает остальные задачи (уже в контексте ОС) по зависимостям, а потом либо умирает, либо работает (у меня обычно обрабатывает статистику работы устройства). 3. каждая задача инициализирует под свои нужды аппаратуру.
  7. CAN это physical layer и data link layer, а CAN OPEN, J1939 это application layer. В Вашем случае, полагаю, достаточно распатронить CAN ID и данные. 0х1Е1 это и есть CAN ID, 0х это стандартная форма написания чисел в 16-тиричном виде.
  8. Можно так http://we.easyelectronics.ru/os-rtos/freertos-opredelyaem-srednyuyu-zagruzku-yadra-mikroprocessora-cpu-utilization.html А можно статистику включить https://www.freertos.org/rtos-run-time-stats.html
  9. Из Wiki. It is physically possible for a value between 9–15 to be transmitted in the 4-bit DLC, although the data is still limited to eight bytes. Certain controllers allow the transmission or reception of a DLC greater than eight, but the actual data length is always limited to eight bytes. Ключевое слово: некоторые контроллеры допускают передачу.
  10. Python Вам понадобится, чтобы сформировать, а затем модифицировать словарь объектов. А сама целевая программа вся на C.
  11. Для Вашего контроллера я бы рекомендовал CanFestival. CanOpenNode нужен если ужиматься. Использовал оба, портируются легко. Но для CanFestival редактор словаря, на мой взгляд, интереснее. А DS-402, судя по описанной Вами задаче, Вам не нужен.
  12. Надо посмотреть чем отличаются fromISR функции от не fromISR и написать оберточку для обращения.
  13. А есть ли кто пользует сие поделие Infineon? Родной форум по Aurix Tricore совсем кислый. Или тех кто работаетс TriCore совсем мало?