khlenar 5 29 октября, 2011 Опубликовано 29 октября, 2011 · Жалоба Здравствуйте все. Никак не могу понять как создавать рабочий проект. Если по шагам, тол делаю так. Открываю новый проект, выбираю девайс(например 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\, то компиляция проходит успешно. Как же правильно собирать проект? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
esaulenka 7 31 октября, 2011 Опубликовано 31 октября, 2011 · Жалоба 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/ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
khlenar 5 31 октября, 2011 Опубликовано 31 октября, 2011 · Жалоба Надо подключить ещё и 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 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
esaulenka 7 1 ноября, 2011 Опубликовано 1 ноября, 2011 · Жалоба Подключил 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 в лице МТ-систем более вкусные цены предоставил ;-) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
khlenar 5 1 ноября, 2011 Опубликовано 1 ноября, 2011 · Жалоба В принципе я разобрался с STM. Также МК от NXP нравятся, я позовчера заказал отладочную плату с LPC1788. Почитайте этот stm32f10x.h в районе 45-й строки, должно помочь. Да, действительно: Uncomment the line below according to the target STM32 device used in your application Офигеть, можно же препроцессором выбрать устройство. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться