реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Как собирать проект в Keil?
Iptash
сообщение Oct 29 2011, 20:24
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 613
Регистрация: 2-09-08
Из: г.Набережные Челны
Пользователь №: 39 936



Здравствуйте все.
Никак не могу понять как создавать рабочий проект. Если по шагам, тол делаю так. Открываю новый проект, выбираю девайс(например 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\, то компиляция проходит успешно.
Как же правильно собирать проект?
Go to the top of the page
 
+Quote Post
esaulenka
сообщение Oct 31 2011, 10:25
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 032
Регистрация: 13-03-08
Из: Маськва
Пользователь №: 35 877



Цитата(Iptash @ Oct 30 2011, 00:24) *
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/


--------------------
Тут обсуждается творческий порыв, а не соответствие каким-либо стандартам ©
Go to the top of the page
 
+Quote Post
Iptash
сообщение Oct 31 2011, 14:13
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 613
Регистрация: 2-09-08
Из: г.Набережные Челны
Пользователь №: 39 936



Цитата(esaulenka @ Oct 31 2011, 14:25) *
Надо подключить ещё и 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
Go to the top of the page
 
+Quote Post
esaulenka
сообщение Nov 1 2011, 12:24
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 032
Регистрация: 13-03-08
Из: Маськва
Пользователь №: 35 877



Цитата(Iptash @ Oct 31 2011, 18:13) *
Подключил 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 для самых маленьких" sm.gif
http://we.easyelectronics.ru/STM32/stm32-v...ogo-starta.html

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


--------------------
Тут обсуждается творческий порыв, а не соответствие каким-либо стандартам ©
Go to the top of the page
 
+Quote Post
Iptash
сообщение Nov 1 2011, 13:27
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 613
Регистрация: 2-09-08
Из: г.Набережные Челны
Пользователь №: 39 936



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

Цитата(esaulenka @ Nov 1 2011, 16:24) *
Почитайте этот stm32f10x.h в районе 45-й строки, должно помочь.


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

Офигеть, можно же препроцессором выбрать устройство.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 13:20
Рейтинг@Mail.ru


Страница сгенерированна за 0.01371 секунд с 7
ELECTRONIX ©2004-2016