Skip to content

Commit b063a64

Browse files
author
QL
committed
6.8.1
1 parent d60c50d commit b063a64

File tree

125 files changed

+872
-28077
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

125 files changed

+872
-28077
lines changed

3rd_party/efm32pg1b/gnu/startup_efm32pg1b.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,12 +54,14 @@ extern int __stack_end__;
5454
* assembly to avoid accessing the stack, which might be corrupted by
5555
* the time assert_failed is called.
5656
*/
57-
__attribute__ ((naked)) void assert_failed(char const *module, int loc);
57+
__attribute__ ((naked, noreturn))
58+
void assert_failed(char const *module, int loc);
5859

5960
/* Function prototypes -----------------------------------------------------*/
6061
void Default_Handler(void); /* Default empty handler */
6162
void Reset_Handler(void); /* Reset Handler */
6263
void SystemInit(void); /* CMSIS system initialization */
64+
__attribute__ ((noreturn))
6365
void Q_onAssert(char const *module, int loc); /* QP assertion handler */
6466

6567
/*----------------------------------------------------------------------------
@@ -281,7 +283,7 @@ void Default_Handler(void) {
281283
*
282284
* NOTE: the function Q_onAssert should NOT return.
283285
*****************************************************************************/
284-
__attribute__ ((naked))
286+
__attribute__ ((naked, noreturn))
285287
void assert_failed(char const *module, int loc) {
286288
/* re-set the SP in case of stack overflow */
287289
__asm volatile (

3rd_party/ek-tm4c123gxl/gnu/startup_TM4C123GH6PM.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,12 +54,14 @@ extern int __stack_end__;
5454
* assembly to avoid accessing the stack, which might be corrupted by
5555
* the time assert_failed is called.
5656
*/
57-
__attribute__ ((naked)) void assert_failed(char const *module, int loc);
57+
__attribute__ ((naked, noreturn))
58+
void assert_failed(char const *module, int loc);
5859

5960
/* Function prototypes -----------------------------------------------------*/
6061
void Default_Handler(void); /* Default empty handler */
6162
void Reset_Handler(void); /* Reset Handler */
6263
void SystemInit(void); /* CMSIS system initialization */
64+
__attribute__ ((noreturn))
6365
void Q_onAssert(char const *module, int loc); /* QP assertion handler */
6466

6567
/*----------------------------------------------------------------------------
@@ -471,7 +473,7 @@ void Default_Handler(void) {
471473
*
472474
* NOTE: the function Q_onAssert should NOT return.
473475
*****************************************************************************/
474-
__attribute__ ((naked))
476+
__attribute__ ((naked, noreturn))
475477
void assert_failed(char const *module, int loc) {
476478
/* re-set the SP in case of stack overflow */
477479
__asm volatile (

3rd_party/mbed-lpc1768/gnu/startup_LPC17xx.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,12 +53,14 @@ extern int __stack_end__;
5353
* assembly to avoid accessing the stack, which might be corrupted by
5454
* the time assert_failed is called.
5555
*/
56-
__attribute__ ((naked)) void assert_failed(char const *module, int loc);
56+
__attribute__ ((naked, noreturn))
57+
void assert_failed(char const *module, int loc);
5758

5859
/* Function prototypes -----------------------------------------------------*/
5960
void Default_Handler(void); /* Default empty handler */
6061
void Reset_Handler(void); /* Reset Handler */
6162
void SystemInit(void); /* CMSIS system initialization */
63+
__attribute__ ((noreturn))
6264
void Q_onAssert(char const *module, int loc); /* QP assertion handler */
6365

6466
/*----------------------------------------------------------------------------
@@ -294,7 +296,7 @@ void Default_Handler(void) {
294296
*
295297
* NOTE: the function Q_onAssert should NOT return.
296298
*****************************************************************************/
297-
__attribute__ ((naked))
299+
__attribute__ ((naked, noreturn))
298300
void assert_failed(char const *module, int loc) {
299301
/* re-set the SP in case of stack overflow */
300302
__asm volatile (

3rd_party/nucleo-l053r8/gnu/startup_stm32l053xx.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,12 +54,14 @@ extern int __stack_end__;
5454
* assembly to avoid accessing the stack, which might be corrupted by
5555
* the time assert_failed is called.
5656
*/
57-
__attribute__ ((naked)) void assert_failed(char const *module, int loc);
57+
__attribute__ ((naked, noreturn))
58+
void assert_failed(char const *module, int loc);
5859

5960
/* Function prototypes -----------------------------------------------------*/
6061
void Default_Handler(void); /* Default empty handler */
6162
void Reset_Handler(void); /* Reset Handler */
6263
void SystemInit(void); /* CMSIS system initialization */
64+
__attribute__ ((noreturn))
6365
void Q_onAssert(char const *module, int loc); /* QP assertion handler */
6466

6567
/*----------------------------------------------------------------------------
@@ -284,7 +286,7 @@ void Default_Handler(void) {
284286
*
285287
* NOTE: the function Q_onAssert should NOT return.
286288
*****************************************************************************/
287-
__attribute__ ((naked))
289+
__attribute__ ((naked, noreturn))
288290
void assert_failed(char const *module, int loc) {
289291
/* re-set the SP in case of stack overflow */
290292
__asm volatile (

3rd_party/nucleo-l053r8/llvm/startup_stm32l053xx.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,12 +54,14 @@ extern int __stack_end__;
5454
* assembly to avoid accessing the stack, which might be corrupted by
5555
* the time assert_failed is called.
5656
*/
57-
__attribute__ ((naked)) void assert_failed(char const *module, int loc);
57+
__attribute__ ((naked, noreturn))
58+
void assert_failed(char const *module, int loc);
5859

5960
/* Function prototypes -----------------------------------------------------*/
6061
void Default_Handler(void); /* Default empty handler */
6162
void Reset_Handler(void); /* Reset Handler */
6263
void SystemInit(void); /* CMSIS system initialization */
64+
__attribute__ ((noreturn))
6365
void Q_onAssert(char const *module, int loc); /* QP assertion handler */
6466

6567
/*----------------------------------------------------------------------------
@@ -284,7 +286,7 @@ void Default_Handler(void) {
284286
*
285287
* NOTE: the function Q_onAssert should NOT return.
286288
*****************************************************************************/
287-
__attribute__ ((naked))
289+
__attribute__ ((naked, noreturn))
288290
void assert_failed(char const *module, int loc) {
289291
/* re-set the SP in case of stack overflow */
290292
__asm volatile (

3rd_party/nucleo-l152re/gnu/startup_stm32l1xx.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,12 +54,14 @@ extern int __stack_end__;
5454
* assembly to avoid accessing the stack, which might be corrupted by
5555
* the time assert_failed is called.
5656
*/
57-
__attribute__ ((naked)) void assert_failed(char const *module, int loc);
57+
__attribute__ ((naked, noreturn))
58+
void assert_failed(char const *module, int loc);
5859

5960
/* Function prototypes -----------------------------------------------------*/
6061
void Default_Handler(void); /* Default empty handler */
6162
void Reset_Handler(void); /* Reset Handler */
6263
void SystemInit(void); /* CMSIS system initialization */
64+
__attribute__ ((noreturn))
6365
void Q_onAssert(char const *module, int loc); /* QP assertion handler */
6466

6567
/*----------------------------------------------------------------------------
@@ -339,7 +341,7 @@ void Default_Handler(void) {
339341
*
340342
* NOTE: the function Q_onAssert should NOT return.
341343
*****************************************************************************/
342-
__attribute__ ((naked))
344+
__attribute__ ((naked, noreturn))
343345
void assert_failed(char const *module, int loc) {
344346
/* re-set the SP in case of stack overflow */
345347
__asm volatile (

doxygen/Doxyfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
#---------------------------------------------------------------------------
66
DOXYFILE_ENCODING = UTF-8
77
PROJECT_NAME = "QP-nano"
8-
PROJECT_NUMBER = "6.8.0"
8+
PROJECT_NUMBER = "6.8.1"
99
PROJECT_BRIEF =
1010
PROJECT_LOGO = images/header_logo_ql.png
1111
OUTPUT_DIRECTORY =

doxygen/Doxyfile-CHM

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
#---------------------------------------------------------------------------
66
DOXYFILE_ENCODING = UTF-8
77
PROJECT_NAME = "QP-nano"
8-
PROJECT_NUMBER = "6.8.0"
8+
PROJECT_NUMBER = "6.8.1"
99
PROJECT_BRIEF =
1010
PROJECT_LOGO = images/header_logo_ql.png
1111
OUTPUT_DIRECTORY =

doxygen/history.dox

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,30 @@
11
/**
22
@page history Revision History
33

4-
@section qpn_6_8_0 Version 6.8.0, 2020-03-31
4+
@section qpn_6_8_1 Version 6.8.1, 2020-04-04
5+
6+
Fixed the following bugs:
7+
8+
This release updates the QP-nano ports and examples for workstations (Windows and POSIX) by consistently applying the "safe" versions of services from `<stdio.h>` and `<string.h>`. The "portable" versions of these services are defined as macros in the `safe_std.h` header file and include the following services:
9+
10+
- `MEMMOVE_S()` -> `memmove_s()`
11+
- `STRCPY_S()` -> `strcpy_s()`
12+
- `STRCPY_S()` -> `strcpy_s()`
13+
- `STRCAT_S()` -> `strcat_s()`
14+
- `SNPRINTF_S()` -> `_snprintf_s()`
15+
- `PRINTF_S()` -> `printf_s()`
16+
- `FPRINTF_S()` ->`fprintf_s()`
17+
- `FREAD_S()` -> `fread_s()`
18+
- `FOPEN_S()` -> `fopen_s()`
19+
- `LOCALTIME_S()` -> `localtime_s()`
20+
21+
These "safe" functions are mapped to the best approximation of these services available on a given platform. For example, `STRCPY_S()` is mapped to `strcpy_s()` on Windows and `strcpy()` on POSIX (Linux/MacOS/etc.).
22+
23+
Finally, this release consistently applies the #Q_NORETURN macro to the Q_onAssert() implementations in the QP-nano examples.
24+
25+
26+
------------------------------------------------------------------------------
27+
@section qpn_6_8_0 Version 6.8.0, 2020-03-21
528

629
Source code changes:
730

@@ -1548,3 +1571,4 @@ wrap-around point.
15481571
updated to the latest QP-nano API changes.
15491572
*/
15501573

1574+
Finally, this release improves the comments in the QF_stop() function. The comments now make it very clear that after calling QF_stop() the application must terminate and cannot continue. In particular, QF_stop() is **not** intended to be followed by a call to QF_init() to "resurrect" the application. The previous comments apparently were confusing and some developers attempted to "restart" a running application, which led to system crashes.

doxygen/img/img.htm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
66
<title>QP built-in images</title>
77

8-
<img src="logo_ql.gif">
8+
<img src="logo_ql.png">
99
<img src="AN_Coding_Standard.jpg">
1010
<img src="AN_Getting_Started_with_QPC.jpg">
1111
<img src="AN_MISRA-QPC.jpg">

0 commit comments

Comments
 (0)