0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

记录为BL808添加GPIO驱动

冬至子 来源:螺丝松掉的人 作者:螺丝松掉的人 2023-10-13 11:18 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

该文主要记录为 BL808 BSP 添加 GPIO 驱动时踩到的一些坑及解决方案。这是我第一次对接 RT-Thread BSP 的驱动,整理出本文避免之后踩到同样的坑,也希望能帮助到和我一样的新手。如有描述不当和不足的地方,还望大家指出和补充,一起交流学习。

构建该项目最好在 Linux 环境,能够避免大部分奇怪的问题,这里推荐使用 WSL ,因为笔者是 Linux 菜鸟,而且 WSL 和 windows 之间文件传输比较方便。

工具链需要在 WSL 中解压 tar -xvf ,不能在 windows 中解压后传入 WSL ,不同环境下解压出来的文件会有问题

可以使用如下命令指定工具链并进行构建(需要提前在 Linux 环境中配置好 scons 等,可以参考 RT-Thread BSP BL808 中的 READme )

scons --exec-path=/opt/Xuantie-900-gcc-elf-newlib-x86_64-V2.6.1/bin
export RTT_EXEC_PATH=/opt/Xuantie-900-gcc-elf-newlib-x86_64-V2.6.1/bin
scons

如果使用的是 WSL ,可以在命令行中运行code .命令,即可通过VS code进行开发,前提是windows中已经安装了VS code

gpio的驱动我主要调用了m0librariesplatformsocbl808bl808_e907_stdbl808_bsp_driverhal_drvsrchal_gpio.c这里面的函数(后续并没有直接使用 hal 中封装的函数,因为太多层的封装可能会降低效率)

需要在 board.c 文件中添加以下代码:

/* GPIO driver initialization is open by default */

#ifdef RT_USING_PIN
rt_hw_pin_init();
#endif
//这样才调用了drv_gpio.c中定义的rt_hw_pin_init()函数
在m0driversSConscript中添加以下代码:
if GetDepend('RT_USING_PIN'):
src += ['drv_gpio.c']
//这样drv_gpio.c才加入到了编译中

在m0librariesSConscript中添加相应路径(如果调用的头文件,以及需要编译的 .c 文件不包含在 SConscript 中,需要自行添加)

808能识别到两个usb converter设备 但是识别不到串口设备,重新烧写702的固件也没用,最后的解决办法是在设备管理器中右击对应的USB设备,选择属性,进入高级设置,勾选vcp,刷新后出现串口。进入下载模式是先上电,然后同时按住RST和BOOT按键,然后先松开RST,再松开BOOT即可。

最后提交PR的时候需要注意格式问题:注释使用/**/,最后用自动化软件刷一下格式。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 驱动器
    +关注

    关注

    54

    文章

    9012

    浏览量

    153306
  • USB设备
    +关注

    关注

    0

    文章

    57

    浏览量

    16967
  • GPIO
    +关注

    关注

    16

    文章

    1313

    浏览量

    55708
  • RT-Thread
    +关注

    关注

    32

    文章

    1540

    浏览量

    44266
  • HAL库
    +关注

    关注

    1

    文章

    121

    浏览量

    7476
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    BL808 RT-Thread Wi-Fi 驱动适配

    BL808 WiFi 属于 SOC 单芯片型无线 MCU,片上集成 WiFi 功能,移植 RT-Thread 过程中,需要使用 RT-Thread wlan 框架。 RT-Thread wlan
    的头像 发表于 12-02 11:06 2672次阅读
    <b class='flag-5'>BL808</b> RT-Thread Wi-Fi <b class='flag-5'>驱动</b>适配

    BL808 RT-Thread Wi-Fi驱动适配

    BL808 WiFi 属于 SOC 单芯片型无线 MCU,片上集成 WiFi 功能,移植 RT-Thread 过程中,需要使用 RT-Thread wlan 框架。
    的头像 发表于 12-04 11:38 1650次阅读

    嵌入式linux驱动gpio的基本操作

    文章目录代码驱动层代码应用层代码 测试驱动Makefile这里记录的是嵌入式linux驱动gpio的基本操作。实现的内容是:
    发表于 11-05 07:59

    以rk808驱动例子讲解i2c regmap方式读写

    和硬件IC之间做一层缓存,从而能减少底层I/O的操作次数Regmap拓扑结构应用实例以rk808驱动例子讲解i2c regmap方式读写使用配置文件初始化i2c
    发表于 08-11 16:43

    记录BL808 BSP添加GPIO驱动时踩到的一些坑及解决方案

    该文主要记录 BL808 BSP 添加 GPIO 驱动时踩到的一些坑及解决方案。这是我第一次对
    发表于 02-03 14:36

    NUC972如何添加LED驱动leds_gpio

    。内核还提供了一个非常方便的方法,就是用过leds_gpio驱动来控制LED. 我们只需要配置相关引脚就新了。 步骤如下: 1.添加配置引脚 修改 dev.c 文件在内核目录/arch/arm
    发表于 06-28 06:09

    简要分析Thread的通用GPIO设备驱动

    为了给用户提供操作GPIO的通用API,方便应用程序开发,RT-Thread中引入了通用GPIO设备驱动。并提供类似Arduino风格的API用于操作GPIO,如设置
    发表于 11-13 14:57 1816次阅读

    LINUX GPIO如何驱动源码移植

    的寄存器驱动,是在linux-2.6.18_pro500\arch\arm\mach-davinci 目录下的gpio.c,这个是寄存器级的驱动,搞过单片机MCU的朋友应该比较熟悉寄存器级的
    发表于 06-26 17:43 4次下载
    LINUX <b class='flag-5'>GPIO</b>如何<b class='flag-5'>驱动</b>源码移植

    808D设定值电缆信号与V60驱动接线说明

    808D设定值电缆信号与V60驱动接线说明。
    发表于 05-09 11:20 11次下载

    嵌入式Linux驱动 GPIO操作 包括驱动和应用层程序对驱动进行测试

    文章目录代码驱动层代码应用层代码 测试驱动Makefile这里记录的是嵌入式linux驱动gpio的基本操作。实现的内容是:
    发表于 11-02 14:36 10次下载
    嵌入式Linux<b class='flag-5'>驱动</b> <b class='flag-5'>GPIO</b>操作 包括<b class='flag-5'>驱动</b>和应用层程序对<b class='flag-5'>驱动</b>进行测试

    只需5步,教你添加GPIO按键——飞凌教程

    本文将为大家介绍如何在飞凌OKT507-C开发板上添加两个GPIO按键,希望能够对各位工程师有所帮助,本文章以PE5、PE6两个引脚例。
    的头像 发表于 10-17 14:43 1475次阅读
    只需5步,教你<b class='flag-5'>添加</b><b class='flag-5'>GPIO</b>按键——飞凌教程

    博流BL808三核编译运行上手指南

    bl808是三核异构架构,分为m0、lp、d0,使用的都是平台哥的RISC-V核,分别为E907/E902/C906,每个核需要单独编译并烧录到对应的位置,通过本文可以了解三核编译、烧录、运行。
    的头像 发表于 08-07 17:14 4216次阅读
    博流<b class='flag-5'>BL808</b>三核编译运行上手指南

    【北京迅】iTOP-RK3568OpenHarmony系统南向驱动开发GPIO基础知识

    【北京迅】iTOP-RK3568OpenHarmony系统南向驱动开发GPIO基础知识
    的头像 发表于 03-06 11:23 1007次阅读
    【北京迅<b class='flag-5'>为</b>】iTOP-RK3568OpenHarmony系统南向<b class='flag-5'>驱动</b>开发<b class='flag-5'>GPIO</b>基础知识

    RK3568驱动指南GPIO子系统 GPIO操作函数实验

    电子RK3568开发板驱动指南GPIO子系统 GPIO操作函数实验
    的头像 发表于 05-28 15:24 1040次阅读
    迅<b class='flag-5'>为</b>RK3568<b class='flag-5'>驱动</b>指南<b class='flag-5'>GPIO</b>子系统 <b class='flag-5'>GPIO</b>操作函数实验

    RK3568开发板驱动指南GPIO子系统GPIO子系统API函数的引入

    RK3568开发板驱动指南GPIO子系统GPIO子系统API函数的引入
    的头像 发表于 05-29 14:05 829次阅读
    迅<b class='flag-5'>为</b>RK3568开发板<b class='flag-5'>驱动</b>指南<b class='flag-5'>GPIO</b>子系统<b class='flag-5'>GPIO</b>子系统API函数的引入