BSP 外设驱动使用教程
简介
本文档是为需要在 RT-Thread 操作系统上使用更多开发板资源的开发者准备的。通过使用 ENV 工具对 BSP 进行配置,可以开启更多板载资源,实现更多高级功能。
主要包括以下内容:
- 如何使用开发板上更多的板载资源
- 如何使用更多的片上资源
- 如何添加更多片上资源选项
前提要求
- 学会如何使用 ENV 工具,参考:RT-Thread env 工具用户手册
如何使用更多的板载资源
开发板上一般有很多板载资源,如 Flash、SD卡、以太网等,但是 BSP 工程默认没有开启这些外设驱动。RT-Thread 提供了 ENV 工具来开启或关闭 BSP 的外设驱动。下面以在正点原子阿波罗 F429 开发板上开启 SPI Flash 驱动为例,一步步的展示如何使用 ENV 工具对 BSP 进行配置。
1)打开配置工具
在目录 rt-thread\bsp\stm32\stm32f429-atk-apollo 下打开 menuconfig 配置界面。

打开的配置工具界面如下所示:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZH8yEmSW-1589178462314)(figures/config1.png)]](https://i-blog.csdnimg.cn/blog_migrate/830a8429f6f246bc71a5c815d477aa5b.png)
通过键盘上的上下键移动光标,选中 Hardware Drivers Config然后按回车键进入硬件驱动配置菜单。
2)进入硬件驱动配置菜单
在硬件配置菜单里有三个选项,分别是 板载外设配置菜单、片上外设配置菜单和扩展模块配置菜单,按回车键进入板载外设配置菜单。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PpasdEgp-1589178462315)(figures/config2.png)]](https://i-blog.csdnimg.cn/blog_migrate/7e57715cc8f873254dcc6ab66268579c.png)
3)在板载外设配置菜单里开启 SPI Flash 选项
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-v3KXMjsW-1589178462319)(figures/spi_flash.png)]](https://i-blog.csdnimg.cn/blog_migrate/5103e8e261cec05f49476516f66a7d5e.png)
4)保存退出
然后右移光标选中 Save 按回车键保存,然后按 Esc 键退出配置工具。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wEN2XaEK-1589178462322)(figures/save.png)]](https://i-blog.csdnimg.cn/blog_migrate/d200d6af3f0f3b4279a25c5b5f45d2aa.png)
5)更新软件包
输入命令 pkgs --update 使软件包配置生效。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Of0t0PCG-1589178462324)(figures/update.png)]](https://i-blog.csdnimg.cn/blog_migrate/73262ca079c9b2e99939372dd47fb729.png)
6)生成 MDK5 工程
输入命令 scons --target=mdk5 -s 重新生成 MDK5 的工程。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZDHbQ5eF-1589178462325)(figures/scons_mdk5.png)]](https://i-blog.csdnimg.cn/blog_migrate/eed660e1ff3052b49e9beb86cefbcc5f.png)
7)编译下载
打开生成的 MDK5 工程文件,编译并下载。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HF0chadv-1589178462326)(figures/complise.png)]](https://i-blog.csdnimg.cn/blog_migrate/08e1e106f7bb615ed6724db8ea83893f.png)
8)查看运行结果
程序运行后,输入命令 list_device 可以看到名为 W25Q256 的块设备,此时 SPI Flash 设备已经可以使用了。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zeaoHmWU-1589178462328)(figures/run_flash.png)]](https://i-blog.csdnimg.cn/blog_migrate/bc8b2b2b3817bbf4d985b367316c144d.png)
如何使用更多的片上资源
如果想要使用除了当前支持的片上资源(GPIO 和 UART1),又不想开启板载资源的支持,可以通过直接配置 片上外设配置菜单 的方式,使用更多片上资源。
配置方法和上一章节介绍的 如何使用更多的板载资源的配置方法 一样,只是本次需要进入 片上外设配置菜单。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BsuYbI2o-1589178462329)(figures/on_chip_config.png)]](https://i-blog.csdnimg.cn/blog_migrate/d83368572aa65accc4ba244875c898b0.png)
配置完成后重新生成工程,编译下载,在 FinSH 控制台输入 list_device 命令,可以看到 I2C1 总线已经启用。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FkLjOdqV-1589178462331)(figures/i2c_device.png)]](https://i-blog.csdnimg.cn/blog_migrate/4fc30f3dbc3a3802aeac99781852ae3c.png)
总结
当开发者需要使用未开启的外设时,只要在 ENV 工具中使能相关的外设即可,重新生成的工程中就会添加对应的驱动文件。开发者就可以利用 RT-Thread 提供的驱动开快速开发应用了。
https://github.com/RT-Thread/rt-thread/blob/master/bsp/stm32/docs/STM32%E7%B3%BB%E5%88%97BSP%E5%88%B6%E4%BD%9C%E6%95%99%E7%A8%8B.md
本文档指导开发者如何在RT-Thread操作系统上使用ENV工具配置BSP,以开启更多板载资源和片上资源,如SPIFlash和I2C1总线,实现高级功能。
2085

被折叠的 条评论
为什么被折叠?



