Update README.md to clarify env.sh usage and toolchain modes

- Added detailed instructions for two modes of operation in env.sh: normal mode and full toolchain mode.
- Updated the deactivation command to reflect changes in the toolchain registration process.
- Revised default CFLAGS for host/toolset builds to enhance clarity and consistency.
This commit is contained in:
2026-03-31 08:24:02 +03:00
parent b4ad220386
commit d16bb178b0

View File

@@ -74,25 +74,40 @@
### 3. Настройка окружения
Активация переменных окружения для работы с тулчейном:
Есть два режима работы `env.sh`.
Обычный режим:
```bash
source ./env.sh --register /путь/к/install/bin
source ./env.sh
```
Скрипт устанавливает переменные `CC`, `CXX`, `LD`, `AR`, `RANLIB`, `STRIP`, `CFLAGS`, `LDFLAGS`, `SYSROOT` и добавляет путь к тулчейну в `PATH`.
Этот режим работает "как раньше":
- добавляет `${PWD}/arm-uclinuxfdpiceabi/bin` в `PATH`
- задаёт `CFLAGS`, `CFLAGS_FOR_TARGET`, `CXXFLAGS_FOR_TARGET`
- задаёт `SUBARCH=armv7-m` и `SUBMODE=thumb`
- не переопределяет `CC`/`CXX`, поэтому не мешает хостовой сборке под WSL
Режим полного toolchain-окружения:
```bash
source ./env.sh --toolchain /путь/к/install [arflags]
```
Этот режим используется сборочными скриптами и дополнительно устанавливает `CC`, `CXX`, `CPP`, `LD`, `AR`, `RANLIB`, `STRIP`, `OBJCOPY`, `OBJDUMP`, `SYSROOT`, `LDFLAGS` и добавляет путь к тулчейну в `PATH`.
Деактивация:
```bash
source ./env.sh --unregister
source ./env.sh --toolchain --unregister
```
## Флаги компиляции
| Переменная | Значение | Назначение |
|------------|----------|------------|
| `CFLAGS` | `-Os -mthumb` | Оптимизация по размеру, Thumb-инструкции |
| `CFLAGS` | `-O2` | Флаги хостовой/toolset-сборки по умолчанию |
| `CFLAGS_FOR_TARGET` | `-Os -mthumb` | Оптимизация по размеру, Thumb-инструкции для target |
| `LDFLAGS` | `-Wl,--fdpic` | Линковка с поддержкой FDPIC |
## Структура каталогов