[i] Настройки проекта IDE Keil для МК К1901ВЦ1QI и МК семейства К1986ВЕ9x

ID статьи: 24186
Дата последнего изменения: 04.12.2025 12:51:12

В статье представлено краткое описание всех вкладок опций проекта в среде IDE Keil на примере микроконтроллеров семейства К1986ВЕ9x:

А также для микроконтроллера К1901ВЦ1QI (MDR32FG16S1QI).

Опции проекта можно открыть через меню "Project - Options for Target…", либо через Toolbar (рисунок 1).


Рисунок 1 - Открытие "Options for Target…" через Toolbar

Содержание

1. Device
2. Target
3. Output
4. Listing
5. User
6. C/C++
7. Asm
8. Linker
9. Debug
    9.1 J-Link, окно 'Target device settings'
    9.2 Настройки программатора
10. Utilities   

1. Device


Рисунок 2 - Options for Target. Вкладка 'Device', K1986VE92xI

В этой вкладке указан Device (микроконтроллер), для которого собирается проект. Справа в соседнем окне выводится информация о названии и основных характеристиках микроконтроллера.

Выбор Device в зависимости от микроконтроллера:

Если требуется выбрать К1901ВЦ1QI, нужно перейти в категорию Cortex-M3 with DSP и выбрать MDR32FG16S1QI.

2. Target


Рисунок 3 - Options for Target. Вкладка 'Target'

Внизу вкладки 'Target' указано расположение областей памяти в микроконтроллере. Эти значения также могут использоваться во вкладке 'Linker'. Изменять их не требуется, они автоматически устанавливаются из описания.

3. Output


Рисунок 4 - Options for Target. Вкладка 'Output'

Во вкладке 'Output' можно активировать опцию - Create HEX file, которая добавляет после сборки проекта генерирование выходного образа прошивки в формате Intel HEX. Также можно изменить название исполняемого файла в поле 'Name of Executable'.

4. Listing


Рисунок 5 - Options for Target. Вкладка 'Listing'

Во вкладке 'Listing' выставляются различные опции вывода справочной информации при сборке программы. Самым интересным является *.map файл, в котором показано распределение программы и данных в памяти микроконтроллера.

5. User


Рисунок 6 - Options for Target. Вкладка 'User'

Во вкладке 'User' можно задать различные скрипты, которые будут выполняться автоматически перед компиляцией проекта, перед сборкой (Before Build/Rebuild) и после сборки (After Build/Rebuild).

6. C/C++


Рисунок 7 - Options for Target. Вкладка 'C/C++'

Во вкладке C/C++ выбираются опции компиляции, пути к заголовочным файлам (Include Path) и т.д. В строке "Define" можно задать ключи условной компиляции, если они используются в проекте.

При разработке и отладке программ рекомендуется выключать оптимизацию - "-O0". При высоком уровне оптимизации получается более компактный и быстрый код, но из-за применяемых оптимизаций его сложнее отлаживать. Повышение уровня оптимизации лучше оставить до полного окончания разработки и отладки программы.

7. Asm


Рисунок 8 - Options for Target. Вкладка 'Asm'

Во вкладке 'Asm' приведены настройки ассемблера. При работе с ARM Compiler v6 рекомендуется выбирать автоопределение ассемблера - поле 'Assembler Option', значение 'armclang (Auto Select)'. Иначе может быть выведено предупреждение [i] Warning A1950W (armasm is deprecated) после перехода на новую версию Keil 5.42.0.0.

8. Linker


Рисунок 9 - Options for Target. Вкладка 'Linker', K1986VE92xI

Во вкладке 'Linker' приведены настройки компоновщика. При сборке проекта компоновщик использует конфигурационный scatter-файл, в котором задается адресное пространство микроконтроллера (адресация областей EEPROM и RAM, распределение секций и т.д.). Если установлена опция 'Use Memory Layout from Target Dialog', то Keil автоматически генерирует scatter-файл на основе описания областей IROMx/IRAMx из вкладки 'Target'. Однако в драйверах SPL (а именно EEPROM) применяется дополнительная секция в памяти ОЗУ, в связи с этим при использовании драйвера EEPROM следует использовать scatter-файл, входящий в состав Software Pack (расположен в папке RTE\Device\"MCU" относительно проекта). 

В зависимости от микроконтроллера путь к scatter-файлу будет следующим:

9. Debug


Рисунок 10 - Options for Target. Вкладка 'Debug'

В окне Debug в поле 'Use' выбирается программатор. Поддерживаемые программаторы в IDE Keil приведены в статье [i] Совместимость микроконтроллеров со средами разработки и программаторами.

Рекомендуется сначала подключить программатор к плате через JTAG, а затем к компьютеру через USB. После подключения программатора и USB можно подать питание на плату.

Для перехода к настройкам программатора необходимо нажать кнопку 'Settings'.

9.1 J-Link, окно 'Target device settings'

При первом запуске 'Settings' программатора J-Link открывается окно Target device settings. Поскольку J-Link официально не поддерживает микроконтроллеры Миландр, то необходимо выбрать аналог с корректным указанием ядра из списка и нажать ОК.

Для МК К1901ВЦ1QI и МК семейства К1986ВЕ9x нужно выбрать вариант "Unspecified Cortex-M3".


Рисунок 11 - SEGGER J-Link, Target device settings

Если выбор микроконтроллера был осуществлен неверно, то самый простой способ повторного выбора - это удалить файл JLinkSettings.ini из папки с проектом. После удаления данного файла при открытии 'Settings' программатора J-Link снова открывается окно Target device settings с выбором микроконтроллера.

Также программатор J-Link позволяет прошивать МК без участия среды Keil, информация об этом приведена в статье [i] Программирование контроллеров с помощью J-FLASH Lite.

9.2 Настройки программатора

Сначала необходимо выбрать отладочный интерфейс подключения к плате. Обычно во всех микроконтроллерах с ядрами Cortex-Mx или аналогами доступны два интерфейса - JTAG и SWD. Интерфейс SWD использует меньшее количество выводов для связи, чем JTAG - статья Подключение выводов JTAG в микроконтроллерах.

Например, выбираем Port: SW. После выбора порта, если ранее было подключено питание и если все подключено правильно, то в окне справа появится наше подключенное устройство в JTAG Device Chain. Выбираем рабочую частоту, например, 2 МГц. При такой частоте, как правило, прошивка всегда проходит успешно. При необходимости частоту можно увеличить.

В группе Connect & Reset Options рекомендуется установить подключение с предварительным сбросом, при этом сам сброс необходимо выбрать по выводу RESET микроконтроллера. Для разных программаторов данные настройки немного отличаются, ниже приведены примеры для J-Link и ULINK2/CMSIS-DAP.


Рисунок 12 - Options for Target. Вкладка 'Debug', 'Settings->Debug', J-link


Рисунок 13 - Options for Target. Вкладка 'Debug', 'Settings->Debug', ULINK2/CMSIS-DAP

Во вкладке 'Flash Download' выбираются опции программирования (стирание, программирование, верификация). Дополнительно можно установить опцию Reset and Run, чтобы после завершения программирования отладчик сбрасывал микроконтроллер, и он стартовал уже с новой программой. Ниже в секции Programming Algorithm выбран алгоритм прошивки микроконтроллера. Этот алгоритм берется из *.FLM файла, который входит в состав Software Pack.

При выборе алгоритма необходимо обратить внимание на область памяти, куда будет записываться программа. Эта область должна соответствовать области Flash-памяти. Алгоритм прошивки Flash работает из ОЗУ, поэтому выше представлен диапазон используемого ОЗУ. Эта область также должна соответствовать ОЗУ в карте памяти микроконтроллера.


Рисунок 14 - Options for Target. Вкладка 'Debug', 'Settings->Flash Download', K1986VE92xI

В зависимости от микроконтроллера название FLM будет отличаться:

10. Utilities



Рисунок 15 - Options for Target. Вкладка 'Utilities'

Оставлены настройки по умолчанию. Рекомендуется включить опцию Use Debug Driver, чтобы использовать настройки программатора из вкладки 'Debug'.

После настройки проекта можно приступить к написанию базового проекта Hello World

Контактная информация

Сайт:https://support.milandr.ru
E-mail:support@milandr.ru
Телефон: +7 495 221-13-55