Skip to content

Commit 72427d7

Browse files
committed
update cmsis-pack
1 parent 54a5d4d commit 72427d7

File tree

6 files changed

+48
-19
lines changed

6 files changed

+48
-19
lines changed

GorgonMeducer.perf_counter.pdsc

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<package schemaVersion="1.7.37" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="https://raw.githubusercontent.com/Open-CMSIS-Pack/Open-CMSIS-Pack-Spec/v1.7.37/schema/PACK.xsd">
44
<vendor>GorgonMeducer</vendor>
55
<name>perf_counter</name>
6-
<description>A dedicated performance counter mainly for micro-controllers. For Cortex-M processors, the SysTick will be used by default. The `perf_counter` shares the SysTick with users' original SysTick function(s) without interfering with it. This library will bring new functionalities, such as performance counter,` perfc_delay_us`, `perfc_delay_ms` and `clock()` service defined in `time.h`. A dedicated template is provided to port the perf_counter to different architectures or using a different Timer instead of SysTick in Cortex-M processors.</description>
6+
<description>A dedicated performance counter mainly for micro-controllers. For Cortex-M processors, the `perf_counter` uses the SysTick by default. It shares the SysTick with users' original SysTick functions without interfering with them. This library brings new functionalities, such as performance counter, `perfc_delay_us()`, `perfc_delay_ms()` and implements `clock()` defined in `time.h`. It provides a template for porting the `perf_counter` to different architectures or using a different Timer instead of SysTick in Cortex-M processors.</description>
77
<url>https://raw.githubusercontent.com/GorgonMeducer/perf_counter/CMSIS-Pack/cmsis-pack/</url>
88
<supportContact>https://github.com/GorgonMeducer/perf_counter/issues</supportContact>
99
<license>LICENSE</license>
@@ -19,6 +19,15 @@
1919
<release version="9.9.9" tag="9.9.9">
2020
Active development ...
2121
</release>
22+
<release date="2025-07-25" version="2.5.2" tag="v2.5.2" url="https://github.com/GorgonMeducer/perf_counter/releases/download/v2.5.2/GorgonMeducer.perf_counter.2.5.2.pack" >
23+
Release v2.5.2
24+
- Fixes the support for Arm Compiler 5
25+
- Improves the compatibility with C++
26+
- Adds support for the hardware architectures that use growing-upward stacks
27+
- Uses format specifiers defined in inttypes.h
28+
- Allows users to disable the aliases of the deprecated APIs
29+
- Fixes GCC support
30+
</release>
2231
<release date="2025-07-18" version="2.5.1" tag="v2.5.1" url="https://github.com/GorgonMeducer/perf_counter/releases/download/v2.5.1/GorgonMeducer.perf_counter.2.5.1.pack">
2332
Release v2.5.1
2433
- Adds a macro ISR() to measure the maximum stack usage of a given Cortex-M exception handler.

cmsis-pack/GorgonMeducer.perf_counter.pdsc

Lines changed: 25 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<package schemaVersion="1.7.37" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="https://raw.githubusercontent.com/Open-CMSIS-Pack/Open-CMSIS-Pack-Spec/v1.7.37/schema/PACK.xsd">
44
<vendor>GorgonMeducer</vendor>
55
<name>perf_counter</name>
6-
<description>A dedicated performance counter mainly for micro-controllers. For Cortex-M processors, the SysTick will be used by default. The `perf_counter` shares the SysTick with users' original SysTick function(s) without interfering with it. This library will bring new functionalities, such as performance counter,` perfc_delay_us`, `perfc_delay_ms` and `clock()` service defined in `time.h`. A dedicated template is provided to port the perf_counter to different architectures or using a different Timer instead of SysTick in Cortex-M processors.</description>
6+
<description>A dedicated performance counter mainly for micro-controllers. For Cortex-M processors, the `perf_counter` uses the SysTick by default. It shares the SysTick with users' original SysTick functions without interfering with them. This library brings new functionalities, such as performance counter, `perfc_delay_us()`, `perfc_delay_ms()` and implements `clock()` defined in `time.h`. It provides a template for porting the `perf_counter` to different architectures or using a different Timer instead of SysTick in Cortex-M processors.</description>
77
<url>https://raw.githubusercontent.com/GorgonMeducer/perf_counter/CMSIS-Pack/cmsis-pack/</url>
88
<supportContact>https://github.com/GorgonMeducer/perf_counter/issues</supportContact>
99
<license>LICENSE</license>
@@ -16,6 +16,15 @@
1616
<repository type="git">https://github.com/GorgonMeducer/perf_counter.git</repository>
1717

1818
<releases>
19+
<release date="2025-07-25" version="2.5.2" tag="v2.5.2" url="https://github.com/GorgonMeducer/perf_counter/releases/download/v2.5.2/GorgonMeducer.perf_counter.2.5.2.pack" >
20+
Release v2.5.2
21+
- Fixes the support for Arm Compiler 5
22+
- Improves the compatibility with C++
23+
- Adds support for the hardware architectures that use growing-upward stacks
24+
- Uses format specifiers defined in inttypes.h
25+
- Allows users to disable the aliases of the deprecated APIs
26+
- Fixes GCC support
27+
</release>
1928
<release date="2025-07-18" version="2.5.1" tag="v2.5.1" url="https://github.com/GorgonMeducer/perf_counter/releases/download/v2.5.1/GorgonMeducer.perf_counter.2.5.1.pack">
2029
Release v2.5.1
2130
- Adds a macro ISR() to measure the maximum stack usage of a given Cortex-M exception handler.
@@ -171,6 +180,12 @@
171180
<accept Tcompiler="GCC"/>
172181
<accept Tcompiler="CLANG"/>
173182
</condition>
183+
184+
<condition id="No GCC">
185+
<description>Deny GNU Tools for Arm Embedded Processors.</description>
186+
<deny Tcompiler="GCC"/>
187+
<accept condition="Arm Compiler"/>
188+
</condition>
174189

175190
<condition id="Armv8.1-M Processors">
176191
<accept Dcore="ARMV81MML"/>
@@ -331,10 +346,10 @@
331346
-->
332347

333348
<components>
334-
<component Cclass="Utilities" Cversion="2.5.1" Cgroup="perf_counter" Csub="Core" Cvariant="Source" isDefaultVariant="true" condition="CMSIS-CORE">
349+
<component Cclass="Utilities" Cversion="2.5.2" Cgroup="perf_counter" Csub="Core" Cvariant="Source" isDefaultVariant="true" condition="CMSIS-CORE">
335350
<description>A dedicated performance counter for Cortex-M systick.</description>
336351
<files>
337-
<file category="preIncludeGlobal" name="perfc_common.h"/>
352+
<file category="preIncludeGlobal" name="perfc_common.h" condition="No GCC"/>
338353
<file category="header" name="perf_counter.h"/>
339354
<file category="sourceC" name="perf_counter.c" />
340355
<file category="sourceC" name="perfc_port_default.c" />
@@ -353,10 +368,10 @@
353368
</Pre_Include_Global_h>
354369
</component>
355370

356-
<component Cclass="Utilities" Cversion="2.5.1" Cgroup="perf_counter" Csub="Core" Cvariant="SourceNoWrapper" isDefaultVariant="false" condition="CMSIS-CORE">
371+
<component Cclass="Utilities" Cversion="2.5.2" Cgroup="perf_counter" Csub="Core" Cvariant="SourceNoWrapper" isDefaultVariant="false" condition="CMSIS-CORE">
357372
<description>A dedicated performance counter for Cortex-M systick.</description>
358373
<files>
359-
<file category="preIncludeGlobal" name="perfc_common.h"/>
374+
<file category="preIncludeGlobal" name="perfc_common.h" condition="No GCC"/>
360375
<file category="header" name="perf_counter.h"/>
361376
<file category="sourceC" name="perf_counter.c" />
362377
<file category="sourceC" name="perfc_port_default.c" />
@@ -430,7 +445,7 @@
430445
</Pre_Include_Global_h>
431446
</component>
432447

433-
<component Cclass="Utilities" Cversion="2.5.1" Cgroup="perf_counter" Csub="RTX5 Patch" condition="RTX5 Patch">
448+
<component Cclass="Utilities" Cversion="2.5.2" Cgroup="perf_counter" Csub="RTX5 Patch" condition="RTX5 Patch">
434449
<description>A Patch for RTX5</description>
435450
<files>
436451
<file category="source" name="os/perf_os_patch_rtx5.c"/>
@@ -442,7 +457,7 @@
442457
</Pre_Include_Global_h>
443458
</component>
444459

445-
<component Cclass="Utilities" Cversion="2.5.1" Cgroup="perf_counter" Csub="FreeRTOS Patch" condition="perf_counter">
460+
<component Cclass="Utilities" Cversion="2.5.2" Cgroup="perf_counter" Csub="FreeRTOS Patch" condition="perf_counter">
446461
<description>A Patch for FreeRTOS</description>
447462
<files>
448463
<file category="sourceC" name="os/perf_os_patch_freertos.c"/>
@@ -465,7 +480,7 @@ extern void __freertos_evr_on_task_switched_in(void *ptTCB, unsigned int uxTopPr
465480
</Pre_Include_Global_h>
466481
</component>
467482

468-
<component Cclass="Utilities" Cversion="2.5.1" Cgroup="perf_counter" Csub="RT-Thread Patch" condition="perf_counter">
483+
<component Cclass="Utilities" Cversion="2.5.2" Cgroup="perf_counter" Csub="RT-Thread Patch" condition="perf_counter">
469484
<description>A Patch for RT-Thread</description>
470485
<files>
471486
<file category="sourceC" name="os/perf_os_patch_rt_thread.c"/>
@@ -483,7 +498,7 @@ extern void __rt_thread_scheduler_hook(struct rt_thread *from, struct rt_thread
483498
</Pre_Include_Global_h>
484499
</component>
485500

486-
<component Cclass="Utilities" Cversion="2.5.1" Cgroup="perf_counter" Csub="ThreadX Patch" condition="perf_counter">
501+
<component Cclass="Utilities" Cversion="2.5.2" Cgroup="perf_counter" Csub="ThreadX Patch" condition="perf_counter">
487502
<description>A Patch for ThreadX</description>
488503
<files>
489504
<file category="sourceC" name="os/perf_os_patch_threadx.c"/>
@@ -500,7 +515,7 @@ extern void __rt_thread_scheduler_hook(struct rt_thread *from, struct rt_thread
500515
<component Cclass="Language Extension" Cgroup="Coroutine" Cversion="1.0.0" condition="perf_counter">
501516
<description>A C software infrastructure for coroutines.</description>
502517
<files>
503-
<file category="preIncludeGlobal" name="__perfc_task_common.h"/>
518+
<file category="preIncludeGlobal" name="__perfc_task_common.h" condition="No GCC"/>
504519
<file category="sourceC" name="perfc_task_coroutine.c"/>
505520
</files>
506521
<Pre_Include_Global_h>

cmsis-pack/GorgonMeducer.pidx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
<index schemaVersion="1.0.0" xs:noNamespaceSchemaLocation="PackIndex.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance">
33
<vendor>GorgonMeducer</vendor>
44
<url>https://raw.githubusercontent.com/GorgonMeducer/perf_counter/CMSIS-Pack/cmsis-pack/</url>
5-
<timestamp>2025-07-18</timestamp>
5+
<timestamp>2025-07-25</timestamp>
66
<pindex>
7-
<pdsc url="https://raw.githubusercontent.com/GorgonMeducer/perf_counter/CMSIS-Pack/cmsis-pack/" vendor="GorgonMeducer" name="perf_counter" version="2.5.1"/>
7+
<pdsc url="https://raw.githubusercontent.com/GorgonMeducer/perf_counter/CMSIS-Pack/cmsis-pack/" vendor="GorgonMeducer" name="perf_counter" version="2.5.2"/>
88
</pindex>
99
</index>

example/gcc_example.uvoptx

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@
103103
<bEvRecOn>1</bEvRecOn>
104104
<bSchkAxf>0</bSchkAxf>
105105
<bTchkAxf>0</bTchkAxf>
106-
<nTsel>0</nTsel>
106+
<nTsel>5</nTsel>
107107
<sDll></sDll>
108108
<sDllPa></sDllPa>
109109
<sDlgDll></sDlgDll>
@@ -114,9 +114,14 @@
114114
<tDlgDll></tDlgDll>
115115
<tDlgPa></tDlgPa>
116116
<tIfile></tIfile>
117-
<pMon>BIN\UL2CM3.DLL</pMon>
117+
<pMon>BIN\DbgFM.DLL</pMon>
118118
</DebugOpt>
119119
<TargetDriverDllRegistry>
120+
<SetRegEntry>
121+
<Number>0</Number>
122+
<Key>DbgFM</Key>
123+
<Name>-I -S"System Generator:FVP_MPS2_Cortex_M0" -L"armcortexm0ct" -O200710 -C0 -MC".\avh-fvp\bin\models\FVP_MPS2_Cortex-M0.exe" -MF -PF -MA</Name>
124+
</SetRegEntry>
120125
<SetRegEntry>
121126
<Number>0</Number>
122127
<Key>UL2CM3</Key>
@@ -182,7 +187,7 @@
182187
<DebugFlag>
183188
<trace>0</trace>
184189
<periodic>1</periodic>
185-
<aLwin>0</aLwin>
190+
<aLwin>1</aLwin>
186191
<aCover>0</aCover>
187192
<aSer1>0</aSer1>
188193
<aSer2>0</aSer2>
@@ -428,7 +433,7 @@
428433

429434
<Group>
430435
<GroupName>startup</GroupName>
431-
<tvExp>1</tvExp>
436+
<tvExp>0</tvExp>
432437
<tvExpOptDlg>0</tvExpOptDlg>
433438
<cbSel>0</cbSel>
434439
<RteFlg>0</RteFlg>
@@ -460,7 +465,7 @@
460465

461466
<Group>
462467
<GroupName>application</GroupName>
463-
<tvExp>1</tvExp>
468+
<tvExp>0</tvExp>
464469
<tvExpOptDlg>0</tvExpOptDlg>
465470
<cbSel>0</cbSel>
466471
<RteFlg>0</RteFlg>

example/gcc_example.uvprojx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@
132132
<UseExternalTool>0</UseExternalTool>
133133
<RunIndependent>0</RunIndependent>
134134
<UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>
135-
<Capability>1</Capability>
135+
<Capability>0</Capability>
136136
<DriverSelection>-1</DriverSelection>
137137
</Flash1>
138138
<bUseTDR>1</bUseTDR>

0 commit comments

Comments
 (0)