Explorar el Código

RTX5: Fix timer interval when periodic timer is restarted

Robert Rostohar hace 3 años
padre
commit
18205c6c2b
Se han modificado 2 ficheros con 5 adiciones y 3 borrados
  1. 3 2
      CMSIS/DoxyGen/RTOS2/src/history.txt
  2. 2 1
      CMSIS/RTOS2/RTX/Source/rtx_timer.c

+ 3 - 2
CMSIS/DoxyGen/RTOS2/src/history.txt

@@ -102,8 +102,9 @@
       <td>V5.5.4</td>
       <td>
        - Fixed potential register R1 corruption when calling OS functions from threads multiple times with same arguments (when using high level compiler optimizations).
-       - Minor code optimizations in osMessageQueuePut/Get
-       - Added Floating-point initialization for Arm C Library
+       - Fixed timer interval when periodic timer is restarted.
+       - Added Floating-point initialization for Arm C Library.
+       - Minor code optimizations in osMessageQueuePut/Get.
       </td>
     </tr>
     <tr>

+ 2 - 1
CMSIS/RTOS2/RTX/Source/rtx_timer.c

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013-2021 Arm Limited. All rights reserved.
+ * Copyright (c) 2013-2022 Arm Limited. All rights reserved.
  *
  * SPDX-License-Identifier: Apache-2.0
  *
@@ -280,6 +280,7 @@ static osStatus_t svcRtxTimerStart (osTimerId_t timer_id, uint32_t ticks) {
   }
 
   if (timer->state == osRtxTimerRunning) {
+    timer->load = ticks;
     TimerRemove(timer);
   } else {
     if (osRtxInfo.timer.tick == NULL) {