rt-thread icon indicating copy to clipboard operation
rt-thread copied to clipboard

[bsp][stm32] Remove RTC clock selection in board.c

Open iysheng opened this issue 2 years ago • 6 comments

拉取/合并请求描述:(PR description)

[ 修复部分情况下通过 menuconfig 配置 stm32 平台 RTC 时钟源仍然会出现 RTC 初次获取时间戳提示未配置的问题

32f103 平台测试通过

涉及到的 issue #4627 ]

以下的内容不应该在提交PR时的message修改,修改下述message,PR会被直接关闭。请在提交PR后,浏览器查看PR并对以下检查项逐项check,没问题后逐条在页面上打钩。 The following content must not be changed in the submitted PR message. Otherwise, the PR will be closed immediately. After submitted PR, please use a web browser to visit PR, and check items one by one, and ticked them if no problem.

当前拉取/合并请求的状态 Intent for your PR

必须选择一项 Choose one (Mandatory):

  • [ ] 本拉取/合并请求是一个草稿版本 This PR is for a code-review and is intended to get feedback
  • [x] 本拉取/合并请求是一个成熟版本 This PR is mature, and ready to be integrated into the repo

代码质量 Code Quality:

我在这个拉取/合并请求中已经考虑了 As part of this pull request, I've considered the following:

  • [x] 已经仔细查看过代码改动的对比 Already check the difference between PR and old code
  • [x] 代码风格正确,包括缩进空格,命名及其他风格 Style guide is adhered to, including spacing, naming and other styles
  • [x] 没有垃圾代码,代码尽量精简,不包含#if 0代码,不包含已经被注释了的代码 All redundant code is removed and cleaned up
  • [x] 所有变更均有原因及合理的,并且不会影响到其他软件组件代码或BSP All modifications are justified and not affect other components or BSP
  • [x] 对难懂代码均提供对应的注释 I've commented appropriately where code is tricky
  • [x] 本拉取/合并请求代码是高质量的 Code in this PR is of high quality
  • [x] 本拉取/合并使用formatting等源码格式化工具确保格式符合RT-Thread代码规范 This PR complies with RT-Thread code specification description)

iysheng avatar Sep 30 '21 13:09 iysheng

如果要按照这种方法修改的话,对应的cubemx的工程也要改,要不然使用cubemx配置完之后,再生成还是会有问题。 image

有没有其他的方法呢,把menuconfig里配置RTC时钟的地方去掉?

Guozhanxin avatar Oct 10 '21 08:10 Guozhanxin

这样只能解决 board 里配置的 LSE,menuconfig里配置的LSI的问题。如果board里配置的LSI,RTC驱动里配置的LSE应该也会有问题。所以是不是最好的方式把RTC驱动里的时钟源切换的功能去掉,直接用board里的配置。如果要改的话,用cubemx改就好了

Guozhanxin avatar Oct 11 '21 09:10 Guozhanxin

改动有点大,下个版本再合吧

Guozhanxin avatar Oct 14 '21 05:10 Guozhanxin

ST新版本的HAL库,RTC时钟初始化,移了位置.是否是不匹配度致? 是否可结合 #5213 一起处理?

dongly avatar Oct 25 '21 00:10 dongly

这个PR再攻一下,争取4.1.1处理一下,https://github.com/RT-Thread/rt-thread/issues/4627 里 只剩下这个问题了 @Guozhanxin

mysterywolf avatar Apr 17 '22 03:04 mysterywolf

https://github.com/RT-Thread/rt-thread/pull/6435

mysterywolf avatar Sep 24 '22 01:09 mysterywolf

https://github.com/RT-Thread/rt-thread/blob/master/bsp/stm32/libraries/HAL_Drivers/drv_rtc.c#L230 可否直接改这里,换句话说 board.c里的RTC源并不重要,爱什么是什么,drv_rtc.c stm32_rtc_init初始化的时候根据用户选择的是BSP_RTC_USING_LSI来取判断外部时钟源还是内部时钟源 重新初始化时钟源

mysterywolf avatar Apr 07 '23 00:04 mysterywolf

https://github.com/RT-Thread/rt-thread/blob/master/bsp/stm32/libraries/HAL_Drivers/drv_rtc.c#L164 此处已经重新按照menuconfig 配置时钟,相似cubemx和menconfig配置出现冲突时,以menuconfig的配置为准,cubemx的时钟主要是为了设置系统的时钟源

mysterywolf avatar Apr 07 '23 01:04 mysterywolf