47522

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

Дата последнего изменения: 01.12.2025 12:13:10

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

  • К1986ВЕ1FI (MDR1213FI), К1986ВЕ1GI (MDR1213GI);
  • К1986ВЕ1Т, К1986ВЕ1АТ;
  • К1986ВЕ1QI (MDR32F1QI).
Опции проекта можно открыть через меню "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', K1986VE1xI

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

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

  • K1986VE1xI - К1986ВЕ1FI (MDR1213FI), К1986ВЕ1GI (MDR1213GI);
  • MDR1986BE1T - К1986ВЕ1Т, К1986ВЕ1АТ;
  • MDR32F1QI - К1986ВЕ1QI (MDR32F1QI).

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', K1986VE1xI

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

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

  • К1986ВЕ1FI/GI - .\RTE\Device\K1986VE1xI\K1986VE1xI.sct;
  • К1986ВЕ1(А)Т - .\RTE\Device\MDR1986BE1T\MDR1986VE1T.sct;
  • К1986ВЕ1QI - .\RTE\Device\MDR32F1QI\MDR32F1QI.sct.

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 официально не поддерживает микроконтроллеры Миландр, то необходимо выбрать аналог с корректным указанием ядра из списка и нажать ОК.

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

  • К1986ВЕ1x - "Unspecified Cortex-M1",
  • К1986ВЕ9x, К1901ВЦ1QI - "Unspecified Cortex-M3".
  • К1986ВЕ8Т, К1986ВК01GI - "Unspecified Cortex-M4"

Рисунок 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', K1986VE1xI

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

  • К1986ВЕ1FI/GI - K1986VE1xI IAP 128kB Flash Rev_X;
  • К1986ВЕ1(А)Т - 1986VE1/VE3 IAP 128kB Flash Rev_X;
  • К1986ВЕ1QI - 1986VE1 IAP 128kB Flash Rev_X.

10. Utilities

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

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

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


Сохранить статью в PDF

Программное обеспечение

Теги

Была ли статья полезной?