Прописано в Preprocessor Symbols —> Define. У меня STM32F103RB на плате MSBSTM32, paths выглядят C:\Keil\ARM\Boards\Keil\MCBSTM32\LLL\STM32_SPL\inc.
LLL создана для Вашего tutorial.
Автор: Leonid
Автор: Aveal
Надо перепроверить, что точно правильно прописано и что пути ко всем хэдерам есть в настройках. Симптомы ошибки очень уж типичные для этих двух проблем.
Автор: Виктор
Я вижу главную проблему в SPL и HAL. Что эти знания оказываются бесполезными, как только попадается АРМ не производства STM. А вероятность этого для специалиста продающего свой труд весьма вероятна.
Автор: Aveal
Также знание, к примеру, регистров AVR абсолютно никак не помогает при работе с любым другим контроллером. С чего вообще библиотеки ST должны быть полезными при использовании других контроллеров?
Автор: Victor
С того, что CMSIS подходит ко ВСЕМ АРМ (в большой степени)
Автор: Aveal
Ну а SPL это просто обертка.
Автор: Sergey
Когда открываю новый проект, в разделе STM нет стм-ских устройств. там только upsd-ские устройства.
Что делать-то? Качал с торрента, 12-14 гигов. Что качал, непонятно..
Автор: Aveal
Непонятно действительно ) Я насколько помню четвертый Кейл в районе 400 мб..
Автор: Sergey
Подскажите пожалуйста, что делать? Я два раза проходил по одному видеоуроку и повылезали ошибки.
Т.е. первоначально я выбрал не то устройство, о котором говорилось в уроке, а дальше делал все как говорили — скачивал библиотеку с сайта st.com, прописывал пути, создавал папки (user, periph, CMSIS) и т.д.
Качал отсюда — http://rutracker.org/forum/viewtopic.php?t=2305709
Вот ошибки: Build target ‘Target 1′
compiling system_stm32f4xx.c…
.\CMSIS\Device\ST\STM32F4xx\Include\stm32f4xx.h(666): warning C318: can’t open file ‘core_cm4.h’
\Users\Сергей\Desktop\MyKeilProject\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h(59): error C129: missing ‘;’ before ‘SystemCoreClock’
.\CMSIS\Device\ST\STM32F4xx\Include\stm32f4xx.h(668): warning C318: can’t open file ‘stdint.h’
CMSIS\Device\ST\STM32F4xx\Source\Templates\system_stm32f4xx.c(483): warning C322: unknown identifier
compiling misc.c…
.\CMSIS\Device\ST\STM32F4xx\Include\stm32f4xx.h(666): warning C318: can’t open file ‘core_cm4.h’
\Users\Сергей\Desktop\MyKeilProject\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h(59): error C129: missing ‘;’ before ‘SystemCoreClock’
…
Target not created.
Build Time Elapsed: 00:01:04
Перед Target еще куча всего, но не хочу загромождать комментарий.
Автор: Aveal
.\CMSIS\Device\ST\STM32F4xx\Include\stm32f4xx.h(666): warning C318: can’t open file ‘core_cm4.h’ — не получается открыть файл. Либо файла нет в проекте, либо пути к нему не прописаны в настройках.
Автор: Сергей
Здравствуйте. Подскажите пожалуйста, как тут происходит настройка тактирования? Одну, похожую на настройку строку вы рекомендуете закомментить: #define HSE_Value ((u32)8000000) /* Value of the External oscillator in Hz*/ Может как то еще оно настраивается? Или STM умеет сам распознавать частоту резонатора? А как узнавать частоту работы всей периферии (особенно новичкам)? С кубом все понятно, а вот Standard Peripheral Library для меня загадочна.
Автор: Aveal
Там строка закомментирована только из-за того, что она дублируется в другом файле, а так в SPL тоже есть файлы для работы с тактированием (stm32f10x_rcc.c) и там есть набор функций нужный.
Автор: Vlad
Объясните следующую ошибку:
.\gpio.axf: Error: L6218E: Undefined symbol main (referred from rtentry2.o)
Not enough information to list image symbol
Автор: Vlad
Можно не отвечать, глупость зашкаливает
Автор: Dmitriy
У меня 5-й Keil. Сделал всё как у вас. Правда выбрал другой контроллер. Пути прописал ВСЕ! Ошибка:
*** Using Compiler ‘V5.06 update 1 (build 61)’, folder: ‘C:\Keil_v5\ARM\ARMCC\Bin’
Build target ‘Target 1’
linking…
.\Objects\test.axf: Error: L6218E: Undefined symbol main (referred from __rtentry2.o).
Not enough information to list image symbols.
Finished: 1 information, 0 warning and 1 error messages.
«.\Objects\test.axf» — 1 Error(s), 0 Warning(s).
Target not created.
Build Time Elapsed: 00:00:03
Так вот, в папке Object даже нет такого файла — \test.axf. А он там должен быть?
Автор: Aveal
Функция main() не определена
Автор: Алексей
А чем Keil лучше чем CooCox?
Здесь строчку надо прописать, иначе не заработает… тут строку закомментировать, а то проект не соберется… еще и к каждому файлу(!) из проекта путь указать… В кокосе библиотеки предельно просто добавляются, и без всяких заморочек. Почему именно кейл?
Автор: Aveal
Я IAR’ом только пользуюсь последние несколько лет. В 5 Кейле тоже можно добавлять библиотеки насколько я помню.
Автор: Sergey
Подскажите пожалуйста, что делать? Я два раза проходил по одному видеоуроку и повылезали ошибки.
Т.е. первоначально я выбрал не то устройство, о котором говорилось в уроке, а дальше делал все как говорили – скачивал библиотеку с сайта st.com, прописывал пути, создавал папки (user, periph, CMSIS) и т.д.
Качал отсюда – http://rutracker.org/forum/viewtopic.php?t=2305709
Вот ошибки: Build target ‘Target 1’
compiling system_stm32f4xx.c…
.\CMSIS\Device\ST\STM32F4xx\Include\stm32f4xx.h(666): warning C318: can’t open file ‘core_cm4.h’
\Users\Сергей\Desktop\MyKeilProject\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h(59): error C129: missing ‘;’ before ‘SystemCoreClock’
.\CMSIS\Device\ST\STM32F4xx\Include\stm32f4xx.h(668): warning C318: can’t open file ‘stdint.h’
CMSIS\Device\ST\STM32F4xx\Source\Templates\system_stm32f4xx.c(483): warning C322: unknown identifier
compiling misc.c…
.\CMSIS\Device\ST\STM32F4xx\Include\stm32f4xx.h(666): warning C318: can’t open file ‘core_cm4.h’
\Users\Сергей\Desktop\MyKeilProject\CMSIS\Device\ST\STM32F4xx\Include\system_stm32f4xx.h(59): error C129: missing ‘;’ before ‘SystemCoreClock’
…
Target not created.
Build Time Elapsed: 00:01:04
Перед Target еще куча всего, но не хочу загромождать комментарий.
Автор: Aveal
.\CMSIS\Device\ST\STM32F4xx\Include\stm32f4xx.h(666): warning C318: can’t open file ‘core_cm4.h’ – не получается открыть файл. Либо файла нет в проекте, либо пути к нему не прописаны в настройках.