本项目使用CMake进行构建,可以轻松地在PC上进行模拟,或为嵌入式目标进行交叉编译

1. 克隆仓库

打开支持git的命令行界面,粘贴以下内容:

1
2
git clone https://github.com/zhangwei43721/Smart_Home_System.git
cd Smart_Home_System

2. 在Linux PC上模拟运行

这是一种无需硬件即可快速验证UI和业务逻辑的方法

  1. 创建构建目录

    1
    2
    mkdir build
    cd build
  2. 运行CMake生成Makefile

    1
    cmake ..
  3. 编译项目

    1
    make -j8

    -j8 表示使用8个线程并行编译,可以加快速度。

  4. 运行可执行文件
    编译成功后,build 目录下会生成一个名为 Smart_Home 的可执行文件。

    1
    ./Smart_Home

    此时,您应该能看到一个SDL窗口弹窗,显示项目的LVGL界面。

3. 交叉编译 (嵌入式目标)

当您需要为ARM等嵌入式平台编译时,需要指定交叉编译工具链。

  1. 准备工具链文件:
    修改 arm-gcc.cmake 工具链文件,内容如下,你需要指定这些工具链到自己安装的目录下:

    1
    2
    3
    4
    set(CMAKE_SYSTEM_NAME Generic)
    set(CMAKE_C_COMPILER arm-none-eabi-gcc)
    set(CMAKE_CXX_COMPILER arm-none-eabi-g++)
    # ... 其他工具链相关设置
  2. 运行CMake并指定工具链:
    build目录下,执行:

    1
    cmake .. -DCMAKE_TOOLCHAIN_FILE=../path/to/arm-gcc.cmake
  3. 编译:

    1
    make

    编译完成后,将生成适用于目标平台的二进制文件到 bin/ 目录下,您可以通过烧录工具将其下载到硬件中运行。