Как успешно завершить первый проект на STM32, используя книгу К. Новиелло?

Я решил перейти с Elixir на программирование для STM32. Для экспериментов я купил плату NUCLEO-F103RB и приобрёл книгу MasteringSTM32 RELEASE 0.26. Установил все необходимые программные компоненты на Linux Mint 22.3 (i386 Run-Time Libraries, Java, Eclipse, Eclipse Plug-Ins, GCC ARM Embedded и т.д.) в точном соответствии с инструкциями из книги. 

Создав первый проект hello-nucleo, я столкнулся с ошибкой, которая, по моему мнению, связана с несовместимостью компонентов. Я пытался решить эту проблему на протяжении трёх дней, искал информацию в интернете, но безуспешно. Вкладка Problems показывает следующие сообщения об ошибках:

- make: *** [system/src/stm32f1-stdperiph/subdir.mk:26: system/src/stm32f1-stdperiph/misc.o] Ошибка 127 ...
- Program "arm-none-eabi-g++" not found in PATH ... Project Properties, C++ Preprocessor Include.../Providers, [CDT Arm Cross GCC Built-in Compiler Settings ] options C/C++ Scanner Discovery Problem
- Program "arm-none-eabi-gcc" not found in PATH ... Project Properties, C++ Preprocessor Include.../Providers, [CDT Arm Cross GCC Built-in Compiler Settings ] options C/C++ Scanner Discovery Problem

Теперь я решил обратиться на форум за помощью.
  • 22 декабря 2024 г. 6:03
Ответы на вопрос 2
Вы столкнулись с довольно распространёнными проблемами при работе с микроконтроллерами STM32 и настройке окружения для разработки. Давайте разберем основные шаги, которые помогут вам успешно завершить свой проект на STM32, основываясь на книге К. Новиелло.

### 1. Проверка установки компилятора

Убедитесь, что компилятор `arm-none-eabi-gcc` и его компоненты правильно установлены:

1. **Проверьте, что компилятор установлен**. В терминале выполните команду:
   ```bash
   arm-none-eabi-gcc --version
   ```
   Если вы видите сообщение об ошибке, что команда не найдена, значит, компилятор не установлен или не добавлен в `PATH`.

2. **Установите GCC для ARM**, если он не установлен:
   ```bash
   sudo apt update
   sudo apt install gcc-arm-none-eabi
   ```

3. **Добавьте путь к компилятору в PATH**. Вы можете сделать это, добавив строку в файл `.bashrc` или `.profile`. Например:
   ```bash
   export PATH=$PATH:/path/to/your/gcc-arm-none-eabi/bin
   ```
   Не забудьте перезагрузить терминал или выполнить `source ~/.bashrc`, чтобы изменения вступили в силу.

### 2. Настройка проекта в Eclipse

Проверьте настройки проекта в Eclipse:

1. **Проверьте свойства проекта**:
   - Правой кнопкой мыши нажмите на проект в Project Explorer -> Properties.
   - Перейдите в C/C++ Build -> Environment и убедитесь, что путь к компилятору `arm-none-eabi-gcc` добавлен в переменную `PATH`.

2. **Проверьте настройку компилятора**:
   - Убедитесь, что в C/C++ Build -> Settings выбран правильный инструмент (Toolchain) для компиляции (GCC ARM).

### 3. Решение ошибок сборки

Ошибка с `make` и сообщением "Ошибка 127" обычно указывает на проблему с командой, которая не найдена. Это может быть связано с неправильным путём или отсутствием файлов.

1. **Проверьте Makefile**. Убедитесь, что в Makefile прописаны правильные пути к библиотекам и исходникам. 
2. **Запустите сборку вручную**. Перейдите в каталог проекта через терминал и выполните:
   ```bash
   make
   ```
   Это может дать дополнительные подсказки о том, что может быть не так.

### 4. Дополнительные советы

- **Частично отключите или удалите проблемные зависимости**. Если вы знаете, что какая-то часть проекта вызывает ошибку, попробуйте временно её отключить, чтобы увидеть, с чем именно вы сталкиваетесь.
- **Прочитайте документацию и FAQ книги**. Часто в подобных книгах уже описаны распространенные ошибки и их решения.
- **Используйте образцы кода**. Книга включает множество примеров. Поставьте некоторый из них и проверьте, работает ли базовая функциональность.

### 5. Сообщество и поддержка

Если после выполнения всех этих шагов проблемы сохраняются, рекомендуется обратиться на форумы по STM32, такие как [STM32 Community](https://community.st.com) или специализированные форумы, например, на Reddit или Stack Overflow. Убедитесь, что вы предоставили как можно больше информации о вашей системе, с установленными пакетами и точное сообщение об ошибках.

Следуя этим шагам, вы должны сбалансировано подойти к решению проблем и успешно завершить свой первый проект на STM32. Удачи!
Вот ошибки 
Program "arm-none-eabi-g++" not found in PATH
Program "arm-none-eabi-gcc" not found in PATH

Путь к этим компонентам должен быть в PATH. Показываем PATH , и говорим куда установлен GCC ARM Embedded , и сравниваем эти два знания.
Похожие вопросы