Yuqiang Wang
Yuqiang Wang
CPK-RA6M4评估板结合FSP及RT-Thread Studio工具,可方便开发者对嵌入式系统应用程序进程开发。 在学习RT-Thread设备驱动时,注意到RT-Thread提供`rt_err_t rt_device_control(rt_device_t dev, rt_uint8_t cmd, void* arg);`API接口对看门狗溢出时间进行配置,所以在测试时设置了看门狗的溢出时间,当初始化配置FSP后,进行编译,却发现程序并没有按照所编写的代码在溢出时间后喂狗。 然而我在这里发现了问题: 点击打开drv_wdt.c(路径:/libraries/HAL_Drivers/drv_wdt.c),可以看到在设置看门狗超时时间时使用了break命令,因此我们用户设定的超时时间被过滤。 总结:在CPK-RA6M4中看门狗超时时间的设定是在FSP中完成初始化的,当然如果想在RT-Thread中设置,可选择修改drv_wdt.c中关于看门狗超时时间的相关代码。 
## 拉取/合并请求描述:(PR description) [ 规范bsp中软件驱动的延时函数,在cortex-m核下使用统一的rt_hw_us_delay函数 #### 为什么提交这份PR (why to submit this PR) #### 你的解决方案是什么 (what is your solution) #### 请提供验证的bsp和config (provide the config and bsp) - BSP: - .config: -...
如果是sensor_v2版本,仿照如下修改 ```c config PKG_PACKAGES_NAME_USING_SENSOR_V2 bool "Enable sensor_v2 divce framework" depends on RT_VER_NUM >= 0x50001 select RT_USING_SENSOR select RT_USING_SENSOR_V2 default n ``` 如果是sensor_v1版本,仿照如下修改 ```c config PKG_PACKAGES_NAME_USING_SENSOR_V1 bool "Enable sensor_v1 divce framework"...
由于不同主线版本不可避免会修改某些函数声明或数据类型,因此对应的软件包也需要尽可能同步适配,通过版本宏去做区分,下面是一个示例 如: 1.在主线版本5.0.2中,分离sensor框架为V1和V2两个版本  2.在主线版本5.1.0中,修改fetch_data函数声明为: ```c rt_ssize_t (*fetch_data)(struct rt_sensor_device *sensor, void *buf, rt_size_t len); ``` 相关PR: * https://github.com/RT-Thread/rt-thread/pull/8421/files 参考修改方式如下: ```c #include #include #if defined(RT_VERSION_CHECK) #if (RTTHREAD_VERSION >= RT_VERSION_CHECK(5, 0, 2))...