项目简介
这是一个用于BSE飞行软件项目的模板项目,专为Atmel SAMD21J18A处理器上由Atmel START生成的ASF4项目而构建。该项目使用C语言编写,为飞行软件的开发提供基础框架,可在此基础上添加所需的组件和库。
项目的主要特性和功能
- 提供标准化的模板结构,便于快速搭建BSE飞行软件开发环境。
- 可通过
make
命令编译代码,生成的二进制文件存于build/
目录。 - 支持使用
openocd
和gdb
将代码上传到微控制器并进行运行和调试。 - 提供在Windows、Mac OSX、Linux等不同操作系统上安装工具链的详细步骤。
- 可按特定流程更改Atmel Start ASF库的配置、芯片配置或引脚布局等。
安装使用步骤
前提条件
假设用户已经下载了本项目的源码文件。
安装工具链
Windows
- 在WSL中:
- 管理员权限运行PowerShell,输入
wsl --install
安装WSL。 - 将项目复制到WSL文件系统。
- 编辑
openocd.cfg
文件,顶部添加bindto 0.0.0.0
。 - 运行
hostname
并记录输出。 - 编辑
Makefile
文件,将所有"localhost"替换为"hostname.local"(hostname为hostname
输出)。 - 运行
sudo apt install gcc-arm-none-eabi gdb-multiarch make build-essential -y
安装必要包。 - 运行
sudo ln -s /usr/bin/gdb-multiarch /usr/bin/arm-none-eabi-gdb
。
- 管理员权限运行PowerShell,输入
- 在Windows中:创建防火墙规则,允许WSL与openocd通信。
Mac OSX
- Apple Silicon Mac先遵循ARM Mac说明。
- 安装homebrew。
- 运行
brew install openocd
安装openocd。 - 安装ARM开发工具:
brew tap PX4/homebrew-px4 brew update brew search px4 brew install gcc-arm-none-eabi-80
若最后一步失败且提示安装命令行工具,使用xcode-select --install
安装。
ARM (M1) Mac
- 在
~/.zshrc
文件末尾添加:alias arm="env /usr/bin/arch -arm64 /bin/zsh --login" alias intel="env /usr/bin/arch -x86_64 /bin/zsh --login"
- 运行
source ~/.zshrc
。 - 运行
intel
切换到Intel终端,验证arch
输出为i386
。 - 在Intel终端安装brew。
- 完成Mac OSX其余安装步骤。
Linux (Ubuntu)
- 从此处安装适用于Linux的"Arm GNU Toolchain for 32-bit Devices",并将
bin
文件夹添加到系统路径。 - 运行
sudo apt install openocd
安装openocd,并按步骤添加udev规则。
Linux (其他发行版)
- 安装Arm GNU Toolchain。
- 安装openocd,若包管理器中没有,参考此处说明,并将
bin
文件夹添加到系统路径。 - 可能需添加udev规则。
代码编译与上传
- 确保工具链已安装。
- 运行
make
编译代码,二进制文件存于build/
目录。 - 确保已连接开发板或调试器。
- 在项目目录下启动
openocd
。 - 新终端中,在项目目录下运行
make connect
。 - 在
(gdb)
提示符下运行load
,上传二进制文件到微控制器。 - 运行
monitor reset halt
重置微控制器并开始调试。 - 输入
c
运行程序。
使用Visual Studio Code调试(未测试)
- 确保已使用
make
编译代码。 - 确保已连接开发板或调试器。
- 在VSCode的“运行和调试”菜单中,选择“Debug (OpenOCD)”配置,点击绿色箭头开始调试。
- 等待调试器启动,点击播放按钮运行程序。
更改ASF库配置
- 访问start.atmel.com。
- 点击“Load project from file”,上传
./asf-samd21/atmel_start_config.atstart
。 - 根据需要添加软件组件、配置引脚复用、封装或时钟。
- 点击“Export project”,选择“Makefile (standalone)”并下载压缩包。
- 将下载文件扩展名从
.atzip
改为.zip
并解压。 - 删除解压目录中的
main.c
文件。 - 删除
./asf-samd21/
目录下所有内容,将解压目录中所有文件复制到该目录。 - 根据
./Makefile
说明修改ATMEL_SRC_DIRS
和ATMEL_INCLUDE_DIRS
,可能需根据Atmel Start对./asf-samd21/gcc/Makefile
的更改进一步修改./Makefile
。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】