Примерно раз в несколько месяцев налетаю на проблему:
$ make make: *** Нет правила для сборки цели `build/firmware.elf', требуемой для `all'. Останов.
Долго мучаюсь, сравнивая Makefile
из разных проектов, изучая исходники.
Пока не вспоминаю, что такая ошибка в ChibiOS вылетает при отсутствии файла сборки для проца, т.е. STM32F103x8.ld
!
Дело в том, что в оригинальном ChibiOS такого файла нет, я его делаю руками. И при создании очередного проекта забываю перенести этот файлик в местную версию операционки.
Лежать файл должен по адресу ./os/ports/GCC/ARMCMx/STM32F1xx/ld/STM32F103x8.ld
, а внутри отличаться от STM32F103xB.ld
(обратите внимание на букву B
) так:
--- ./os/ports/GCC/ARMCMx/STM32F1xx/ld/STM32F103xB.ld 2014-03-21 12:53:31.000000000 +0400 +++ ./os/ports/GCC/ARMCMx/STM32F1xx/ld/STM32F103x8.ld 2014-03-21 12:53:53.000000000 +0400 @@ -26,7 +26,7 @@ MEMORY { - flash : org = 0x08000000, len = 128k + flash : org = 0x08000000, len = 64k ram : org = 0x20000000, len = 20k }