Главная » Статьи » Уроки по программированию stm32fxxx » Уроки по программированию stm32f4xx |
Урок 1: Создание проекта для stm32f4xx
После установки и запуска программы, мы получаем окно следующего вида: Теперь нам нужно создать проект. Для этого жмём Project -> New uVision project Появится окно для сохранения созданного проекта. Придумайте ему осмысленное название и поместите в отдельную папку. Жмите Сохранить. Выскочит окно выбора микроконтроллера: Для STM32f4xxDiscovery выбираем микроконтроллер: STMicroelectropnics -> STM32F407VG. Жмём Ок. Появится окно с вопросом, создать ли стартовый файл. Жмём Да. Теперь наш проект выглядит так: Обратите внимание на вкладку Target 1 слева. Там хранятся наши файлы. Теперь нам надо добавить в наш проект стандартные файлы: CMSIS , StdPeriph и main.c Скачать CMSIS можно с официального сайта вместе с библиотекой stdPeriph: CMSIS+stdPeriph (Или с сайта с разделе Каталог файлов) Создаём в папке с проектом папку main. В ней создаём текстовый файл, который сразу переименовываем в main.c. Из скачанного архива из папки Librares копируем в папку с проектом 2 папки CMSIS и StdPeriph. Далее переименовываем уже имеющуюся группу в startup. Теперь щёлкаем по надписи Target 1 в keil, выбираем Add Group. Так создаём 3 группы. одну называем CMSIS, другую StdPeriph, третью user. В группу main добавляем файл main.c, а в группу CMSIS добавляем файл system_stm32f10x.c. В группу stdPeriph добавляем все файлы из папки STM32F4xx_StdPeriph_Driver\src. В итоге наш проект должен выглядеть так: Теперь нужно прописать местоположение наших файлов в проекте. Щёлкаем правой кнопкой мыши по Target 1 и выбираем Options for Target "Target 1". Откроется окно вида: Выбираем вкладку C/C++, Жмём на кнопку возле строки с надписью Include Paths. Там прописываем местоположение ваших добавленных файлов. Проще это делать нажимая на кнопку справа от строки, куда вы прописываете адрес. Должно получиться что-то типа такого: Добавляем в него текст: #include "stm32f4xx.h" int main(void) { } Пытаемся собрать нажав на F7. Вылезет много ошибок. В папке с библиотекой CMSIS находим файл stm32f10x.h. Выделяем, жмём правую кнопку мыши, выбираем свойства. Там снимаем галочку "только чтение". Теперь перезагрузите кейл, чтобы изменеия вступили в силу. В keil возле main.c появится плюсик. Нажимаем на него и открываем файл stm32f10x.h. В нём находим строки: #if !defined (STM32F4XX) && !defined (STM32F40XX) && !defined (STM32F427X) /* #define STM32F40XX */ /*!< STM32F40xx/41xx Devices */ /* #define STM32F427X */ /*!< STM32F427x/437x Devices*/ #endif Тут надо раскомментировать строку: /* #define STM32F40XX */ /*!< STM32F40xx/41xx Devices */ Это укажет на используемое устройство. Теперь найдите строку: /*#define USE_STDPERIPH_DRIVER */ Если вы собираетесь использовать StdPeriph, то Вам надо раскомментировать эту строку. Иначе надо удалить раздел с подключенной библиотекой из программы. Ещё стоит обратить внимание на строки: #if !defined (HSE_VALUE) #define HSE_VALUE ((uint32_t)8000000) /*!< Value of the External oscillator in Hz */ #endif /* HSE_VALUE */ Сюда пишется величина вашего кварцевого резонатора в герцах. В нашем случае это 8 МГц. В вашем скорее всего тоже. Теперь в архиве с библиотеками найдите файл stm32f4xx_conf.h. Добавьте его в проект, например, к stdPeriph. Всё. Теперь всё должно собраться. Мы подключили CMSIS и StdPeriph. Проект создан Для stm32Discovery необходимо ещё настроить SWD. Для этого опять заходим в окно Options for Target "Target 1" выбираем debug, меняем точку с Use simulator на Use и в качестве то, что использовать выбираем ST-Link Debugger. Жмём Settings. Тут выбираем SWD и жмём Ок. Во вкладке Utilites также выбираем ST-Link Debugger. Жмём Ок. Теперь проект настроен. Можно писать программу. Драйвера на ST-Link можно взять отсюда: ST-Link | |
Просмотров: 6694 | |
Всего комментариев: 0 | |