项目简介
本项目聚焦于疯狂赛车相关硬件开发,具备完整的项目目录结构,包含文档、硬件和源代码等部分。借助ARM GCC工具链和makefiles进行编译,可开发适用于不同电路板(如hat和racer)的程序,还配备多个测试应用程序,用于调试和验证功能。
项目的主要特性和功能
- 支持SPI、I2C、USB等多样的硬件通信接口,可与ADC、IMU、RF模块等硬件模块通信。
- 能够灵活控制LED灯的闪烁和颜色。
- 可通过USB或UART便捷地进行数据的收发。
- 能将传感器数据转换为可读的字符串或十六进制表示。
- 全面初始化硬件接口、ADC、IMU、RF模块等设备。
- 提供多个测试程序,方便进行功能调试。
- 通过LED灯状态清晰指示设备的连接和电源状态。
- 完善处理硬件通信和数据读取等错误。
安装使用步骤
下载项目
- 小组负责人在https://eng-git.canterbury.ac.nz/wacky-racers/wacky-racers 上点击“Fork”按钮创建项目副本。
- 点击“Settings”菜单,展开“Sharing and permissions”,将“Project Visibility”改为“Private”。
- 点击“Members”菜单,添加小组成员为Developers。
- 使用bash终端(或其他shell),执行以下命令复制项目:
- 若已设置SSH密钥:
git clone git@eng-git.canterbury.ac.nz:your-userid/wacky-racers.git
- 若未设置SSH密钥:
git clone https://eng-git.canterbury.ac.nz/your-userid/wacky-racers.git
- 若已设置SSH密钥:
- 添加原始仓库为上游:
cd wacky-racers git remote add upstream https://eng-git.canterbury.ac.nz/wacky-racers/wacky-racers.git
- 若原仓库有更新,可执行
git pull upstream master
拉取更新。
配置VS Code
- 打开VS Code,选择
File -> Open Folder
并指向wacky-racers
仓库。 - 安装必要的VS Code扩展:C/C++ (Microsoft) 和Native Debug (Web Freak),VS Code会自动提示安装。
- 选择C++配置(窗口右下角),默认有
hat
或racer
选项。
配置文件
编辑 src/boards
目录下对应电路板的 target.h
文件。
安装编译工具
安装bare-metal ARM GCC工具链 arm-none-eabi
,具体安装细节见 http://ecewiki.elec.canterbury.ac.nz/mediawiki/index.php/ARM_toolchain 。
编译运行
- 选择电路板,可通过以下两种方式设置
BOARD
环境变量:- 每个命令单独设置:
BOARD=racer make program
- 会话设置:
export BOARD=racer; make program
- 每个命令单独设置:
- 首次使用需禁用MCU非易失性存储器的写保护位:
make bootflash
- 常用makefile目标:
all
:编译应用程序program
:编译并下载到MCU(需Openocd作为守护进程运行)debug
:启动调试器GDB(需Openocd作为守护进程运行)reset
:重置MCU(需Openocd作为守护进程运行)clean
:删除可执行文件和目标文件bootflash
:设置SAM4S的位,使其运行应用程序而非引导加载程序
测试应用程序
测试应用程序位于 test-apps
目录,使用时需设置 BOARD
环境变量,可尝试以下程序:
- ledflash1
:需在 boards/xxxx/target.h
中正确定义 LED1_PIO
。
- pwm_test1
:编辑 pwm_test1.c
并定义可用PWM引脚的 PWM1_PIO
。
- usb_vbus_test1
:检测USB VBUS信号。
- usbserial_hello1
:通过USB CDC协议向计算机发送“Hello world”。
- adc_test1
:读取AD5和AD6模拟输入并通过USB CDC协议打印值。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】