Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
RA8-M85-vision-board
WDT软件看门狗
瑞萨_Renesas
[Vision Board创客营]WDT实践之配置、issue、PR一条龙
发布于 2024-04-18 00:13:19 浏览:388
订阅该版
[toc] # 一、前言 > 首先感谢rtt提供了一个创客营的这个机会;本文记录在vision board实现wdt的过程; 最终测评的code工程,可以在以下地址中clone到 https://github.com/8-rtt-study/3_vision_board_gg.git # 二、环境配置 ## 1、资料下载 > 参考官网的文档说明,先把资料都下载下来; https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/hw-board/ra8d1-vision-board/ra8d1-vision-board ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20240417/1b15d3e3440bb33eb54b64ecb5319e68.png) ##2、软件安装 > ** 本文主要使用IDE来进行开发,所以就没有使用mdk和evn😬** ### (1)renesas fsp5.1.0(芯片配置工具) 这个软件用于自动生成驱动配置,类似stm32的cubemx; ### (2)RT-Thread Studio(开发工具) 个人而言,这个软件的中间件配置过程比evn方便一些;不过这个云盘里面没有,自己去官网下载吧;https://www.rt-thread.org/studio.html ## 3、环境配置 > 这里主要参考官网就可以: ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20240417/7741afe82cb13205567304a8d48fb9ef.png.webp) **到这里,相信大家都已经可以实现一个点灯程序了😘;** # 三、ra 配置工具的使用 ## 1、在ide中打开RA 配置工具 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20240417/322eac08fdd59d88b157e559d5bf24f8.png.webp) ## 2、找到ra安装的安装目录 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20240417/3081b65eecbf00f54c0910ce3ee1feb5.png.webp) **如果不想登录,也无伤大雅😂;** ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20240417/d00896fd2bbbaef6541d2d8766614c8d.png.webp) ##3、生成wdt驱动 **做完下面这几步,如果不想看太多废话,其实本文也差不多结束了🧐** ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20240417/102f176534483d68a15e6a24b27a837e.png.webp) # 四、开启wdt组件,copy官网demo ## 1、添加wdt组件 **不得不说ide的组件丝滑开启效果,使得rtt在众多rtos中让人备受喜爱🥰** ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20240417/1a7d568e1a0bae2ba3046378804fb44d.png.webp) **这里直接搜索关键字,就可以直接开启** ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20240417/28f92cb5634bec1ad0c938bf666ad6b6.png.webp) ###(1)使用wdt设备驱动 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20240417/63490f937360e0456ab18fc26914daf3.png.webp) ###(2)enable watchdog timer ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20240418/c3bb0376720f368b9df8e056168da5c6.png.webp) # 五、编译与debug ##1、编译代码 > **截至目前为止,我的手还是没有输入是实质的所谓code; 但是“幸好”出现了下面的错误😅** ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20240417/16d15c79fabf3bc6e0bfb9331e9e8a87.png.webp) > 这也是目前为什么AI还暂时没有让各位失去工作的原因; 解决这个问题很简单,只需要按照提示进行修改; 因为ra配置生成的变量名与系统sdk内写的是不同的; 当然,在这里也给我水PR埋下了伏笔; ## 2、copy官网demo(稍微有坑) 官网上给每一个组件都写了一个demo说明,借助与rtt的系统分层,实际上这些demo都是基于文件操作,所以按理来说,都可以直接使用,但是驱动就是驱动,有些地方还是有所不同 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20240417/5a89a36950447719a22b560f2d7383d9.png.webp) > 这里我将copy过来的代码直接放到了main.c的同级目录之下; ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20240417/75401d932cca3c0a13c8cd7058fe54bf.png.webp) ##3、debug ### (1)、查看设备 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20240417/e9faca683c5de47b560fae07bb833e25.png) ### (2)、运行官网demo 发现是存在问题的; 因为这里wdt的设置只能在ra配置中修改; 而ra提供的api中,wdt的设置只能在open的时候直接进行修改; ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20240417/b1a97b87d379d867ec4c3d84b55f50f4.png) 于是,这里基于官网的demo,给出一个更简洁的demo; ```c /* * 程序清单:这是一个独立看门狗设备使用例程 * 例程导出了 wdt_sample 命令到控制终端 * 命令调用格式:wdt_sample wdt * 命令解释:命令第二个参数是要使用的看门狗设备名称,为空则使用例程默认的看门狗设备。 * 程序功能:程序通过设备名称查找看门狗设备,初始化设备。 * 然后设置空闲线程回调函数,在回调函数里会喂狗。 */ #include
#include
#define WDT_DEVICE_NAME "wdt" /* 看门狗设备名称 */ static rt_device_t wdg_dev; /* 看门狗设备句柄 */ static void idle_hook(void) { /* 在空闲线程的回调函数里喂狗 */ rt_device_control(wdg_dev, RT_DEVICE_CTRL_WDT_KEEPALIVE, NULL); rt_kprintf("feed the dog!\n "); } static int wdt_sample_v2(int argc, char *argv[]) { rt_err_t ret = RT_EOK; rt_uint32_t timeout = 1; /* 溢出时间,单位:秒 */ char device_name[RT_NAME_MAX]; /* 判断命令行参数是否给定了设备名称 */ if (argc == 2) { rt_strncpy(device_name, argv[1], RT_NAME_MAX); } else { rt_strncpy(device_name, WDT_DEVICE_NAME, RT_NAME_MAX); } /* 根据设备名称查找看门狗设备,获取设备句柄 */ wdg_dev = rt_device_find(device_name); if (!wdg_dev) { rt_kprintf("find %s failed!\n", device_name); return RT_ERROR; } /* 启动看门狗 */ ret = rt_device_control(wdg_dev, RT_DEVICE_CTRL_WDT_START, RT_NULL); if (ret != RT_EOK) { rt_kprintf("start %s failed!\n", device_name); return -RT_ERROR; } /* 设置空闲线程回调函数 */ rt_thread_idle_sethook(idle_hook); return ret; } /* 导出到 msh 命令列表中 */ MSH_CMD_EXPORT(wdt_sample_v2, wdt sample); ``` ### (3)、再次运行 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20240418/8f1334224f045fc314cd2b15f5b10f39.png.webp) # 六、关于提issue ## 1、为什么要提issue 当你遇到难以解决的问题,除了在论坛里面向各位路过的好心人寻求帮助; 还可以直接提issue到git中,因为这可以直接炸到项目维护者的邮箱中; 但是前提是,这个issue是有价值的,而不是毫无意义的垃圾邮件; 就像这样,其实也不是很规范 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20240417/a8991fd3481905328f06ec83b9cb974b.png.webp) # 七、关于提PR ##1、关于怎么提pr 公众号里面有一篇置顶的文章;大家可以参考一下; 至于你问我为啥要提PR,大概是一种莫名的快乐吧🙂; ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20240418/0e41e3ff5f8d9adc4b4b3f18f3a803c7.png.webp)
1
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
Vangaoven
大道之行,天下为公
文章
3
回答
3
被采纳
1
关注TA
发私信
相关文章
1
操作系统下的(软件)看门狗怎么应用
2
Kconfig配置独立看门狗要怎么写
3
找不到RT_DEVICE_CTRL_WDT_KEEPALIVE
4
调用官网的看门狗例程打印报错
5
4.0.1版本的看门狗是不是有bug?
6
RTthread 4. 0.2加入看守后不断复位
7
开启Iwdt看门狗,为什么还会“死机”(硬件干扰)
8
新手“RT-Thread Settings”创建看门狗的时候后编译不通过的问题
9
RT-Thread Studio 开启WDT编译出错
10
为什么IWDG设置分频为4并且reload设置为0xFFF的时候串口没有打印了?
推荐文章
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
I2C_IIC
ESP8266
UART
WIZnet_W5500
ota在线升级
cubemx
PWM
flash
freemodbus
BSP
packages_软件包
潘多拉开发板_Pandora
定时器
ADC
flashDB
GD32
socket
编译报错
中断
Debug
rt_mq_消息队列_msg_queue
SFUD
msh
keil_MDK
ulog
C++_cpp
MicroPython
本月问答贡献
出出啊
1518
个答案
343
次被采纳
小小李sunny
1444
个答案
290
次被采纳
张世争
813
个答案
177
次被采纳
crystal266
547
个答案
161
次被采纳
whj467467222
1222
个答案
149
次被采纳
本月文章贡献
出出啊
1
篇文章
5
次点赞
小小李sunny
1
篇文章
1
次点赞
张世争
1
篇文章
3
次点赞
crystal266
2
篇文章
2
次点赞
whj467467222
2
篇文章
2
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部