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

andrewlekar

Участник
  • Постов

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

  • Посещение

Весь контент andrewlekar


  1. Забавная идея. Жалко, что 1 апреля уже прошло. 1. Попросите у человека исходники и соберите их сами. Так закладок наверняка не будет. 2. Запустите программу на изолированной машине с включенным Wireshark, Process Explorer, File Monitor. Убедитесь, что программа не вызывает подозрительной активности. 3. Натравите на программу брэндмауэр. Запретите ей всё.
  2. Версию прошивки модуля напиши. И на других модулях проверялись симки? SIM900R, SIM800H?
  3. В FreeRTOS если не ошибаюсь, стеки для задач выделялись через malloc, то есть в куче. Проверьте, используется ли у вас куча и выделена ли для неё память.
  4. Приложение может строиться разными способами. Ваша задача подобрать такой способ, который будет удобен для вас и расширяем для потенциального роста приложения. 1. Либо это суперлуп (главный цикл) с флагами. Для небольших приложений. 2. Либо это взаимодействие конечных автоматов. Для приложений чуть побольше. 3. Традиционный многопоточный подход с обменом сообщениями между потоками. Почти любого масштаба приложений, но требует высокой квалификации программиста. 4. Всякие вариации в сторону декларативного и функционального программирования. Требует поддержки от компилятора. Это я навскидку составил список. Если упростить, то нужно делать по максимуму модульную программу. Там где это возможно, глобальные флаги заменять на вызов функции соответствующего модуля (например uart_is_data_ready()). Для передачи массива данных делать копию для обработки в подходящем модуле. Граф зависимостей модулей не должен (не желательно) иметь циклы. Если модуль A зависит от модуля Б, а модуль Б от модуля А, то цикл нужно разорвать.
  5. Нужно было их обрисовать хотя бы схематично. У меня при взгляде на ваш девайс первая ассоциация: советский конструктор с дырочками. Я бы хотел и модули увидеть простые и универсальные как тот конструктор.
  6. Если бы в описании проекта была представлена линейка совместимых модулей, собираемых как конструктор, то было бы любопытно. Сейчас там предлагают купить отладку без перспектив с кучей маркетингового буллшита в нагрузку.
  7. SAM4L

    Ого. А скажите тогда, почему у меня программа в hard fault падает. :)
  8. Честно не знал, что компиляторы си умеют TCO. Теперь не буду так рекурсии избегать, как обычно.
  9. Чтобы пихать туда вещи, которые не принадлежат ни к одному модулю. Глобальные переменные например. В глобально доступных переменных нет сильно большого криминала до тех пор, пока к ним доступ осуществляется атомарно в многопоточных программах. И пока не страдает логика приложения, например всё приложение начинает управляться глобальными флагами.
  10. ST32F417IG

    Для экономии некоторые заводят тактирование PHY от проца и надеются, что джиттер PLL останется в разумных пределах. 25 MHz кварц при этом не обязателен. Если делать более честно, то берут PHY с внутренним PLL, который из 25 MHz делает 50, цепляют к этому PHY свой собственный кварц и работают.
  11. Imx6 без линухи

    Я начинал с нуля. Тоже пробовал перетащить весь тулчейн под винду и всё сделать по-своему. Это не сработает. Поставьте виртуалку, сделайте строго по инструкции. Через полгодика станете закоренелым линуксоидом. :)
  12. Imx6 без линухи

    Ваши вебтермометры не иначе как в литейном цехе стоят. :)
  13. Тут достаточно не критической секции, а запрета конкретного источника прерывания перед установкой семафора. При работе с ISR так или иначе запрещать прерывания придётся. Но но уровне операционки можно написать тонны софта ни разу не встретившись с прерыванием. В линуксе скажем они где-то глубоко запрятаны. В таком случае городить всякие lock-free и критические секции нет никакой нужды до тех пор, пока реально не понадобится улучшить производительность.
  14. Про create гон, не обращайте внимания. ООП на си бывает всякий разный, но как правило это куча лишнего кода с минимальной отдачей. Эта тема не стоит потраченного времени.
  15. Поллинг и фифо решают 90% задач связанных с прерываниями. Если надо из ISR сигнализировать приложению, то можно в задаче захватывать семафор, а в прерывании отпускать. Это позволит заблокировать задачу до прихода прерывания. Кто же спорит. Но мы этого не видим и туда без необходимости не лезем.
  16. Это видимо имелось в виду программное прерывание. Правильнее его называть SWI. Проще использовать мютексы и не городить сложных систем с критическими секциями и платформозависимой атомарностью. Не разделяю любви с неблокирующим алгоритмам - их очень трудно поддерживать и очень легко сломать.
  17. SIM800H в двухсимочном варианте ожидается?
  18. У imx6 насколько я помню есть косяк: его гигабит может работать только в половину пропускной способности. Ситара существует в виде недорогого BBB, но с камерой можно застрять надолго. На BBB можно сделать совсем тупо: по USB подключить WiFi модуль и веб-камеру. Будет дешево и сердито.
  19. Keil v5.

    Я не совсем понял в чём именно проблема. Вы в отладчике не можете увидеть правильное значение или где? Ещё если у вас у файлов стоит кодировка utf-8, то вы в char [] не сможете поместить русские символы. Нужно вместо char использовать wchar_t или uint16_t или аналог. Я из аналогичной ситуации вышел переведя принудительно все файлы в win-1251. Это некрасивое но простое решение для Си. Ещё utf-8 в ucs-2 переводить проще не табличным способом, а кодом. Отличие только одно: однобайтовые символы (инглиш) добавляются ведущим 0x00.
  20. Не, сенсорный дисплей нифига не дешевле чем клава и ЖК однострочный. Ёмкостной дисплей тоже не удешевляет конструкцию - его ставят исключительно из соображений удобства пользователя. У китайцев ставят резистивные чтобы снизить цену и использовать их очень неприятно. Не, у чипсетов память отдельно ставят. Иногда по технологии PoP, но всё же это не один чип. У инженеров корпуса получаются функциональные, но некрасивые. Лучше всё-таки сначала дать поработать творческой мысли дизайнера, потом уже довести конструкторам. В остальном согласен.
  21. Чтобы не лезть во всякую жесть типа публичных IRC и NNTP серверов, лучше поставить свой сервер с jabber и общаться по xmpp протоколу.
  22. GSM модуль Sim900R 270р - средним оптом антенна - 10р (печатная на плате) микрофон 10р - не искал, но для примерно столько должен стоить Сис.плата + монтаж 100р. Дешевле не находил, но если кто хорошего контрактного производителя подскажет, то было бы неплохо. Корпус 50 р. Со своей прессформой и тираже от 10к можно рублей 20 за корпус получить. Процессор (не обязательно) - 100 р. Клавиатура и индикация - 10-100 р. Короче, в 1000 р. можно уложиться при тираже от 1000 штук. Лучше использовать чипсет вместо модуля, но к процу тогда понадобится память и операционка. Самая большая проблема - получение хорошего корпуса. в идеале это дизайнерская, конструкторская работа + прессформа + несколько моделей на 3д принтере = около миллиона рублей.
  23. Wifi

    Не понял, зачем там понадобился явовский апплет. Яваскрипта для клиента за глаза хватит. Для замка нужно реализовать как минимум веб сервер, чтобы отдавать пользователю страничку с кнопками. Ещё стоило бы реализовать веб сервис для интеграции с мобильными устройствами - это тот же веб сервер, но по определенным URL можно открыть/закрыть замок. И ещё стоило бы покопать тему организации DNS в локальной сети - это чтобы не по IP адресу лезть на замок, а по удобному имени.
×
×
  • Создать...