Архив 18 марта 2017

Отложить до получки

В интернет-магазине уазодеталей видел замечательную кнопочку “отложить до получки”. Считаю, повышает юзабилити до невероятных высот.

Texas Instruments CC3220

TI официально объявил о выпуске “второго поколения” своих микроконтролеров с WiFi – был CC3200, стал СС3220, да еще и в трех вариантах – CC3220R, CC3220S и CC3220SF. Собственно, отдельные “контролируемые утечки” происходили и раньше, где-то в начале марта стала доступна для заказа демо-плата, а на прошлой неделе был выложен SDK.

Что хочется сказать? SDK построен по принципу “Fire and Motion” – он совершенно несовместим с CC3200 :) Не знаю, может, это и хорошо – но я уже немного ориентируюсь в библиотеках для CC3200, а тут придется учиться заново. По железу? Главная новинка, на мой взгляд – это CC3220SF, где до TI наконец-то дошло, что нехорошо помещать код и данные на ARM Cortex M4 в одну и ту же область памяти. Теперь помимо 256 Кб SDRAM имеется еще и флеш-память для кода объемом почему-то 1000 Кб (не 1024, а именно 1000 :) ). В теории, это должно увеличить производительность в 2-3 раза.

В наших отечественных магазинах демо-платы по понятным причинам еще нет, так что хочу поинтересоваться у общественности – а никто не заказывал всякое барахло из TI Store? Что означает вот это страшилка?

http://www.ti.com/lsds/ti/store/faq-russian-orders-info.page

Детективное про Eclipse IDE

Перетаскивал свои прожекты для CC3200 из Code Composer Studio (это Eclipse IDE, немного дополненная Texas Instruments) в IAR Embedded Workbench. В процессе возник вопрос – почему любой проект, который делается в Eclipse, превращается в помойку? Я сталкивался с этим, когда мигрировал с Eclipse+ADT на Android Studio, видел ужасы, так что скорее всего, это не связано с языком программирования.

И кажется, я нашел ответ. Практически в любой более-менее “взрослой” IDE есть поддержка двухуровневой организации проектов. В Visual Studio, например, отдельные проекты (Project) объединяются в решение (Solution). В Android Studio проект (Project) состоит из модулей (Module), в IAR “рабочее пространство” (Workspace) содержит проекты (Project). Нечто подобное формально существует и в Eclipse – там терминология аналогична IARовской, Workspace и Project.

IDE Верхний уровень Нижний уровень
Visual Studio Solution Project
Android Studio Project Module
IAR Embedded Workbench Workspace Project
Eclipse IDE Workspace Project

Вроде бы все по-человечески? Но есть одно маленькое отличие – Eclipse предполагает, что workspace существует в единственном экземпляре, особенно подчеркивая это вот эти окошечком при запуске:

eclipse_install_launch

Поставьте галочку и не парьтесь выбором :) А к чему приводит работа в одном-единственном workspace? В случае с CC3200 и Code Composer Studio для какой-либо осмысленной работы в workspace должны быть включены несколько проектов из SDK, что уже само по себе “замусоривает” его и усложняет переключение на другой workspace. У меня в том же workspace поселилась библиотека CMSIS-DSP вместе с парой тестовых проектов, примеры из SDK и два “боевых” проекта – итого на 2 реальных проекта пришлось десяток “мусорных”. Неплохо, а?