Но один файл — это ни о чём. Туда пихать затуднительно что-то большее. Потому попробуем скомпилить проект из нескольких файлов.
Исходники я перенёс в папку source, чтоб оно не мешалось с другими папками. Там же организована такая структура:
main.c
drivers.c
drivers.h
drivers/gpio.c
drivers/gpio.hчитать дальшеСкомпилить нужно три файла: main.c, drivers.c, gpio.c.
Отличия таковы, каждый файл компилим отдельно с флагом -c:
Я ещё добавил флаг --std-c99 для того, чтоб был тип bool и прочие мелочи.
Как все файлы скомпилились, соберём их:
Порядок файлов любой, за исключением того, что первым должен идти файл, в котором содержится функция main.
Исходник станет примерно таким, это всё тот же моргатор светодиодом:
Ну и скриптик для очистки: clean.bat:
Всё тот же stm8s.h в папке.
Весь проект.