本帖最后由 shiming456 于 2024-5-14 13:17 编辑
1.安装开发IDE, Git工具 Vscode和sourcetree的下载安装,可以参考网上教程。
2.下载资料和SDK
找到SDK仓库地址
SDK仓库包含有子库,直接下载zip文件里面子库下载不到,必须用git工具下载。 Git工具我习惯用sourcetree, 是一款免费的Git图形化客户端, 不用记命令参数, 点点按钮就可以完成操作很方便,比较适合习惯了Windows系统的用户。
打开SourceTree点Clone按钮,分别填入远程Git仓库地址,要保存在本地硬盘的地址,
高级选项选中递归子模块,然后点克隆,等待下载完成。
克隆到本地硬盘的SDK
SDK目录的说明如下, 其中tools文件夹下包含了cmake,make和bouffalo flash下载工具,
这些不必单独下载了,toolchain下是linux下的gcc工具链,需要另外下载windows版本的。
下载后解压到SDK目录下 3.配置环境变量
属性-->高级系统设置-->环境变量-->用户变量--> ath-->编辑
添加Cmake,make,gcc到环境变量, 确定后打开cmd窗口分别输入make -v 和 riscv64-unknown-elf-gcc -v 测试编译环境是否配置成功.
4.编译 vscode打开SDK文件夹, 选择GPIO例程,examples\peripherals\gpio\gpio_input_output 测试程序使用开发板的LED4和LED5, 分别连接到模块的IO29,IO27, 修改程序 - int main(void)
- {
- board_init();
- gpio = bflb_device_get_by_name("gpio");
- printf("gpio output\r\n");
- bflb_gpio_init(gpio, GPIO_PIN_29, GPIO_OUTPUT | GPIO_PULLUP | GPIO_SMT_EN | GPIO_DRV_0);
- bflb_gpio_init(gpio, GPIO_PIN_27, GPIO_OUTPUT | GPIO_PULLUP | GPIO_SMT_EN | GPIO_DRV_0);
- bflb_gpio_init(gpio, GPIO_PIN_33, GPIO_INPUT | GPIO_PULLUP | GPIO_SMT_EN | GPIO_DRV_0);
- while (1) {
- bflb_gpio_set(gpio, GPIO_PIN_29);
- bflb_mtimer_delay_ms(500);
- bflb_gpio_reset(gpio, GPIO_PIN_29);
- bflb_mtimer_delay_ms(500);
- if(bflb_gpio_read(gpio, GPIO_PIN_33))
- {
- printf("GPIO_PIN_33 release\r\n");
- bflb_gpio_set(gpio, GPIO_PIN_27);
- }
- else
- {
- printf("GPIO_PIN_33 press\r\n");
- bflb_gpio_reset(gpio, GPIO_PIN_27);
- }
- }
- }
复制代码打开vscode终端并切换到工程当前目录, 输入make开始编译 修改程序后需要先保存, make clean清除之前的编译信息, 再make编译. 终端输出Built target combine时说明程序没有错误编译完成.
5.下载程序
开发板连接到电脑, 先查看识别出的串口号, 我这里是串口3就使用COM3,COM号根据实际情况改变 首先开发板要进入下载模式, 按下IO2开关-->按下EN开关-->松开EN开关-->松开IO2开关 终端中输入make flashCOMX=COM3 开始下载, 等待下载完成
也可以使用带界面的BLFlashCube来下载, 添加config文件后自动识别bin文件位置, 然后点download
6.验证
程序下载后需要先按EN开关复位才会运行, 打开串口助手波特率设置为2000000, 可以看到打印的log
参考资料
|