Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

arch/arm/stm32/: Added enable/disable to timer low level ops. #15421

Merged
merged 1 commit into from
Jan 7, 2025

Conversation

daniel-p-carvalho
Copy link
Contributor

Note: Please adhere to Contributing Guidelines.

Summary

Just adds enable/disable to timer low level ops.

Impact

No impact is expected

Testing

Tested on STM32G474 device.

@github-actions github-actions bot added Arch: arm Issues related to ARM (32-bit) architecture Size: XS The size of the change in this PR is very small labels Jan 3, 2025
@@ -360,6 +360,8 @@ static int stm32_tim_checkint(struct stm32_tim_dev_s *dev, int source);

static const struct stm32_tim_ops_s stm32_tim_ops =
{
.enable = stm32_tim_enable,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please modify also other stm32 chips

Copy link
Contributor

@acassis acassis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This modification needs to apply to all STM32 families

@github-actions github-actions bot added Size: S The size of the change in this PR is small and removed Size: XS The size of the change in this PR is very small labels Jan 6, 2025
@nuttxpr
Copy link

nuttxpr commented Jan 6, 2025

[Experimental Bot, please feedback here]

Fill In The Commit Message: This PR contains a Commit with an Empty Commit Message. Please fill in the Commit Message with the PR Summary.

No, this PR does not fully meet the NuttX requirements. While it provides a summary and mentions testing, it lacks crucial details.

Here's a breakdown of what's missing:

  • Summary: While stating the change itself, the why is missing. Is this for a specific use case? Does it fix a bug? What timer driver is being modified? How does the enable/disable mechanism work? Are interrupts involved? Are there any related issues?
  • Impact: Claiming "no impact" is rarely true. Even a small change like this can have unforeseen consequences. Think about corner cases. Does this affect power consumption? Does it change the timing behavior in a subtle way? The PR author needs to justify the "no impact" assertion more thoroughly.
  • Testing: While a target is mentioned, the build host information is missing. Crucially, the "before" and "after" logs are empty. Without these logs, there's no evidence the change actually works or that it doesn't introduce regressions. What tests were run? What were the expected results?

To meet the requirements, the PR needs to be significantly expanded with the missing details. Vague claims need to be replaced with concrete information and evidence.

@acassis
Copy link
Contributor

acassis commented Jan 7, 2025

@xiaoxiang781216 any idea about this SEGGER_RTT error?

====================================================================================
Cmake in present: nucleo-f446re/systemview,CONFIG_ARM_TOOLCHAIN_CLANG
Configuration/Tool: nucleo-f446re/systemview,CONFIG_ARM_TOOLCHAIN_CLANG
2025-01-07 12:28:58
------------------------------------------------------------------------------------
  Cleaning...
  Configuring...
  Select HOST_LINUX=y
  Disabling CONFIG_ARM_TOOLCHAIN_GNU_EABI
  Enabling CONFIG_ARM_TOOLCHAIN_CLANG
  Building NuttX...
[1/5] cd /github/workspace/sources/nuttx/build/libs/libc/misc && /usr/local/bin/cmake -E touch /github/workspace/sources/nuttx/libs/libc/misc/lib_utsname.c
[2/5] Linking CXX executable nuttx
FAILED: nuttx 
: && /tools/ccache/bin/arm-none-eabi-g++  --specs=nosys.specs   -Wl,--print-memory-usage -Wl,--entry=__start -nostdlib -Wl,--gc-sections -Wl,--cref -Wl,-Map=nuttx.map @CMakeFiles/nuttx.rsp -o nuttx  && :
/tools/gcc-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: drivers/segger/libSystemView.a(SEGGER_SYSVIEW.c.obj): in function `SEGGER_SYSVIEW_SendNumModules':
SEGGER_SYSVIEW.c:(.text.SEGGER_SYSVIEW_SendNumModules+0x2): undefined reference to `SEGGER_RTT_LOCK'
/tools/gcc-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: SEGGER_SYSVIEW.c:(.text.SEGGER_SYSVIEW_SendNumModules+0x2a): undefined reference to `SEGGER_RTT_UNLOCK'
/tools/gcc-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: drivers/segger/libSystemView.a(SEGGER_SYSVIEW.c.obj): in function `SEGGER_SYSVIEW_Start':
SEGGER_SYSVIEW.c:(.text.SEGGER_SYSVIEW_Start+0x8): undefined reference to `SEGGER_RTT_LOCK'
/tools/gcc-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: SEGGER_SYSVIEW.c:(.text.SEGGER_SYSVIEW_Start+0x16): undefined reference to `SEGGER_RTT_UNLOCK'
/tools/gcc-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: SEGGER_SYSVIEW.c:(.text.SEGGER_SYSVIEW_Start+0x20): undefined reference to `SEGGER_RTT_LOCK'
/tools/gcc-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: SEGGER_SYSVIEW.c:(.text.SEGGER_SYSVIEW_Start+0x5a): undefined reference to `SEGGER_RTT_UNLOCK'
/tools/gcc-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: drivers/segger/libSystemView.a(SEGGER_SYSVIEW.c.obj): in function `SEGGER_SYSVIEW_RecordVoid':
SEGGER_SYSVIEW.c:(.text.SEGGER_SYSVIEW_RecordVoid+0x4): undefined reference to `SEGGER_RTT_LOCK'
/tools/gcc-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: SEGGER_SYSVIEW.c:(.text.SEGGER_SYSVIEW_RecordVoid+0x16): undefined reference to `SEGGER_RTT_UNLOCK'
/tools/gcc-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: drivers/segger/libSystemView.a(SEGGER_SYSVIEW.c.obj): in function `SEGGER_SYSVIEW_RecordU32':
SEGGER_SYSVIEW.c:(.text.SEGGER_SYSVIEW_RecordU32+0x6): undefined reference to `SEGGER_RTT_LOCK'
/tools/gcc-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: SEGGER_SYSVIEW.c:(.text.SEGGER_SYSVIEW_RecordU32+0x24): undefined reference to `SEGGER_RTT_UNLOCK'
/tools/gcc-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: drivers/segger/libSystemView.a(SEGGER_SYSVIEW.c.obj): in function `SEGGER_SYSVIEW_RecordU32x2':
SEGGER_SYSVIEW.c:(.text.SEGGER_SYSVIEW_RecordU32x2+0x8): undefined reference to `SEGGER_RTT_LOCK'
/tools/gcc-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: SEGGER_SYSVIEW.c:(.text.SEGGER_SYSVIEW_RecordU32x2+0x32): undefined reference to `SEGGER_RTT_UNLOCK'
/tools/gcc-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: drivers/segger/libSystemView.a(SEGGER_SYSVIEW.c.obj): in function `SEGGER_SYSVIEW_Stop':
SEGGER_SYSVIEW.c:(.text.SEGGER_SYSVIEW_Stop+0x4): undefined reference to `SEGGER_RTT_LOCK'
/tools/gcc-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: SEGGER_SYSVIEW.c:(.text.SEGGER_SYSVIEW_Stop+0x1e): undefined reference to `SEGGER_RTT_UNLOCK'
/tools/gcc-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: drivers/segger/libSystemView.a(SEGGER_SYSVIEW.c.obj): in function `SEGGER_SYSVIEW_GetSysDesc':
SEGGER_SYSVIEW.c:(.text.SEGGER_SYSVIEW_GetSysDesc+0x4): undefined reference to `SEGGER_RTT_LOCK'
/tools/gcc-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: SEGGER_SYSVIEW.c:(.text.SEGGER_SYSVIEW_GetSysDesc+0x3e): undefined reference to `SEGGER_RTT_UNLOCK'
/tools/gcc-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: drivers/segger/libSystemView.a(SEGGER_SYSVIEW.c.obj): in function `SEGGER_SYSVIEW_SendTaskInfo':
SEGGER_SYSVIEW.c:(.text.SEGGER_SYSVIEW_SendTaskInfo+0x6): undefined reference to `SEGGER_RTT_LOCK'
/tools/gcc-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: SEGGER_SYSVIEW.c:(.text.SEGGER_SYSVIEW_SendTaskInfo+0x88): undefined reference to `SEGGER_RTT_UNLOCK'
/tools/gcc-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: drivers/segger/libSystemView.a(SEGGER_SYSVIEW.c.obj): in function `SEGGER_SYSVIEW_SendSysDesc':
SEGGER_SYSVIEW.c:(.text.SEGGER_SYSVIEW_SendSysDesc+0x6): undefined reference to `SEGGER_RTT_LOCK'
/tools/gcc-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: SEGGER_SYSVIEW.c:(.text.SEGGER_SYSVIEW_SendSysDesc+0x22): undefined reference to `SEGGER_RTT_UNLOCK'
/tools/gcc-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: drivers/segger/libSystemView.a(SEGGER_SYSVIEW.c.obj): in function `SEGGER_SYSVIEW_RecordEnterISR':
SEGGER_SYSVIEW.c:(.text.SEGGER_SYSVIEW_RecordEnterISR+0x2): undefined reference to `SEGGER_RTT_LOCK'
/tools/gcc-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: SEGGER_SYSVIEW.c:(.text.SEGGER_SYSVIEW_RecordEnterISR+0x24): undefined reference to `SEGGER_RTT_UNLOCK'
/tools/gcc-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: drivers/segger/libSystemView.a(SEGGER_SYSVIEW.c.obj): in function `SEGGER_SYSVIEW_RecordExitISR':
SEGGER_SYSVIEW.c:(.text.SEGGER_SYSVIEW_RecordExitISR+0x2): undefined reference to `SEGGER_RTT_LOCK'
/tools/gcc-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: SEGGER_SYSVIEW.c:(.text.SEGGER_SYSVIEW_RecordExitISR+0x14): undefined reference to `SEGGER_RTT_UNLOCK'
/tools/gcc-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: drivers/segger/libSystemView.a(SEGGER_SYSVIEW.c.obj): in function `SEGGER_SYSVIEW_OnIdle':
SEGGER_SYSVIEW.c:(.text.SEGGER_SYSVIEW_OnIdle+0x2): undefined reference to `SEGGER_RTT_LOCK'
/tools/gcc-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: SEGGER_SYSVIEW.c:(.text.SEGGER_SYSVIEW_OnIdle+0x14): undefined reference to `SEGGER_RTT_UNLOCK'
/tools/gcc-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: drivers/segger/libSystemView.a(SEGGER_SYSVIEW.c.obj): in function `SEGGER_SYSVIEW_OnTaskCreate':
SEGGER_SYSVIEW.c:(.text.SEGGER_SYSVIEW_OnTaskCreate+0x4): undefined reference to `SEGGER_RTT_LOCK'
/tools/gcc-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: SEGGER_SYSVIEW.c:(.text.SEGGER_SYSVIEW_OnTaskCreate+0x28): undefined reference to `SEGGER_RTT_UNLOCK'
/tools/gcc-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: drivers/segger/libSystemView.a(SEGGER_SYSVIEW.c.obj): in function `SEGGER_SYSVIEW_OnTaskTerminate':
SEGGER_SYSVIEW.c:(.text.SEGGER_SYSVIEW_OnTaskTerminate+0x4): undefined reference to `SEGGER_RTT_LOCK'
/tools/gcc-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: SEGGER_SYSVIEW.c:(.text.SEGGER_SYSVIEW_OnTaskTerminate+0x28): undefined reference to `SEGGER_RTT_UNLOCK'
/tools/gcc-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: drivers/segger/libSystemView.a(SEGGER_SYSVIEW.c.obj): in function `SEGGER_SYSVIEW_OnTaskStartExec':
SEGGER_SYSVIEW.c:(.text.SEGGER_SYSVIEW_OnTaskStartExec+0x4): undefined reference to `SEGGER_RTT_LOCK'
/tools/gcc-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: SEGGER_SYSVIEW.c:(.text.SEGGER_SYSVIEW_OnTaskStartExec+0x28): undefined reference to `SEGGER_RTT_UNLOCK'
/tools/gcc-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: drivers/segger/libSystemView.a(SEGGER_SYSVIEW.c.obj): in function `SEGGER_SYSVIEW_OnTaskStopExec':
SEGGER_SYSVIEW.c:(.text.SEGGER_SYSVIEW_OnTaskStopExec+0x2): undefined reference to `SEGGER_RTT_LOCK'
/tools/gcc-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: SEGGER_SYSVIEW.c:(.text.SEGGER_SYSVIEW_OnTaskStopExec+0x14): undefined reference to `SEGGER_RTT_UNLOCK'
/tools/gcc-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: drivers/segger/libSystemView.a(SEGGER_SYSVIEW.c.obj): in function `SEGGER_SYSVIEW_SendModule':
SEGGER_SYSVIEW.c:(.text.SEGGER_SYSVIEW_SendModule+0x18): undefined reference to `SEGGER_RTT_LOCK'
/tools/gcc-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/bin/ld: SEGGER_SYSVIEW.c:(.text.SEGGER_SYSVIEW_SendModule+0x5a): undefined reference to `SEGGER_RTT_UNLOCK'
Memory region         Used Size  Region Size  %age Used
           flash:      128076 B       512 KB     24.43%
            sram:       12148 B       128 KB      9.27%
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
cp: cannot stat 'nuttx.hex': No such file or directory
cp: cannot stat 'nuttx.bin': No such file or directory
cp: cannot stat 'nuttx.hex': No such file or directory
cp: cannot stat 'nuttx.bin': No such file or directory
====================================================================================

@xiaoxiang781216
Copy link
Contributor

Here is the fix: #15441

@xiaoxiang781216
Copy link
Contributor

let's ignore the ci error and merge the change directly.

@xiaoxiang781216 xiaoxiang781216 merged commit 3f3e6dd into apache:master Jan 7, 2025
12 of 25 checks passed
@daniel-p-carvalho daniel-p-carvalho deleted the stm32_tim_llops branch January 7, 2025 17:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Arch: arm Issues related to ARM (32-bit) architecture Size: S The size of the change in this PR is small
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants