Jump to content

    

framer

Свой
  • Content Count

    48
  • Joined

  • Last visited

Community Reputation

0 Обычный

About framer

  • Rank
    Участник

Контакты

  • ICQ
    Array

Recent Profile Visitors

1919 profile views
  1. Да KNX это архаизм и магистраль медленная и интеграция с остальными системами плохая и видео идет боком, но некоторые концепции стоят того чтобы на них обратить внимание. Минусы тут уже описывали. А вот из плюсов только распределённость. Да KNX чем то похож на CAN. Решает проблему общего доступа к каналу и не требует поолинга, но что надо сделать, чтобы принять подтверждения исполнения операции от всех заинтересованных узлов быстро не перегружая магистраль. В КНХ реализован интересный патент (групповое подтверждение с доминантным уровнем ошибки). Следующая интересная идея сегментации сети. По сути при очень маленькой скорости магистраль работает с очень маленькими задержками. Ну и еще как мне кажется способ реализации питания, устойчивость к низкому качеству проводки и длина сегмента магистрали. Если говорить о распределенных системах, то не знаю, что может быть лучше. На сколько критическое требование иметь распределенную систему при реализации УД не знаю, но проблем с такой системой появляется много.
  2. Возникла проблема с AVR32 (AT32UC3A0512). Точная ситуация описана http://asf.atmel.com/bugzilla/show_bug.cgi?id=3021 . Случай 1, deadlock появляется когда часто высылаю пакеты. Может кто сталкивался с подобными проблемами?
  3. Так в этом cube ST и предлагает в качестве стека TCP/IP LwIP.
  4. А при чем тут Wi-fI?. LwIP это стек TCP/IP. Сопряжение с контролером MAC это аппаратно-зависимая часть и если нет готовой надо писать самому. Работоспособность во многом зависит от платформы и настроек а сам стек нормальный. Можете спокойно протестировать на PC в качестве платформенной части используется библиотека winpcap.
  5. а какой manager памяти? #define configTOTAL_HEAP_SIZE ( ( size_t ) ( 24 * 1024 ) ) используеться в heap_1.c и heap_2.c . При обертке heap_3.c берется скорей из проекта. Точно не знаю может из файла stm32f40x_flash.icf (define symbol __ICFEDIT_size_heap__ = 0x200;)
  6. Ну а как обяснить показатели использования стека uxTaskGetStackHighWaterMark под Win32? Заняло по 5 блоков(слов) и все. Видно, что стек в задачах не используется. Все зависит от того как перенесено на WIN32. Под win если посмотреть то таски симулитуютя использованием thread. Там нет переключения контекста с изменением указателей стека. Осуществляется это остановкой текущего thread и запуском следующего (можно посмотреть исходники в prvProcessSimulatedInterrupts ). В таком случае локальные перемнные не распологаються в стеке задачи FreeRtos, а используються механизмы win32. Поэтому отладка стека эфективна на конкретной платформе.
  7. Видно, что в некоторых местах стек практически весь использован. Да размер стека выделяемый под задачи зависит от платформы так, что на эмуляторе может все работать.
  8. А проверяли использование стека сомой таской? Сколько выделяете стека на таск xTaskCreate(task, (signed char *)"task", ??? , 0,tskIDLE_PRIORITY + 2, NULL); ? Как я писал локалные переменные ложаться в стек задачи а у Вас локальная переменная во uint32_t q[500];. Попробуйте динамически выделить память, либо сделать глобальную переменную и посмотреть как себя ведет. А что возвращает uxTaskGetStackHighWaterMark( xTaskHandle xTask ); во вложеных функциях ?
  9. А может еще зависит от размера стека для конкретной задачи. В этом случае, это не только количество вызовов функции в глубину но и размеры локальных переменных в этих фунциях. Чтобы точно знать, что переполняеться стек задач надо использовать функцию http://www.freertos.org/uxTaskGetStackHighWaterMark.html
  10. Буду пробовать. Наверное при инициализации не делается halt. Может какой то скрипт надо выполнить? А может конфигурация openocd не та. Запускаю так: openocd-0.6.1.exe -f ..\scripts\interface\stlink-v2.cfg -f ..\scripts\target\stm32f4x_stlink.cfg Open On-Chip Debugger 0.6.1 (2012-10-07-10:34) Licensed under GNU GPL v2 For bug reports, read http://openocd.sourceforge.net/doc/doxygen/bugs.html adapter speed: 1000 kHz Info : clock speed 1000 kHz Info : stm32f4x.cpu: hardware has 6 breakpoints, 4 watchpoints Info : accepting 'gdb' connection from 3333 Info : device id = 0x10016413 Info : flash size = 1024kbytes Warn : acknowledgment received, but no packet pending undefined debug reason 6 - target needs reset Error: Target not halted Error: failed erasing sectors 0 to 4 Error: flash_erase returned -304
  11. Для предыдущих STM раньше брал из Atollic. А с версии 3.1 сделали так что работает только с GDB из пакета Atollic. Там есть авторизация в начале сессии. С openocd отладка работает но ,что то не получается запись .elf во flash. В связи с этим есть несколько вопросов. Может кто нибудь поделиться gdbserver из Atollic 3.0.0? Как научить openocd перед запуском GDB писать .elf во flash? А может есть еще какие нибудь gdbserver для st-link/v2?
  12. С одной стороны не писать програм типа LabView с другой стороны скриншеты почти програм типа LabView (есть параметры, состояния текущие и события нехватает визуализации). И такой вопрос, а эта монотиринговя програмка соберает даные по SNMP или реализован свой протокол с устройством балансировки заряда стрингов батарей?
  13. Не знаю как RTEMS но eCos пробовал поднять на своей платформе. Так что могу выступать как потенциальный чайник. Плюсы следующие: поддерживает посих (так что синтетические порты практически ненужны а отладка драйверов на синтетических портах и так без смысла), маленький футпринт, хорошо стыкован боотлоадер redboot с системой (совместные исходники ). Но конфигураця адская. Модификация исодников конфигуратором хороша для того кто эти исодники писал. Тоесть без хорошего понимания как оно устроено использовать конфигуратор безсмысла (если нет приготовленого под конкретную платформу). Ну и понятно поддержка (как бог дал на группах если платформа не стандартная ). Мне кажеться чтобы использовать eCos то надо пройти следующие этапы чайник -> чайник который понял что надо смотреть на HAL чтобы запортировать свою платформу -> много времени -> какой то результат . A это отображаеться на времени (ну а начальник он и в африке начальник). А что касаетьса RTEMS то много этого есть в телефонах VoIP (SIP).