Windows下btstack环境搭建
MSYS2安装
MSYS2下载
修改msys2_shell.cmd使得msys2的目录与w10目录保持一致
找到 rem set MSYS2_PATH_TYPE=inherit 删除rem
利用MING32下载软件包
pacman -S mingw-w64-x86_64-toolchain
简单粗暴安装所有包省得以后缺少哪个工具
将mingw64添加环境变量Path
C:\msys64\mingw64\bin
重启电脑 输入gcc -v检查是否安装完成
安装工具插件
pacman -S make
pacman -S python
pacman -S python3-pip
pip下载使用国内源加速下载
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
标准输入输出
pacman -S winpty
为方便btstack环境不与计算机其他环境有冲突,安装btsatck所需软件包时,创建一个虚拟环境来管理
创建虚拟环境
python -m venv path/to/venv
切换到虚拟环境
source path/to/venv/bin/activate
退出虚拟环境(未使用)
deactivate
在虚拟环境下安装btstack编译时所需要的软件包
pip3 install pycryptodome
pip install wheel
下载btstack源码编译测试
编译Windows程序
进入btstack-master\btstack-master\port\windows-winusb目录下编译测试
make
编译arm程序
需要安装交叉编译工具
安装arm-none-eabi-gcc
将bin目录添加到用户环境变量
编译测试
btstack-master\btstack-master\port\stm32-f4discovery-cc256x//进入该目录下执行make
可视化调试
为了更好了调试btstack程序,接下来搭建vscode+st-util调试系统
打开vscode setting.json文件配置gitbash为vscode默认命令行工具,
{
"terminal.integrated.profiles.windows": {
"gitBash": {
"path": "C:\\Program Files (x86)\\Git\\bin\\bash.exe",
},
},
"terminal.integrated.defaultProfile.windows": "Git Bash",
}
下载st-util(ST-LINK GDB server)
将libusb-1.0.27\MinGW64\dll下的libusb-1.0.dll复制到stlink-1.8.0-win32\stlink-1.8.0-win32\bin
将bin目录添加到环境变量
D:\stlink\bin//根据自己安装目录来
将D:\stlink\Program Files (x86)下的stlink文件夹复制到C盘的Program Files (x86)目录下
安装svd文件
svd文件师内存管理,初学者先不管,不影响编译调试
配置launch.json文件
F5快捷键选择 web chrom创建launch.json
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Cortex Debug",
// "cwd": "${workspaceFolder}",
"cwd": "${fileDirname}",
"executable": "E:/desktop/gdb_test/Debug/gdb_test.elf",
"request": "launch",
"type": "cortex-debug",
"servertype": "stutil",
"serverpath": "D:/stlink/bin/st-util.exe",
"interface": "swd",
"device": "STM32F103ZET6",
"v1": false,
"runToEntryPoint": "main",
//.svd可以在keil官网去下载
"svdFile": "D:/en.stm32f1_svd/STM32F1_svd_V1.2/STM32F103.svd",
"showDevDebugOutput": "both"
}
]
}
测试gdb调试
利用cubemx新建工程选择makefile(以前我们大多都选择的MDK)
vscode打开工程命令行查看 Makefile,此时执行make命令后就会在build文件夹下生成.elf文件
F5开启调试
``
gdb调试btstack(stm32-f4discovery-cc256x)
利用vscode打开工程后创建launch.json文件
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Cortex Debug",
// "cwd": "${workspaceFolder}",
"cwd": "${fileDirname}",
"executable": "C:/msys64/zhuang/btstack-master/btstack-master/port/stm32-f4discovery-cc256x/build/gap_inquiry.elf",
"request": "launch",
"type": "cortex-debug",
"servertype": "stutil",
"serverpath": "D:/stlink/bin/st-util.exe",
"interface": "swd",
"device": "STM32F407ZGT6",
"v1": false,
"runToEntryPoint": "main",
//.svd可以在keil官网去下载STM32G0xx_DFP
// "svdFile": "D:/en.stm32f1_svd/STM32F1_svd_V1.2/STM32F103.svd",
"showDevDebugOutput": "both"
}
]
}
F5调试就可以了