Skip to content

Commit c7fe148

Browse files
committed
7.0.2
fixed bugs in QK/QXK ports to ARM Cortex-M
1 parent 166d0f6 commit c7fe148

File tree

11 files changed

+88
-24
lines changed

11 files changed

+88
-24
lines changed

examples/arm-cm/dpp_efm32-slstk3401a/qk/armclang/README.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ IRQ for that purpose. To choose a given IRQ, you need to define
2121
the macros QK_USE_IRQ_NUM and QK_USE_IRQ_HANDLER. These macros can
2222
be provided on the command-line to the compiler.
2323

24-
For example, for the EFM32 CPU, you might dedicate the IRQ
24+
For example, for the EFM32 MCU, you might dedicate the IRQ
2525
"CRYPTO_IRQHandler" (see the vector table), with IRQ number 25,
2626
as follows:
2727

examples/arm-cm/dpp_efm32-slstk3401a/qk/gnu/README.txt

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,24 @@ script (.ld file), which provides a template of the recommended GCC linker
4444
script for QP applications.
4545

4646

47+
Selecting QK Exception
48+
======================
49+
The QK kernel needs a dedicated exception to return to the thread
50+
context after preemption. The default is to use the NMI exception
51+
for that purpose. However, in case NMI is needed for some other
52+
purpose, the QK port allows you to select a any, otherwise unused
53+
IRQ for that purpose. To choose a given IRQ, you need to define
54+
the macros QK_USE_IRQ_NUM and QK_USE_IRQ_HANDLER. These macros can
55+
be provided on the command-line to the compiler.
56+
57+
For example, for the EFM32 MCU, you might dedicate the IRQ
58+
"CRYPTO_IRQHandler" (see the vector table), with IRQ number 25,
59+
as follows:
60+
61+
QK_USE_IRQ_HANDLER=CRYPTO_IRQHandler
62+
QK_USE_IRQ_NUM=25
63+
64+
4765
Startup Code
4866
============
4967
The startup code for the EFM32PG1B200F256GM48 MCU used in this project

examples/arm-cm/dpp_efm32-slstk3401a/qk/iar/README.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ IRQ for that purpose. To choose a given IRQ, you need to define
3636
the macros QK_USE_IRQ_NUM and QK_USE_IRQ_HANDLER. These macros can
3737
be provided on the command-line to the compiler.
3838

39-
For example, for the EFM32 CPU, you might dedicate the IRQ
39+
For example, for the EFM32 MCU, you might dedicate the IRQ
4040
"CRYPTO_IRQHandler" (see the vector table), with IRQ number 25,
4141
as follows:
4242

examples/arm-cm/dpp_efm32-slstk3401a/qxk/armclang/README.txt

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,17 @@ libraries. These relative paths must be modified when the project
1111
is moved to different relative location.
1212

1313

14+
Adjusting Stack and Heap Sizes
15+
==============================
16+
The stack and heap sizes are determined in this project by the
17+
command-line options for the ARM assembler (see the Asm tab in
18+
the "Options for Target" dialog box in uVision). Specifically,
19+
you should define symbols: Stack_Size=xxx Heap_Size=yyy, where
20+
xxx represents a numerical value of stack size and yyy the
21+
numerical value of the heap size (for most embedded projects
22+
yyy should be 0, as the using the heap is not recommended).
23+
24+
1425
Selecting QXK Exception
1526
=======================
1627
The QXK kernel needs a dedicated exception to return to the thread
@@ -21,25 +32,14 @@ otherwise unused IRQ for that purpose. To choose a given IRQ, you
2132
need to define the macros QXK_USE_IRQ_NUM and QXK_USE_IRQ_HANDLER.
2233
These macros can be provided on the command-line to the compiler.
2334

24-
For example, for the EFM32 CPU, you might dedicate the IRQ
35+
For example, for the EFM32 MCU, you might dedicate the IRQ
2536
"CRYPTO_IRQHandler" (see the vector table), with IRQ number 25,
2637
as follows:
2738

2839
QXK_USE_IRQ_HANDLER=CRYPTO_IRQHandler
2940
QXK_USE_IRQ_NUM=25
3041

3142

32-
Adjusting Stack and Heap Sizes
33-
==============================
34-
The stack and heap sizes are determined in this project by the
35-
command-line options for the ARM assembler (see the Asm tab in
36-
the "Options for Target" dialog box in uVision). Specifically,
37-
you should define symbols: Stack_Size=xxx Heap_Size=yyy, where
38-
xxx represents a numerical value of stack size and yyy the
39-
numerical value of the heap size (for most embedded projects
40-
yyy should be 0, as the using the heap is not recommended).
41-
42-
4343
Startup Code
4444
============
4545
The startup code for the EFM32 MCU used in this project is

examples/arm-cm/dpp_efm32-slstk3401a/qxk/gnu/README.txt

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,24 @@ script (.ld file), which provides a template of the recommended GCC linker
4444
script for QP applications.
4545

4646

47+
Selecting QXK Exception
48+
=======================
49+
The QXK kernel needs a dedicated exception to return to the thread
50+
context after preemption by a basic thread. The default is to use
51+
the NMI exception for that purpose. However, in case NMI is needed
52+
for some other purpose, the QXK port allows you to select a any,
53+
otherwise unused IRQ for that purpose. To choose a given IRQ, you
54+
need to define the macros QXK_USE_IRQ_NUM and QXK_USE_IRQ_HANDLER.
55+
These macros can be provided on the command-line to the compiler.
56+
57+
For example, for the EFM32 MCU, you might dedicate the IRQ
58+
"CRYPTO_IRQHandler" (see the vector table), with IRQ number 25,
59+
as follows:
60+
61+
QXK_USE_IRQ_HANDLER=CRYPTO_IRQHandler
62+
QXK_USE_IRQ_NUM=25
63+
64+
4765
Startup Code
4866
============
4967
The startup code for the EFM32PG1B200F256GM48 MCU used in this project

examples/arm-cm/dpp_efm32-slstk3401a/qxk/iar/README.txt

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ relative location.
1515
Stack Size and Heap Size
1616
------------------------
1717
In this project, the size of the C stack and heap are determined in
18-
the linker script blinky-qk.icf (see the next section).
18+
the linker script dpp-qxk.icf (see the next section).
1919

2020

2121
Linker Script
@@ -26,6 +26,24 @@ application-specific sizes of the Stack and Heap. This file can be edited
2626
from the IAR EWARM IDE via the Project Options/Linker settings.
2727

2828

29+
Selecting QXK Exception
30+
=======================
31+
The QXK kernel needs a dedicated exception to return to the thread
32+
context after preemption by a basic thread. The default is to use
33+
the NMI exception for that purpose. However, in case NMI is needed
34+
for some other purpose, the QXK port allows you to select a any,
35+
otherwise unused IRQ for that purpose. To choose a given IRQ, you
36+
need to define the macros QXK_USE_IRQ_NUM and QXK_USE_IRQ_HANDLER.
37+
These macros can be provided on the command-line to the compiler.
38+
39+
For example, for the EFM32 MCU, you might dedicate the IRQ
40+
"CRYPTO_IRQHandler" (see the vector table), with IRQ number 25,
41+
as follows:
42+
43+
QXK_USE_IRQ_HANDLER=CRYPTO_IRQHandler
44+
QXK_USE_IRQ_NUM=25
45+
46+
2947
Startup Code
3048
============
3149
The startup code for the TM4C123GH6PM MCU used in this project is

examples/arm-cm/dpp_nucleo-l053r8/qk/armclang/README.txt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ IRQ for that purpose. To choose a given IRQ, you need to define
3636
the macros QK_USE_IRQ_NUM and QK_USE_IRQ_HANDLER. These macros can
3737
be provided on the command-line to the compiler.
3838

39-
For example, for the EFM32 CPU, you might dedicate the IRQ
39+
For example, for the STM32L053 MCU, you might dedicate the IRQ
4040
"CRYPTO_IRQHandler" (see the vector table), with IRQ number 25,
4141
as follows:
4242

@@ -85,4 +85,3 @@ on the solder bridge configuration. Please see Chapter 5.7 "OSC clock" in
8585
the STM32 NUCLEO Boards User Manual (ST document UM1724) for more information.
8686
***
8787

88-

examples/arm-cm/dpp_nucleo-l053r8/qk/gnu/README.txt

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,22 @@ for ARM Cortex-M projects, due to the support for the hardware FPU
3737
***
3838

3939

40-
The TRUEStudio Project
40+
Selecting QK Exception
4141
======================
42-
The project file for the Atollic TRUEStudio-STM32 is provided and can be
43-
directly imported into the TRUEStudio Eclipse-based IDE. All three build
44-
configurations are supported (Debug, Release and Spy).
42+
The QK kernel needs a dedicated exception to return to the thread
43+
context after preemption. The default is to use the NMI exception
44+
for that purpose. However, in case NMI is needed for some other
45+
purpose, the QK port allows you to select a any, otherwise unused
46+
IRQ for that purpose. To choose a given IRQ, you need to define
47+
the macros QK_USE_IRQ_NUM and QK_USE_IRQ_HANDLER. These macros can
48+
be provided on the command-line to the compiler.
49+
50+
For example, for the STM32L053 CPU, you might dedicate the IRQ
51+
"CRYPTO_IRQHandler" (see the vector table), with IRQ number 25,
52+
as follows:
53+
54+
QK_USE_IRQ_HANDLER=LCD_IRQHandler
55+
QK_USE_IRQ_NUM=30
4556

4657

4758
Adjusting Stack and Heap Sizes

ports/arm-cm/qxk/armclang/qxk_port.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
* @file
3030
* @brief QXK/C port to ARM Cortex-M, ARM-CLANG toolset
3131
*/
32-
/* This QXK port is part of the interanl QP implementation */
32+
/* This QXK port is part of the internal QP implementation */
3333
#define QP_IMPL 1U
3434
#include "qf_port.h"
3535
#include "qf_pkg.h"

ports/arm-cm/qxk/gnu/qxk_port.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
* @file
3030
* @brief QXK/C port to ARM Cortex-M, GNU-ARM toolset
3131
*/
32-
/* This QXK port is part of the interanl QP implementation */
32+
/* This QXK port is part of the internal QP implementation */
3333
#define QP_IMPL 1U
3434
#include "qf_port.h"
3535
#include "qf_pkg.h"

0 commit comments

Comments
 (0)