Перейти к содержанию
    

Как собирать проект в Keil?

Здравствуйте все.

Никак не могу понять как создавать рабочий проект. Если по шагам, тол делаю так. Открываю новый проект, выбираю девайс(например STM32F101C8), жму ОК далее

он предлагает загрузить загрузчик, в данном случае startup_stm32f10x_md.s, соглашаюсь, создаю новый файл и добавляю в проект

#include <stm32f10x_lib.h>                 // STM32F10x Library Definitions

/*----------------------------------------------------------------------------
   Wait function - delay flashing
*---------------------------------------------------------------------------*/
void wait (void) {
  unsigned int countDown = 300000;         // arbitrary int to count down

  while(countDown--);                      // count down
}

/*----------------------------------------------------------------------------
   MAIN function
*---------------------------------------------------------------------------*/
int main (void) {
  unsigned int leds = 0x01;                // declare and init LEDs

  while (1) {                              // Loop forever
    if (leds > 0x8000) (leds = 0x01);      // check for max value
    GPIOB->ODR = leds;                     // defined in library
    leds <<= 0x1;                          // shift
    wait();                                // delay flashing
  }
}

все, компилирую, выдает ошибку:

prj2.axf: Error: L6218E: Undefined symbol SystemInit (referred from startup_stm32f10x_md.o).

Target not created

если в место загрузочного файла startup_stm32f10x_md.s цепляю STM32F10x.s из ..StartUp\ST\, то компиляция проходит успешно.

Как же правильно собирать проект?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

prj2.axf: Error: L6218E: Undefined symbol SystemInit (referred from startup_stm32f10x_md.o).

Target not created

Надо подключить ещё и C:\Keil\ARM\Startup\ST\STM32F10x\system_stm32f10x.c

Желательно скопировать этот файл к себе в проект и подключать уже его - всё-таки это не библиотека, а некий черновик кода инициализации.

 

Ну а вообще этот вопрос легко решается, например, поиском слова "SystemInit" по всем исходникам в каталоге кейла.

 

Первая же ссылка в гугле: http://www.keil.com/forum/18804/

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Надо подключить ещё и C:\Keil\ARM\Startup\ST\STM32F10x\system_stm32f10x.c

Желательно скопировать этот файл к себе в проект и подключать уже его - всё-таки это не библиотека, а некий черновик кода инициализации.

 

Ну а вообще этот вопрос легко решается, например, поиском слова "SystemInit" по всем исходникам в каталоге кейла.

 

Первая же ссылка в гугле: http://www.keil.com/forum/18804/

Спасибо большое за ответ.

 

Подключил system_stm32f10x.c, но появилась другая ошибка:

D:\Keil\ARM\INC\ST\STM32F10x\stm32f10x.h(80): error: #35: #error directive: "Please select first the target STM32F10x device used in your application (in stm32f10x.h file)"

Target not created

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подключил system_stm32f10x.c, но появилась другая ошибка:

D:\Keil\ARM\INC\ST\STM32F10x\stm32f10x.h(80): error: #35: #error directive: "Please select first the target STM32F10x device used in your application (in stm32f10x.h file)"

Target not created

 

Адский ад эти ваши STM32!

 

Почитайте этот stm32f10x.h в районе 45-й строки, должно помочь.

 

 

PS статья "STM32 для самых маленьких" :)

http://we.easyelectronics.ru/STM32/stm32-v...ogo-starta.html

 

PPS сам я с этим контроллером не работал. Нам NXP в лице МТ-систем более вкусные цены предоставил ;-)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В принципе я разобрался с STM. Также МК от NXP нравятся, я позовчера заказал отладочную плату с LPC1788.

 

Почитайте этот stm32f10x.h в районе 45-й строки, должно помочь.

 

Да, действительно: Uncomment the line below according to the target STM32 device used in your application

 

Офигеть, можно же препроцессором выбрать устройство.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...