Розробка додатків для вбудованих пристроїв частина 4

Слідкуйте за виходом нових статей цієї серії.

Цей контент є частиною серії: Розробка додатків для вбудованих пристроїв

Слідкуйте за виходом нових статей цієї серії.

У першій частині цієї серії з чотирьох статей обговорювалося, як налаштувати популярну середу розробки Eclipse для збірки AVR-додатків. У другій частині ми розглянули, як це завдання можна виконати за допомогою іншої, більш легкої середовища розробки - Code :: Blocks. Після цього ми звернули увагу на інше сімейство додатків, які збираються з використанням компілятора SDCC, і в третій частині познайомилися зі створенням і налаштуванням SDCC-додатків в Eclipse. У цій статті буде показано, як працювати з SDCC-додатками в середовищі Code :: Blocks.

Інтегроване середовище розробки Code :: Blocks ми вже розглядали у другій частині цієї серії статей. Там наводилися основні відомості про можливості Code :: Blocks, а також давалися основні навички роботи з нею.

Компілятор Small Device C Compiler (SDCC) коротко описувався в третій частині. Настійно рекомендується ознайомитися з керівництвом користувача, яке входить до складу встановлюваних в системі пакетів, його можна завантажити з сайту SDCC. Список підтримуваних архітектур легко дізнатися простий командою:

Передбачається, що у вас в системі і Code :: Blocks, і SDCC встановлені і працездатні. Якщо це так, то можна переходити до створення та налаштування проекту.

створення проекту

Запустіть Code :: Blocks. Спочатку потрібно налаштувати глобальні настройки компілятора; для цього виберіть пункт меню "Settings-> Compiler and Debugger".

Малюнок 1. Глобальні налаштування компілятора

Розробка додатків для вбудованих пристроїв частина 4

Розробка додатків для вбудованих пристроїв частина 4

Далі виконайте наступні кроки.

  1. У самому верхньому полі «Selected Compiler» виберіть зі списку "SDCC Compiler". Якщо тепер натиснути кнопку «Set as default», то для всіх нових проектів саме SDCC буде стандартним компілятором. Це зручно тільки в тому випадку, коли Code :: Blocks використовується лише для розробки SDCC-додатків.
  2. Перейдіть на вкладку "Toolchain executables". Тут потрібно виправити каталог, де встановлений SDCC, а також імена утиліт з його комплекту, якщо вони неправильно вказані. За замовчуванням каталогом установки вважається / usr / local / bin. У різних дистрибутивах можуть бути різні каталоги установки виконуваних файлів SDCC. Наприклад, в Fedora вони встановлюються в каталог / usr / bin, тому в поле «Compiler's installation directory» правильно буде записати «/ usr».

Нижче, на вкладці «Program Files», потрібно перевірити імена виконуваних файлів SDCC: компілятора, компоновщика і т.д. За замовчуванням використовується ім'я sdcc для компілятора і компонувальника. Правильні імена файлів можна дізнатися, виконавши команду «ls / usr / bin / sdcc *», якщо файли встановлені в / usr / bin. У деяких дистрибутивах ці імена з будь-яких міркувань можуть бути іншими. Наприклад, в Fedora до стандартних імен файлів додається префікс sdcc, тому в полях «C compiler» і «Linker for dynamic libs» має бути вписано «sdcc-sdcc».

Тепер, оскільки готового майстра для SDCC-проектів немає, створимо порожній проект. У меню виберіть команду "File -> New-> Project". Виберіть "Empty Project" та натисніть кнопку «GO». З'явиться вітальне вікно майстра нового проекту, натисніть кнопку «Next».

Малюнок 2. Створення порожнього проекту

Розробка додатків для вбудованих пристроїв частина 4

Розробка додатків для вбудованих пристроїв частина 4

Відкриється вікно, де потрібно в поля «Project title» і «Folder to create project in» ввести ім'я нового проекту і каталог, в якому розміщуватиметься каталог проекту. Введіть необхідну інформацію. Майстер створення проекту автоматично заповнить поле з ім'ям файлу проекту ( «Project filename»), яке не обов'язково має збігатися з назвою проекту, і в поле «Resulting filename» запропонує повне ім'я файлу проекту з повним шляхом, причому цей шлях теж не обов'язково повинен збігатися з каталогом проекту. Заповнивши все необхідне, натисніть кнопку «Next».

Малюнок 3. Введення імені проекту

Розробка додатків для вбудованих пристроїв частина 4

Розробка додатків для вбудованих пристроїв частина 4

Налаштування проекту

Отже, у нас створено порожній проект. Потрібно налаштувати його так, щоб він міг працювати з SDCC. Для цього виберіть пункт меню "Project-> Properties", перейдіть на вкладку "Build targets". В панелі «Select build target options» в поле "Type" за замовчуванням тип програми зазначений як «Console application». Не бачу, чому цей тип може не підійти для SDCC-додатки, але в ряді посібників рекомендується змінити його на "Native". Це потрібно зробити для всіх цілей збірки (цілі вибираються зліва в панелі «Build targets»).

Малюнок 4. Властивості проекту

Розробка додатків для вбудованих пристроїв частина 4

Розробка додатків для вбудованих пристроїв частина 4

Для налаштування параметрів збирання проекту виберіть в меню пункт "Project-> Build Options". Для початку тут можна налаштувати прапори компілятора, загальні для всіх цілей збирання: тип процесора, модель пам'яті і т.д. У лівій панелі вікна з параметрами збірки проекту серед цілей складання виберіть назву проекту (на малюнку 5 це «test»). Тепер на вкладці "Compiler Settings", а потім нижче, на вкладці "Compiler Flags", потрібно вибрати прапор для використовуваного процесора. Якщо нічого не вибрати, то буде діяти прапор -mmcs51 для процесорів, сумісних з Intel MCS51. Ще відразу для всього проекту має сенс вибрати тут модель пам'яті і параметри стека.

Малюнок 5. Параметри цілей складання

Розробка додатків для вбудованих пристроїв частина 4

Розробка додатків для вбудованих пристроїв частина 4

Після цього виберіть по черзі всі цілі збірки і вкажіть параметри компілятора, характерні тільки для них. Наприклад, для мети збірки Debug слід вибрати прапор «Produce debugging symbols [--debug]», а для мети Release може бути корисним прапор «Optimize generated code (for size) [--opt-code-size]».

Зверніть увагу, що коли ви вибираєте конкретні цілі збірки, то стає активним поле «Policy» відразу під вкладкою «Compiler Settings». Тут можна вибрати правило, відповідно до якого проводиться поєднання параметрів, вибраних для мети збірки, з параметрами всього проекту. Стандартне правило - «Append target options to project options» (параметри цілі збірки додаються до параметрів проекту »). З таким правилом тут немає необхідності в кожній цілі знову вибирати ті прапори, які були налаштовані для всього проекту. При необхідності можна вибрати і інші правила.

Натисніть кнопку «Ok», щоб зберегти настройки.

Локалізація Code :: Blocks

В даний час ведуться роботи по локалізації інтерфейсу Code :: Blocks для різних мов. Переклад на російську мову ведеться тут. і якщо завантажити звідти файл codeblocks.mo і помістити його в каталог, наприклад, / usr / share / codeblocks / locale / ru_RU / (потрібні привілеї користувача root), то інтерфейс програми буде російською мовою, якщо в глобальних налаштуваннях ( «Settings- > Environment-> View ») включити параметр« Internationalization (needs restart) »і справа в випадаючому списку вибрати« Russian ». Ця зміна вступить в силу після перезавантаження.

пробна програма

Тепер, коли проект налаштований, додамо до нього перший файл. Для цього виберіть в меню пункт «File-> New-> File. », У вікні, виберіть шаблон« C / C ++ source »і натисніть кнопку« Go ».

Малюнок 6. Створення нового С-файлу

Розробка додатків для вбудованих пристроїв частина 4

Розробка додатків для вбудованих пристроїв частина 4

У наступному вітальному вікні майстра створення файлів натисніть кнопку «Next», далі виберіть мову програмування для файлу - «C» і натисніть кнопку «Next». Відкриється вікно, в якому потрібно ввести ім'я файлу, наприклад, main.c, і цілі збірки, в які він буде входити. Якщо натиснути кнопку «All», то файл буде додано в усі наявні цілі збірки.

Малюнок 7. Введення імені файлу

Розробка додатків для вбудованих пристроїв частина 4

Розробка додатків для вбудованих пристроїв частина 4

Збережіть цей файл натисканням кнопки з дискетою в панелі інструментів, командою меню «File-> Save» або сполучення клавіш Ctrl + S. Потім виберіть команду меню «Build-> Build» або натисніть кнопку з шестерінкою в панелі інструментів, або просто натисніть клавіші «Ctrl-F9». Внизу, у вікні «Logs others », журнал компіляції буде виведений на вкладці« Build log », а на вкладці« Build messages »з'являться повідомлення про помилки та попередження, якщо вони є.

Малюнок 8. Вид на зібраний проект

Розробка додатків для вбудованих пристроїв частина 4

Розробка додатків для вбудованих пристроїв частина 4

Після складання проекту вихідний файл з ім'ям, зазначеним в поле «Output filename» в настройках ( «Build-> Properties», вкладка «Build targets», див. Малюнок 4), поміщається в каталог bin / Debug (або інший, залежно від того, як ви налаштували цілі збірки). Він за замовчуванням створюється в форматі Intel Hex і його можна завантажувати в процесор за допомогою програматора. Крім того, там компілятором створюється файл * .mem, що представляє карту використання пам'яті. В каталозі obj / Debug (в залежності від мети складання) знаходяться файли * .asm, * .lst, * .rst, що представляють собою різні варіанти ассемблерних листингов програми, створених компілятором.

Аналогічний підхід можна спробувати використовувати і в разі необхідності роботи з іншими компіляторами для вбудованих рішень, наприклад GNU ARM GCC. А в цій короткій статті описується, як можна налаштувати Code :: Blocks для розробки ARM-GCC-додатків, використовуючи власний Makefile.

висновок

У цій заключній частині серії статей ви познайомилися з тим, як з мінімальними зусиллями створити і налаштувати проект для розробки додатків за допомогою компілятора SDCC в середовищі Code :: Blocks.

Ресурси для скачування

Схожі теми

Схожі статті