Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Keil5 подключит startup для STM32
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > ARM, 32bit
Khludenkov
Здравствуйте. Пробую создать проект в keil5 для stm32 "с нуля". Всё работает. Но нет файла startup.s. Беру его из демо-проектов и кладу рядом с main.c. Естественно не компилится. Подскажите, что надо сделаТЬ? СОздать отдельный каталог для стартапа? Надо ли какие дополнительные опции прописывать?
SSerge
Цитата(Khludenkov @ Mar 31 2015, 13:52) *
Здравствуйте. Пробую создать проект в keil5 для stm32 "с нуля". Всё работает. Но нет файла startup.s. Беру его из демо-проектов и кладу рядом с main.c. Естественно не компилится. Подскажите, что надо сделаТЬ? СОздать отдельный каталог для стартапа? Надо ли какие дополнительные опции прописывать?

Ну так загляните в имеющийся демо-проект, посмотрите как там сделано.
Khludenkov
Смотрел. Никаких отличий во вкладках "StartUp" не нашёл. Как я понимаю, это надо опции линковщика выставлять. Спасибо, ещё раз посомтрю.

P.S. в примерах к кейлу нет стартаповских файлов. В blinky тоже. В других примерах нашёл только инициализацию кучи для keilrtos. Есть ли менеджер настроек оборудования как в codevision к примеру?

Смотрел. Никаких отличий во вкладках "StartUp" не нашёл. Как я понимаю, это надо опции линковщика выставлять. Спасибо, ещё раз посомтрю.

P.S. в примерах к кейлу нет стартаповских файлов. В blinky тоже. В других примерах нашёл только инициализацию кучи для keilrtos. Есть ли менеджер настроек оборудования как в codevision к примеру?
Khludenkov
P.P.S. Не оборудования, конечно, а периферии.
SSerge
Я с Кейлом давно дел не имел, какие кнопки давить не помню.
Но Вы же как-то к своему проекту подключили main.c ? Вот точно так-же нужно подключить и startup_stm32fxxxx.s
В какой именно раздел проекта добавлять - не важно, это чисто вопрос удобства и логики.
В примерах от ST он обычно бывает в /DEMO/MDK-ARM/ или /Application/MDK-ARM/ или /CMSIS/

Кроме main.c и startup_stm32fxxxx.s потребуется как минимум ещё один файл: system_stm32fxxx.c
В этом файле находится реализация функции SystemInit(), эта функция сразу после старта вызывается из startup_stm32fxxxx.s

PS. xxx в именах файлов заменяются на название семейства к которому относится процессор.
ViKo
Именно, добавить стартап к проекту. Выбрать asm файлы. Я обычно имею его в Source папке.
А SystemInit свою создаю.
И библиотеками почти не пользуюсь.
И Кубом не буду.
Все нужное описано в Референс мануале.
Khludenkov
Спасибо большое. Тему можно считать закрытой.
x893
две галки в списке pack и создать main.c
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.