[uquote="BOND12",url="/forum/viewtopic.php?p=3767405#p3767405"]А можете пояснить, что должно лежать по путям DEVICE, CORE и CMSIS? Структура каталогов STM32F10x_StdPeriph_Lib отличается от cubemx. Я так полагаю, CORE - core_cm3.h, CMSIS - stm32f10x.h и system_stm32f10x.h?[/uquote]
Не совсем. Всё это названия... грубо говоря, наборов файлов.
Изначально - какие-то заголовочные файлы Куба. А переименовывать было лень.
Чаще всего там находятся *.h файлы, которые требуются для сборки проекта.
Если хочется - можно свалить все эти файлы прямо в проект (копипастом, ага). Но после десятого-двадцатого каталога, занимающего по паре десятков мегабайт, становится стыдно перед собой же, и наконец в файле оказываются ссылки.
В общих чертах, gcc будет искать указания на файлы
#include <something.h>
в тех каталогах, которые будут указаны.
[uquote="BOND12",url="/forum/viewtopic.php?p=3767405#p3767405"]И ещё, как быть с файлами *.c лежащими по данным каталогам?[/uquote]
*.c, лично я, складываю в папку. Изредка требуется один-два хитрых .c и это тот случай, когда проще их скопировать. Тем более, что часто они платформо-зависимы (зависят от ядра и иногда даже конкретной модели контроллера).
[uquote="BOND12",url="/forum/viewtopic.php?p=3767405#p3767405"]Я так полагаю, они в принципе не обязательны, но нужны, если потребуются функции из заголовочных файлов, и, в принципе, их можно скомпилировать раз, оформить из них библиотеку и подсовывать компилятору уже её каждый раз, для простоты?[/uquote]
*.c файлы указываются в makefile'е явно. Смотрите директиву SRC = ...
Это все те файлы, которые в итоге будут участвовать в сборке и ТОЛЬКО те, которые в итоге будут переданы линковщику для окончательной сборки исполняемого файла.
Кстати, может посмотреть вот эту статью:
https://server.179.ru/tasks/cpp/total/105.html
[uquote="BOND12",url="/forum/viewtopic.php?p=3767818#p3767818"]Проблема этих IDE в том, что они созданы под windows. Собственно, я и затеял разбор GCC с тем, чтобы слезть с кейла, который под виртуальной машиной гонял, т.к. на линукс его никто не портировал, а под wine он работал настолько криво, что использовать его по назначению возможным не представлялось.
Да и интересно мне, как это всё работает без IDE.
Кстати, мой вопрос про пути всё ещё в силе.[/uquote]
И Вы хотите потоптаться по тем же граблям? Ну... могу только посочувствовать.
И... порекомендовать таки поставить Eclipse + OpenOCD + плагины + *.vxd файлы описания периферии... в общем, в итоге ЭТО будет работать лучше чем Keil. Повертье моим шишкам.
Даже почти удобно получится. Хотя имеет свою специфику.