Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
PIN_GPIO通用驱动
risc-v_RISCV
博流_BL61x_BL808
记录为 BL808 添加 GPIO 驱动
5.00
发布于 2023-01-17 00:18:44 浏览:1345
订阅该版
[tocm] # 记录为 BL808 添加 GPIO 驱动 该文主要记录为 BL808 BSP 添加 GPIO 驱动时踩到的一些坑及解决方案。这是我第一次对接 RT-Thread BSP 的驱动,整理出本文避免之后踩到同样的坑,也希望能帮助到和我一样的新手。如有描述不当和不足的地方,还望大家指出和补充,一起交流学习。 1. 构建该项目最好在 Linux 环境,能够避免大部分奇怪的问题,这里推荐使用 WSL ,因为笔者是 Linux 菜鸟,而且 WSL 和 windows 之间文件传输比较方便。 2. 工具链需要在 WSL 中解压 `tar -xvf` ,不能在 windows 中解压后传入 WSL ,不同环境下解压出来的文件会有问题 3. 可以使用如下命令指定工具链并进行构建(需要提前在 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 ``` 4. 如果使用的是 WSL ,可以在命令行中运行`code .`命令,即可通过VS code进行开发,前提是windows中已经安装了VS code 5. gpio的驱动我主要调用了`m0\libraries\platform\soc\bl808\bl808_e907_std\bl808_bsp_driver\hal_drv\src\hal_gpio.c`这里面的函数(后续并没有直接使用 hal 中封装的函数,因为太多层的封装可能会降低效率) 6. 需要在 `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()函数 ``` 7. 在`m0\drivers\SConscrip`t中添加以下代码: ``` if GetDepend('RT_USING_PIN'): src += ['drv_gpio.c'] //这样drv_gpio.c才加入到了编译中 ``` 8. 在`m0\libraries\SConscript`中添加相应路径(如果调用的头文件,以及需要编译的 .c 文件不包含在 SConscript 中,需要自行添加) 9. 808能识别到两个usb converter设备 但是识别不到串口设备,重新烧写702的固件也没用,最后的解决办法是在设备管理器中右击对应的USB设备,选择属性,进入高级设置,勾选vcp,刷新后出现串口。进入下载模式是先上电,然后同时按住RST和BOOT按键,然后先松开RST,再松开BOOT即可。 10. 最后提交PR的时候需要注意格式问题:注释使用/**/,最后用自动化软件刷一下格式 https://github.com/mysterywolf/formatting 对接 GPIO 驱动的时候主要参考了这篇文章:[RTTHREAD移植BSP驱动 GPIO篇)](https://supperthomas-wiki.readthedocs.io/en/stable/RTTHREAD/03_bsp_porting/02_rtthread_bsp_porting_gpio.html) 整个过程也离不开十三爷的指点与帮助,感谢十三爷!
1
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
螺丝松掉的人
这家伙很懒,什么也没写!
文章
42
回答
0
被采纳
0
关注TA
发私信
相关文章
1
studio能否支持risc-v的工程,包括调试。
2
移植rt-nano至risc-v时,无法在main函数创建用户线程
3
risc-v移植rtthread,程序莫名跳转到异常Exception
4
GD32VF103出现to free a bad data block:错误
5
rtt os riscv Store address misaligned异常
6
仅实现机器模式的芯片是否可以移植RT-THREAD系统
7
nano版本移植finsh(基于risc-v)
8
C++在多核下cout打印引起崩溃
9
RT-SMART求助
10
RT-Thread在RISC-V架构的芯片上有成熟的市场项目吗?
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
UART
WIZnet_W5500
ota在线升级
PWM
cubemx
flash
freemodbus
BSP
packages_软件包
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
编译报错
Debug
rt_mq_消息队列_msg_queue
SFUD
keil_MDK
msh
ulog
MicroPython
C++_cpp
本月问答贡献
出出啊
1517
个答案
342
次被采纳
小小李sunny
1444
个答案
290
次被采纳
张世争
812
个答案
177
次被采纳
crystal266
547
个答案
161
次被采纳
whj467467222
1222
个答案
148
次被采纳
本月文章贡献
出出啊
1
篇文章
1
次点赞
小小李sunny
1
篇文章
1
次点赞
张世争
1
篇文章
2
次点赞
crystal266
2
篇文章
2
次点赞
whj467467222
2
篇文章
2
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部