Jump to content
    

Andrew_Q

Участник
  • Posts

    41
  • Joined

  • Last visited

Reputation

0 Обычный

About Andrew_Q

  • Rank
    Участник
    Участник

Контакты

  • ICQ
    Array

Recent Profile Visitors

884 profile views
  1. http://we.easyelectronics.ru/os-rtos/mezhprocessnaya-kommunikaciya-v-scmrtos-chast-1-myuteksy.html Не оно?
  2. Request PGN 0xEA00. Любой ECU должен ответить.
  3. Да, я неправ. Девятибитный фрейм даст 10 бит.
  4. Передать девятибитный фрейм. AVR умеет.
  5. Пардон, но не увидел включение тактирования CAN.
  6. Примерно так /* Define output sections */ SECTIONS { /* The startup code goes first into FLASH */ .isr_vector : { . = ALIGN(4); KEEP(*(.isr_vector)) /* Startup code */ . = ALIGN(4); } >FLASH /* Constant data goes into FLASH */ .rodata : { . = ALIGN(4); *(.rodata) /* .rodata sections (constants, strings, etc.) */ *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ . = ALIGN(4); } >FLASH /* Flash EEPROM arrea */ .flash_eeprom : { . = ALIGN (0x04000); KEEP(*(.flash_page_0*)) . = ALIGN (0x04000); KEEP(*(.flash_page_1*)) . = ALIGN (0x04000); } >FLASH а в source: uint8_t __attribute__ ((section(".flash_page_0"))) EEPROM_page_0[FLASH_EEPROM_PAGE_SIZE]; uint8_t __attribute__ ((section(".flash_page_1"))) EEPROM_page_1[FLASH_EEPROM_PAGE_SIZE];
  7. Если перейти к указателю, то проинициализируется extern const int array_size; int *qwe = &array_size; Только я уже не уверен это ли требуется.
  8. _pv привел правильный подход, единственное что я бы поправил const int array_size = sizeof(array)/sizeof(array[0]);
  9. Если есть задачи, успех запуска которых зависит от последовательности запуска задач, то стоит порождать (запускать) эти задачи одну из другой.
  10. А вот это http://wiki.pic24.ru/doku.php/osa/ref/intro топикстартеру предлагали?
  11. Если Большие программисты будут читать даташиты, то они никогда не напишут свое Большое приложение. Поэтому есть мы - эмбеддеры, которые должны прочитать эти даташиты и написать ту прослойку (MCAL, BSP), которая даст возможность комфортно работать Большим программистам используя им понятные open(), read(), write() и т.д.
  12. Про то оборудование, что на плате, да можно считать его условно постоянным, а то что подключается к плате? Простой пример: Аналоговый вход, к нему могут в разных исполнениях подключаться разные датчики, как по назначению так и по характеристикам, приходится читать вход через драйвер, который выбирается при конфигурировании устройства. Это самый простой случай.
  13. Тут дело не только в сложности периферии, хотя это сегодня тоже имеет значение если Вы пишите для контроллеров с сильно навороченной периферией, а, в основном, если Вы работаете над проектом в команде, либо экспортируете свое ПО в другие проекты. Время!!!
  14. Я говорю о настройке самого модуля ПДП (он у меня один на три ядра), а каналы да, в задачах. Хотя да, можно проверять в драйвере поднят ли ПДП... Надо это поносить в голове. Да, есть такой хук, но как-то исторически сложилось... Да и своя задача на приоритете Idle всегда находит много "бестолковой" работы. :-)
×
×
  • Create New...