PSLab Bootloader 项目教程
1. 项目目录结构及介绍
PSLab Bootloader 项目的目录结构如下:
📦pslab-bootloader
┣ 📂src # PSLab bootloader 源代码
┃ ┣ 📂mcc_generated_files # 生成的 C 文件
┃ ┣ 📜main.c # 入口文件
┣ 📂external # 外部依赖
┃ ┣ 📂cmake-microchip # 工具链子模块
┣ 📜CMakeLists.txt # CMake 配置文件
┣ 📜flash.mdbscript # 烧录脚本
┣ 📜LICENSE # 许可证文件
┗ 📜README.md # 项目说明文件
目录结构说明
- src: 包含 PSLab Bootloader 的源代码,其中
main.c
是项目的入口文件。 - mcc_generated_files: 包含由 Microchip Code Configurator (MCC) 生成的 C 文件。
- external: 包含外部依赖,特别是
cmake-microchip
子模块,用于工具链管理。 - CMakeLists.txt: CMake 构建系统的配置文件。
- flash.mdbscript: 用于烧录 Bootloader 的脚本。
- LICENSE: 项目的许可证文件,遵循 Apache-2.0 许可证。
- README.md: 项目的说明文件,包含项目的概述、构建和烧录指南。
2. 项目启动文件介绍
项目的启动文件是 src/main.c
,它是 PSLab Bootloader 的入口点。以下是 main.c
的简要介绍:
// src/main.c
#include <xc.h>
#include "mcc_generated_files/mcc.h"
void main(void) {
// 初始化硬件
SYSTEM_Initialize();
// 主循环
while (1) {
// Bootloader 逻辑
}
}
启动文件说明
- #include <xc.h>: 包含 Microchip XC 编译器的标准头文件。
- #include "mcc_generated_files/mcc.h": 包含由 MCC 生成的硬件初始化代码。
- main 函数: 项目的入口函数,负责初始化硬件并进入主循环,执行 Bootloader 的逻辑。
3. 项目的配置文件介绍
项目的配置文件主要是 CMakeLists.txt
,它定义了项目的构建过程和依赖项。以下是 CMakeLists.txt
的简要介绍:
# CMakeLists.txt
cmake_minimum_required(VERSION 3.10)
project(pslab-bootloader)
# 设置编译器
set(CMAKE_C_COMPILER "xc16-gcc")
# 包含子模块
add_subdirectory(external/cmake-microchip)
# 添加源文件
add_executable(pslab-bootloader src/main.c)
# 设置输出文件
set_target_properties(pslab-bootloader PROPERTIES
OUTPUT_NAME "pslab-bootloader"
SUFFIX ".hex"
)
配置文件说明
- cmake_minimum_required(VERSION 3.10): 指定所需的 CMake 最低版本。
- project(pslab-bootloader): 定义项目名称。
- set(CMAKE_C_COMPILER "xc16-gcc"): 设置 C 编译器为 Microchip 的 XC16 编译器。
- add_subdirectory(external/cmake-microchip): 包含外部依赖子模块。
- add_executable(pslab-bootloader src/main.c): 定义可执行文件,包含
main.c
作为源文件。 - set_target_properties: 设置输出文件的名称和后缀为
.hex
。
通过以上配置,项目可以正确地构建并生成可烧录的 .hex
文件。