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

Rusoil

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

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

  • Посещение

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


  1. Требуется программист-эмбеддер для удаленной работы с гибким графиком. Область деятельности - разработка GPS-трекеров и дополнительного оборудования. Обязанности: разработка и поддержка ПО для устройств на базе микропроцессоров (GPS-трекеров, беспроводных датчиков, прочей периферии) Знания, умения: - хороший уровень c\c++, svn, работа с RTOS - IAR, eclipse\gcc - опыт работы с процессорами ARM (LPC, STM) - опыт работы с GSM-модемами, modbus, usb - базовые знания схемотехники, умение работать с контрольно-измерительными приборами - приветствуется актуальный опыт разработки ПО под Windows, Web или мобильные платформы Оклад около 40 000 рублей. Все условия обсуждаемы. Звоните/пишите: [email protected] +7(985)220-90-10 Михаил
  2. Интересует стек под mcu.. Свободных не нашел, только проекты для PC для конфигурирования и т.п. Буду благодарен за ссылки...советы
  3. Спасибо всем кто отписался. Исполнитель найден, тема закрыта.
  4. Здравствуйте. Есть работа - написать софт для чтения параметров двигателя по CAN j1939. Процессор lpc2364. 1) Оптимально если это будет человек который уже делал подобное, имеет наработки. 2) Желательно, но не обязательно чтобы была rtos (freertos, tnkernel или подобное). 3) Первоначальный результат - считывать по команде параметры и выдавать в uart. Предложения в почту [email protected]. Спасибо
  5. Что-то типа такого? http://3sd-monitoring.ru/equipment/battery-monitoring
  6. Как понимаю функция ожидания эвента должна возвращать ошибку. Я не работал с данной ртос, но по аналогии с другими так должно быть. Посмотрите что она значит. Если вылетает сразу, то это похоже что вы отдаете в функцию неправлиьный указатель на эвент.
  7. Сам мьютекс конечно обявлен как static и является сущностью ртос. В конструктор даем указатель на мьютекс. Потом вызываем захват мьютекса. При выходе из функции все локальные объекты уничтожаются - автоматом вызывается деструктор. AUTOMUTEX::AUTOMUTEX(void * const _mutex) : m_isMutexLock(-1), m_mutex(_mutex) {} sint32_t AUTOMUTEX::Lock() { if (m_isMutexLock != TERR_NO_ERR) { m_isMutexLock = tn_mutex_lock_polling((TN_MUTEX *)m_mutex); }; return m_isMutexLock; } AUTOMUTEX::~AUTOMUTEX() { if (m_isMutexLock == TERR_NO_ERR) { tn_mutex_unlock((TN_MUTEX *)m_mutex); }; } Из других задач получить доступ к мьютексу не является проблемой.
  8. Локальный для функций. Обявляется локальный объект, мютекс захватывается и дальше о нем забываем. Если есть десяток проверок после которых нужен выход из функции, то это сильно упрощает код. В иаре это работает. Но нужно помнить о специфике ртос.
  9. Тоже есть вопрос по TN. Будет ли происходить раскрутка стека при вызове tn_task_exit(0)? Я использую c++ обертку для мьютекса, там происходит автоосвобождение в деструкторе. Будет там автоматом деструктор выполняться как при выходе из функции? Или лучше так не делать?
  10. Модуль WISMO228. Нужно сделать ввод пин. И что-то не работает. Вот лог общения ATE0 ATE0 OK AT+CPIN? +CPIN: SIM PIN OK AT+CPIN=1234 +CME ERROR: 3 AT+CGMI WAVECOM MODEM OK AT+CGMM WISMO228 OK AT+CGMR B11e01gg.WISMO228 031109 OK AT+CGSN 355915030193270 OK Код ошибки=3 - Operation not allowed Неужели не реализована проверка пин-кода в прошивке? Пробовал на трех симках от разных операторов.
  11. beye не впечатлила, может руки кривые. Запустил под IDA..продолжаю ковырять
  12. пока под виндой ковыряю. с помощью efd (ida аналог readelf). что-то есть - листинг с адресами, смещениями, названиями библиотечных функций. попробую в ида запустить..
  13. Работа с ELF-форматом

    Встала задача расковырять чужую прогу под Linux (ARM). Есть китайский автомобильный сканер, обновления представляют собой загружаемый через карточку исполняемые и библиотечные elf-файлы. Пока занялся изучением формата ELF. Вопрос знатокам, реально вообще извлечь что-то полезное оттуда? Может кто утилиты или инструментарий какой подскажет. Или просто посоветует что-то. Любая инфа приветствуется. ps. обошлись бы без китайщины и все написали бы сами, но производитель не дает протоколов на двигатели.
  14. Использовал AES. У lpc флэша много. Нет смысла экономить несколько кБ.
  15. Ищу работу программиста на полный день. Самара. Основной опыт работы с arm7 (контроллеры сбора-передачи данных по gprs/ethernet). Системное программирование в win\linux. Подробное резюме по запросу.
  16. Посоветуйте алгоритм для шифрования firmware. Используется процессор LPC2368. В свободный доступ нужно будет выкладывать прошивку, чтобы пользователи могли обновляться. Что посоветуете использовать, чтобы ARM7 тянул и объем бинарника не сильно увеличивался. На устройство будет передаваться зашифрованный файл, который будет сохраняться на внешнюю флэш, а контроллер потом его будет раскодировать и перешивать. Посмотрел различные алгоритмы в википедии, но опыта в этом нет.
  17. USB bulk

    А разве setup-запросы не 8-ми байтные?
  18. А не лучше сделать схему снизу-вверх? Т.е. переодически(раз в час или раз день) девайс опрашивает объект, формирует пакет и шлет на сервер сбора по gprs. Тут конечно все зависит от количества и ценности объектов. Если один, то ради него систему городить нет смысла и проще взять терминал wavecom или siemens. А если много, то уже стоит задуматься о реальном мониторинге.
  19. Решил проблему. Если не использовать команду AT+CGACT=1,1, то коннект к жпрсу проходит. Поставил вместо этой команды запрос AT+CGACT? +CGACT: 1,0 OK из которого видно, что PDP деактивирован....
  20. Там два лога, с коммерческой и со спецсимкой. С коммерческой коннект идет, со специсмкой коннект не идет.
  21. Есть устройство использующее GPRS для обмена данными. В Москве, Самаре все работает отлично. В Краснодаре возникла проблема, не может подконнектиться к GPRS сети Мегафона. Используется спецсимка мегафона со спецточкой доступа GPRS, точно известно что апн правильный и к GPRS коннектиться если вставить в телефон. В тоже время, если в девайс вставить обычную коммерческую симку с apn=internet, то все работает отлично. Вот логи работы 1) Со спецсимкой RDY +CFUN: +CPIN: READY Call Ready AT OK ATV1 OK ATE0 OK AT+CIPMODE=1 OK AT+CIPCCFG=3,2,256,1 OK AT+CGDCONT=1,"IP","astue.kvk" OK AT+CGATT=1 OK AT+CGACT=1,1 OK AT+CSTT="astue.kvk","","" OK AT+CIPSTATUS OK STATE: IP START AT+CIICR +PDP: DEACT 2)Обычная симка RDY +CFUN: +CPIN: READY Call Ready AT OK ATV1 OK ATE0 OK AT+CIPMODE=1 OK AT+CIPCCFG=3,2,256,1 OK AT+CGDCONT=1,"IP","internet" OK AT+CGATT=1 OK AT+CGACT=1,1 OK AT+CSTT="internet","","" OK AT+CIPSTATUS OK STATE: IP START AT+CIICR OK AT+CIFSR 10.228.43.178 Повторяю, апн на спецсимке правильный и все работает если вставить в обычный телефон. В чем трабл? Уже голову сломал.
  22. Буду делать загрузчик по эзернету. Плюс нужно хранить настроечные данные которые нужно менять - такие как ip устройства, маску сети, гэйтвэй. Эти данные должны быть доступны как загрузчику, так и основному fw. Посмотрел ссылку, помогло. В командную строку линкера добавил -L-PSEGA=1F400h Ну и объвил массив #pragma psect const=SEGA static const uByte Img[1024] = {...} Размер 1024 взял потому как это минимально стираемый размер.
  23. Мк 18F97J60, компилятор Hi-tech18 std 9.51PL2. Пытаюсь разместить кусок констант в конце флэш мк. Почитал найденные примеры и описание на компилятор. Сделал так. 1) Включил в командную строку линкера: -L-SEGA=1F400h - т.е. определил пользовательский сегмент. 2) Массив констант размещаю с директивой #pragma psect const=SEGA static const uByte Sett[1024] ={0,0,0,0,....0}; Не работает. При линковке показывает что в сегменте SEGA 1024 байта данных, но сам сегмент совершенно по другому адресу. Подскажите как правильно сделать?
×
×
  • Создать...