Files
jlv135_cli/build.md

2.6 KiB
Raw Blame History

Инструкция по сборке

Общее описание

Этот файл 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