Files
jlv135_cli/build.md

49 lines
2.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Инструкция по сборке
## Общее описание
Этот файл CMakeLists.txt настраивает сборку проекта `jlv135_cli` на языке C, с возможностью кросс-компиляции для прошивки JLV135.
## Основные параметры
1. **Минимальная версия CMake**: 3.0
2. **Язык проекта**: C
3. **Имя проекта**: `jlv135_cli`
## Опции сборки
- `BUILD_FOR_JLV135` (по умолчанию ON) - включает настройки для кросс-компиляции под JLV135
## Настройки кросс-компиляции
1. **Система**: Linux
2. **Компилятор**: `arm-uclinuxfdpiceabi-gcc`
3. **Утилита strip**: `arm-uclinuxfdpiceabi-strip`
4. **Флаги компиляции**:
- `-Os` - оптимизация по размеру
- `-fdata-sections -ffunction-sections` - размещение каждой функции/данных в отдельной секции
- `-mno-unaligned-access` - запрет невыровненного доступа к памяти
5. **Флаги линковки**: `-Wl,--gc-sections` - удаление неиспользуемых секций
## Структура проекта
1. **Исходные файлы**:
- `src/jl_modbus/jl_modbus_config.c`
- `src/jl_modbus/jl_config.c`
- `src/jlv135_cli/main.c`
2. **Заголовочные файлы**: включаются из директории `inc`
## Библиотеки
- Проект линкуется с библиотекой `pthread`
## Дополнительные действия при сборке
- В режиме `Release` выполняется удаление debug-символов с помощью `strip`
## Использование
1. Создайте директорию для сборки: `mkdir build && cd build`
2. Запустите CMake:
- Для сборки под JLV135 (по умолчанию): `cmake ..`
- Для сборки без кросс-компиляции: `cmake -DBUILD_FOR_JLV135=OFF ..`
3. Соберите проект: `cmake --build .`
4. (Опционально) Укажите тип сборки:
- `cmake -DCMAKE_BUILD_TYPE=Release ..`
- `cmake -DCMAKE_BUILD_TYPE=Debug ..`
## Примечания
- Для кросс-компиляции должны быть установлены соответствующие инструменты (arm-uclinuxfdpiceabi-gcc)
- Настройки оптимизации и удаления debug-символов применяются только при сборке для JLV135