Я смог найти ответ. Эти шаги могут быть полезны тем, кто сталкивается с этим вопросом. Это было сделано в MacOS, но должно быть аналогично процессу для других операционных систем.
В процессе сборки можно увидеть имя файла. Ему будет предшествовать startup_
, за которым следует название конкретного чипа, для которого вы разрабатываете. В моем случае это строка
Compiling .pio/build/disco_f072rb/FrameworkCMSISDevice/gcc/startup_stm32f072xb.o
При поиске в папке .platformio
моего пользовательского каталога я нашел соответствующий файл .s
, который в моем случае был .platformio/packages/framework-stm32cube/f0/Drivers/CMSIS/Device/ST/STM32F0xx/Source/Templates/gcc/startup_stm32f072xb.s
Структура пути, ведущего к файлу, указывает на особенности оборудования и фреймворков, которые я использую: фреймворк STM32Cube, чип серии F0 и компилятор G CC. Самый простой способ найти этот файл и как мне удалось его найти - это использовать команду find
из терминала для поиска в каталоге PlatformIO.
Чтение этого файла дает строки, которые я искал, определяя имена функций, которые будут использоваться для обработки исключений и прерываний, например:
.weak EXTI0_1_IRQHandler
.thumb_set EXTI0_1_IRQHandler,Default_Handler
Похоже, пока я использую CubeMX HAL для некоторых драйверов, код запуска basi c выполняется с использованием CMSIS, поэтому он должен быть таким же для сборок на основе HAL, LL или CMSIS.