-
Posts
211 -
Joined
-
Last visited
-
Eclipse теряет папку
Pavel V. replied to repka's topic in GNU/OpenSource средства разработки
А какое значение находится в настройках проекта C/C++ Build -> Build directory Makefile свой, или генерится эклипсом? -
Вопросы по Eclipse, CDT, Zylin embedded CDT
Pavel V. replied to Сергей Борщ's topic in GNU/OpenSource средства разработки
Имеются в виду файлы в корневой директории проекта? Вы бы привели структуру файлов, которую пытаетесь скомпилировать, а то так не понятно. У меня вроде никогда таких проблем не возникало, поведение эклипса было полностью ожидаемым. В качестве профилактики могу посоветовать поиграться с пунктами меню Index (правая кнопка на проекте -> Index -> Rebuild, Update, Freshen). -
"SerialPort" в Си
Pavel V. replied to repairDV's topic in Программирование
"Справка" является отдельным продуктом и называется MSDN. Можно установить локально, можно найти в интернете. Я предпочитаю пользоваться онлайн через сайт майкрософта. Если программа пишется с использованием .NET, то ИМХО, следует писать на c#, он специально заточен под это дело. C++ с поддержкой Framework задумывался майкрософтом просто как мостик между "старым" (не CLR) кодом и "новым" (CLR), а не как самостоятельное средство разработки. -
Python в Telit.
Pavel V. replied to DreamTwister's topic in Сотовая связь и ее приложения
Интересует еще вот какой вопрос - какой величиной ограничен размер одного скрипта, загруженного в модуль? В официальной документации я этой цифры не нашел - означает ли это, что размер ограничен только доступной памятью? -
Telit GE863GPS ошибки при записи чтении скриптов
Pavel V. replied to smalcom's topic in Сотовая связь и ее приложения
Не знаю, будет ли полезна эта информация, но я много работал с модулями GL868 из разных поставок - описанной проблемы ни разу не наблюдал. -
Python в Telit.
Pavel V. replied to DreamTwister's topic in Сотовая связь и ее приложения
Вроде бы поборол проблему. Оказалось, скрипт компилировался другой версией питона (помимо штатного набора софта от Telit в системе был установлен официальный релиз Python 2.7). Какой командой компилируются скрипты при вызове пункта Compile из контекстного меню? -
Средства проектирования
Pavel V. replied to artymen's topic in GNU/OpenSource средства разработки
Я использую Visual Paradigm for UML, лучше инструмента не встречал. Есть Community Edition для некоммерческого использования, бесплатная. Для коммерческого применения можно и приобрести - стоит копейки. -
Примеры схем питания SIM900
Pavel V. replied to terry's topic in Сотовая связь и ее приложения
В одном своем устройстве я использовал общий источник питания для модуля SIM900 и процессора (с обвязкой) на 3,5 В (на LM2576). Вроде бы проблем не было, в том числе при передаче данных. Уровни сигнальных линий, естественно, были согласованы. Почему-то не увидел в теме упоминаний такого варианта схемы питания, может быть это в корне неправильно и чревато какими-то проблемами? -
Python в Telit.
Pavel V. replied to DreamTwister's topic in Сотовая связь и ее приложения
Дабы не плодить темы, спрошу здесь. Начал разбираться со встроенным интерпретатором Python на модулях Telit GL868. Вроде бы, путем какого-то шаманства, что-то стало получаться, но... Проблемы есть следующие: 1. Если заливать в модуль "не скомпилированную" версию скрипта, все работает как надо, но стартует при этом с задержкой больше минуты (скриптик на 3 кб, одним файлом). 2. Если же заливать "скомпилированную" версию, то скрипт вообще не запускается. Точнее, один раз у меня получилось сделать так, чтобы он запускался (и при этом не было задержки исполнения), но повторить больше не удается. Хотелось бы услышать мнение представителя фирмы - стоит ли вообще связываться с этой возможностью? Первое впечатление возникло не самое приятное... Вроде бы и руки не самые кривые, но стабильной работы добиться пока так и не удалось. -
GCC Warning: left shift count >= width of type
Pavel V. replied to Pavel V.'s topic in GNU/OpenSource средства разработки
Он самый! :) Здорово, такой вариант мне больше нравится :) Попробую использовать. -
PhyCore-LPC2292/94 + IAR + JLink
Pavel V. replied to Diablo's topic in ARM, 32bit
1. Вы отключаете отладчик от компа, или отладчик от платы? Если отключить отладчик от платы и перезапустить ее - так работает? Вы уверены, что код заливается во флеш, а не RAM? 2. Точно не помню, но в IARе была в опциях проекта вкладка типа "Дополнительный формат выходного файла", и там надо выбрать Intel HEX. 3. Keil и JLink отлично дружат, дело только в настройках. Версия Keil-а уже перевалила за 4, надо обновиться. -
GCC Warning: left shift count >= width of type
Pavel V. replied to Pavel V.'s topic in GNU/OpenSource средства разработки
Спасибо за идею! В итоге так и сделал, только использовал анонимный параметр, что избавило от необходимости в вызове писать условие pin < 16. Специализацию шаблона нельзя выполнять внутри класса, поэтому вынес наружу. namespace IO { template<uint32_t pin, bool = (pin < 16)> struct ConfigurationMask { static inline uint32_t Clear() { return ~(0x03UL << (pin * 2)); } static inline uint32_t SelSet(Configuration configuration) { return (((uint32_t)configuration >> 4) & 0x03UL) << (pin * 2); } static inline uint32_t ModeSet(Configuration configuration) { return (((uint32_t)configuration >> 2) & 0x03UL) << (pin * 2); } }; template<uint32_t pin> struct ConfigurationMask<pin, false> { static inline uint32_t Clear() { return ~(0x03UL << ((pin - 16) * 2)); } static inline uint32_t SelSet(Configuration configuration) { return (((uint32_t)configuration >> 4) & 0x03UL) << ((pin - 16) * 2); } static inline uint32_t ModeSet(Configuration configuration) { return (((uint32_t)configuration >> 2) & 0x03UL) << ((pin - 16) * 2); } }; template<Port port, uint32_t pin, ActiveState activestate> class Pin { static_assert((pin < 32), "Pin number must be <= 31"); public: /* * Set Configuration */ static void SetConfiguration(Configuration configuration) { ... SEL0 &= ConfigurationMask<pin>::Clear(); SEL0 |= ConfigurationMask<pin>::SelSet(configuration); MODE0 &= ConfigurationMask<pin>::Clear(); MODE0 |= ConfigurationMask<pin>::ModeSet(configuration); ... } }; } -
Компилирую следующий код: template<uint32_t pin> class Pin { public: void Test() { if(pin < 16) { 1: g_test &= ~(0x03UL << (pin * 2)); } else { g_test &= ~(0x03UL << ((pin - 16) * 2)); } } }; int main() { Pin<22> test; test.Test(); } На строчку 1 компилятор ругается: source/main.cpp: In member function 'void Pin<pin>::Test() [with long unsigned int pin = 22ul]': source/main.cpp:30:12: instantiated from here source/main.cpp:18:4: warning: left shift count >= width of type [enabled by default] Код компилируется и работает правильно. Оптимизатор, естественно, выкидывает ненужный код, т.к. pin константа (что видно по листингу). Как убрать это сообщение?
-
GCC и C++ для Cortex-M3
Pavel V. replied to Pavel V.'s topic in GNU/OpenSource средства разработки
Кстати, заметил еще одну особенность - при уровне оптимизации -O0 проблема сохраняется, тянутся системные вызовы. Начиная с -O1 перестают. -
GCC и C++ для Cortex-M3
Pavel V. replied to Pavel V.'s topic in GNU/OpenSource средства разработки
neiver Спасибо за ссылки, буду изучать :) По коду не сразу получается воткнуть, надо будет для себя диаграммки нарисовать для наглядности. У меня GPIO в проектах в основном для "медленных" операций используются, типа управления питанием внешних модулей, поэтому накладными расходами на вызов функций работы с портами особо не заморачивался. Зато очень удобно передавать куда угодно по ссылке. Будьте добры мне тоже на почту реализацию для LPC17хх, как раз сейчас с этим процессором работаю (павел AT posten.ru).