Я сейчас пытаюсь создать образ прошивки под управлением STM32F0xx MCU. Это похоже на алгоритм флеш-памяти, обеспечивает некоторый вызов функции для управления выводами микроконтроллера STM32F0xx, но он сложнее, чем алгоритм флеш-памяти. Поэтому он будет использовать STM32 HAL lib и Mbed lib.
Компилятор / компоновщик использует флаги "-ffunction-section" и "-fdata-section".
Поэтому я использую атрибут " (( used ))", чтобы попытаться сохранить функцию в образе прошивки, но она не удалась.
Версия набора инструментов arm-none-eabi-gcc - 4.9.3.
Мои коды такие:
extern "C" {
__attribute__((__used__)) void writeSPI(uint32_t value)
{
for (int i = 0; i < spiPinsNum; i++) {
spiPins[i] = (((value >> i) & 0x01) != 0) ? 1 : 0;
}
__ASM volatile ("movs r0, #0"); // set R0 to 0 show success
__ASM volatile ("bkpt #0"); // halt MCU
}
}
После успешной сборки символ writeSPI no в изображении.
Я также пробую static
для функции, флаг "-uXXXXX", создайте новый раздел.
Вопрос: Как сохранить код функции writeSPI с флагами "-ffunction-section" и "-fdata-section"?