andrewlekar
Участник-
Постов
836 -
Зарегистрирован
-
Посещение
Весь контент andrewlekar
-
Cortex-M3 и М4
andrewlekar ответил af1283 тема в ARM, 32bit
Будет. Таблица векторов, задание параметров входов/выходов и тактирования через регистры процессора, сама программа. Ассемблер тут нафиг не нужен, по размеру кода в килобайт гарантированно уложитесь. Возможен. Хороший специалист при необходимости любую технологию осваивает в течение месяца. Знать ассемблеры под все ходовые платформы нет никакого резона. -
Архивация для координат
andrewlekar опубликовал тема в Программирование
Посоветуйте, какой алгоритм сжатия применить для упаковки геолокационных данных. Пожелания: - Доступные исходники на Си - Минимальное использование ОЗУ. Допустимо не более 32К, лучше уложиться хотя бы в 8К. - Данные поступают блоками фиксированного размера из флэша. Алгоритм должен позволять добавлять данные в архив по частям. -
STM32F107 + RTL8201 + lwip-1.4.0
andrewlekar ответил smk тема в STM
Ставлю на то, что макрос неправильно развернулся, так как от другой версии компилятора. -
Я так понял, что дллка раньше загружалась, а в новом проекте не загружается. Для начала нужно проверить, как советовал kolobok0, есть ли дллка рядом с запускаемой программой. Если есть, но всё равно не работает, то причина может быть в преобразовании имён функций C/C++. Если дело в преобразовании имён, то как чинить не знаю. Гуглите "dll name mangling".
-
NXP ATOP
andrewlekar ответил fk1 тема в Сотовая связь и ее приложения
Чё-то дешево ATOP оценили. -
fpga(67, &string); Только argc - это кол-во передаваемых параметров как правило. У вас получается передаются 67 параметров - смотрите, поаккуратнее там.
-
uC/OSII: память
andrewlekar ответил Koluchiy тема в uC/OS-II
У IAR это называется ucOS Plugin. На деле ось вызывает периодически задачу специальную, которая и проверяет заполненность стеков. Можно там запоминать максимум и выдавать его в терминал по запросу. Этот метод может давать неточное значение максимальной заполненности стека, а куча, кажется, вообще не проверяется. Чтобы наверняка, нужно ставить хук на malloc и free и отслеживать, сколько памяти выделилось в пике. Однако куча может фрагментироваться и нужно закладывать раза в 2 больше памяти, чем вычислили. Короче, муторное это занятие. -
uC/OSII: память
andrewlekar ответил Koluchiy тема в uC/OS-II
Размер кучи можно определить только приблизительно: размещается памяти с запасом и прогоняется программа - потом смотрите, сколько памяти максимум требовалось. Размеры стеков для задач тоже рассчитываются таким методом - автоматического вычисления стека для задач я не встречал. -
Hard Fault при выполнении malloc
andrewlekar ответил kt368 тема в ARM, 32bit
Возможно дело в невыровненном доступе к памяти. Попробуйте вместо sizeof поставить просто число 16. Если падать перестанет, то делайте либо по размеру структуры размещение, либо по частям но с выравниванием. -
Выбор PHY Ethernet для устройства на STM32F4
andrewlekar ответил k000858 тема в ARM
RMII лучше - меньше сигналов, легче развести, поддерживается мелкими контроллерами. 50 мгц генератор уже не нужен - во всех современных физиках есть PLL для тактирования от 25 мгц кварца. Micrel или LAN8720 примерно одинаковая цена и доставаемость. -
Да, юнит-тесты пишет программист. Можно использовать того, который пишет и код, можно другого. Да, писал. К коду, который сам же и написал. Суть юнит-тестов не в какой-то бюрократии или 100% покрытии, а в подготовке кода к рефакторингу. Юнит-тестирование позволяет уменьшить вероятность, что что-то сломается при рефакторинге, а также предполагает переработку архитектуры кода в плане тестируемости. Эта переработка архитектуры подготавливает код к дальнейшему изменению, т.е. при добавлении новой фичи меньше вероятность, что придётся всё раскурочивать.
-
Выбор GSM модуля
andrewlekar ответил mantech тема в Сотовая связь и ее приложения
Основной минус - event-driven программирование во весь рост. Невозможно писать нормальную архитектуру - приходится писать лапшу с кучей таймеров. Например, нужно отправить команду, дождаться ответа OK и отправить следующую: с точки зрения вейвкома нужно делать коллбэк на ответ от первой команды и из этого коллбэка отправлять следующую. Это бред и лапша. Остальные минусы: так и недоделанная работа с интерфейсами (у меня I2C стабильно так и не заработал, виснет сам и намертво вешает модуль); бредовый тулчейн - M2M Studio виснет, тормозит, отладка только трейсами, которые передаются закодированные по UART, который M2M Studio распознаёт 1 раз из 5, а остальное время тупит и теряет основной порт для AT команд; если отладку делать сообщениями в порт (не нужно привязываться к дебильной студии), то часть сообщений теряется. В целом, OpenAT это такой толстый вендор лок, если чё-то не работает или работает не так, как хочется, то остаётся только утереться и ждать патча. Например у нас девайсы цепляются к серверу по несколько часов безуспешно и сделать ничё нельзя. Был бы проект без OpenAT, можно было бы подебажить стек или поменять его на другой. -
Выбор GSM модуля
andrewlekar ответил mantech тема в Сотовая связь и ее приложения
У меня опыт работы с wavecom от Q2400 до Q2687RD плюс немножко Q2501 и краем глаза видел первые wismo. И опыт переезда на SIM300D, SIM900. Впечатление однозначное: SIM900 по всем параметрам лучше. Единственный плюс Sierra Wireless - богатый функционал встраиваемых приложений OpenAT. Но OpenAT я тоже не порекомендовал бы никому, разве что сроки уж совсем поджимают и некогда написать проект на чём-нибудь поприличнее. -
В моём телефоне можно достать симку без отключения аккумулятора. Sony Xperia P.
-
Если мы пишем юнит-тест для модуля Math, в котором есть АПИ функция sum, то пишем тест: void test_sum() { ASSERT(5==sum(2, 3)); } Прогоняем тест - он фейлится, потому что такая функция у нас пока что не написана. Пишем функцию, прогоняем тест до тех пор, пока успешно не прогонится.
-
умный дом [выбор интерфейса]
andrewlekar ответил qnx тема в Интерфейсы
Щас процентов 50 охранно-пожарной сигнализации ставится беспроводной. За рубежом так и все 80, пожалуй. Так что смело закладывайте для умного дома беспроводку: WiFi или RF 433 с WiFi шлюзом. -
USB enumeration
andrewlekar ответил andrewlekar тема в Интерфейсы
У меня USBTrace используется. Баг я нашёл. В моей версии NxpUsbLib было закомментировано ожидание готовности передатчика: while ( !Endpoint_IsINReady() ) { Delay_MS(2); } в функции Endpoint_Write_Stream_LE. Закомментировано было с пометкой, типа здесь виснет. После раскомментирования действительно висло. Выяснилось, что у флага isInReady не было атрибута volatile. После исправления всё заработало как надо. Вроде как в свежей версии NxpUsbLib с этим всё в порядке. -
USB enumeration
andrewlekar ответил andrewlekar тема в Интерфейсы
Внешний с функцией SoftConnect. Но он вроде как не при чём, потому что можно просто вытыкать разъём и втыкать - всё равно происходят сбои. Щас ставлю эксперимент ещё один - вроде получше стало работать. Если заработает без проблем, то отпишусь как чинил. -
USB enumeration
andrewlekar опубликовал тема в Интерфейсы
Есть девайс на LPC1788 с USB стеком от NXP (NxpUsbLib). Примерно каждая 8-я энумерация под Windows 7 не проходит. Если потом сделать принудительно энумерацию, то нераспознанное устройство определяется нормально. Под линуксом таких проблем не замечал, впрочем детально не исследовал. Это нормальное поведение для USB? На ваших устройствах статистика лучше? Если это поведение ненормально, то что можно попробовать поправить? -
Простите за оффтоп, но UEFI - это не загрузчик. OVMF как разновидность UEFI точно так же как биос сидит в ROM, а загрузчик операционки подцепляет уже отдельно с EFI partition на диске.
-
UEFI же щас везде пихают. OVMF вы смотрели?
-
По моему опыту, смс приходит всегда в той кодировке, в какой его отправило устройство A. Опсос ни разу ниче не перекодировал, в том числе и при работе по SMPP протоколам. Если вы отправляете смс в PDU режиме, то выставьте поле DCS в F4. Если не в PDU режиме, то насколько я помню, GSM 8 бит формат в SIM не поддерживается.
-
Это штатное поведение для http сервера. Чтобы этого избежать, можно использовать keep-alive запросы. Или ознакомиться с принципами работы веб сокетов (нужна поддержка на хостинге, если ваш сервер сидит на стороне).
-
В идеале можно поднять на устройстве веб сервер и принимать запросы от клиентов на включение/выключение. Однако это решение требует приличных ресурсов на контроллере и реальный IP для каждого устройства. Ваш вариант (с http клиентом на устройстве, насколько я понял) можно доработать под использование веб сокетов. Тогда можно реализовать риал тайм мониторинг и всё такое. Самый простой для реализации вариант - TCP сервер с самопальным протоколом. На устройстве соответственно TCP клиент.
-
Самый дешевый ARM+Linux+Ethernet
andrewlekar ответил morten666 тема в ARM, 32bit
Чипы просто офигенные! Вот выброшу нафиг из приборов LPC1768 и заложу Ralink. Конкуренты не догонят уже никогда. :)