Commit graph

953 commits

Author SHA1 Message Date
Cobus van Eeden
bcc41c97fd Fix references to Linux instead of Windows 2020-09-08 14:42:09 -07:00
Cobus van Eeden
013b3d4b23 Move Kernel source pointer forward to latest 2020-09-08 00:35:56 -07:00
RichardBarry
00891e0c88
Remove unused variable from TaskNotifyArray.c that was causing a compiler warning. (#233) 2020-09-06 21:48:00 -07:00
alfred gedeon
6b502b5dd3
Build: replace scons with makefile (#235)
* Build: transform scons into Makefile
* Build: add Makefile dependencies
* Build: remove some tabs from Makefile
* Build: Make builds out of source, move wait for event to kernel port
* Test: update the full test to print status messages
* Build: replace lpthread with pthread

Co-authored-by: Alfred Gedeon <gedeonag@amazon.com>
2020-09-04 18:06:21 -07:00
NoMaY (a user of Japan.RenesasRulz.com)
6c86457bb7
Fix: Demo/RX100_RX113-RSK_Renesas_e2studio RTOS demo project build error (#224)
Co-authored-by: Cobus van Eeden <35851496+cobusve@users.noreply.github.com>
2020-09-04 11:29:33 -07:00
Ming Yue
a72f040861
Fix the path and command in demo projects to make it compatiable to Linux and MacOS (#220)
* Update the the path in .launch file to make it compatiable with MacOS/Linux.

* Remove .exe from command and use slash in file path

Co-authored-by: Cobus van Eeden <35851496+cobusve@users.noreply.github.com>
2020-09-01 11:05:23 -07:00
Ravishankar Bhagavandas
584517d467
cbmc: Add patch to remove overflow assert (#232) 2020-09-01 09:26:25 -07:00
Nathan Chong
669084ee8f
List proofs and signoff (#194) 2020-08-27 11:59:12 -07:00
alfred gedeon
638262fab1
Fix Posix demo build and remove src directory (#213)
* Fix: build errors, remove src directory and bring all files up
* Fix: Remove not needed header
* Doc: fix main comments
* Doc: fix comment

Co-authored-by: Alfred Gedeon <gedeonag@amazon.com>
2020-08-27 00:41:42 -07:00
RichardBarry
a9680a54cf
Fix warnings after moving callback prototypes (#208)
* Recently the prototypes for the application hook functions were
moved out of the kernel .c files and into the .h files.  That
changes results in compile time warnings for projects that provide
hook functions with a slightly different prototype - in particular
where signed char * is used in place of just char * as an older
FreeRTOS coding convention required chars to be explicitly qualified
as signed or unsigned.

This checkin fixes the warnings by ensuring the signature of
implemented hook functions matches the signature of the prototypes.
2020-08-27 00:40:47 -07:00
Cobus van Eeden
4a026fd703
Move forward Kernel submodule pointer (#218)
* Move forward Kernel submodule pointer
* Fixing patches for CBMC proofs
* Update proofs to assume cTxLock != 127
* Update proofs to assume cRxLock != 127
2020-08-26 23:50:09 -07:00
Cobus van Eeden
a691c6199e
Updating queue.c patches for CBMC proofs (#216) 2020-08-26 13:07:15 -07:00
David Chalco
1ae6eda77a
RSK64M Demo - Fix build errors (#195)
* Fix linking errors. Define task notification array size
2020-08-14 10:05:09 -07:00
RichardBarry
0e0edd96e8
Use new QEMU test project to improve stream/message buffer tests (#168)
* Add Eclipse/GCC project that targets the LM3S8962 QEMU model.

* Get the Cortex-M QEMU project working.

* Continue working on making stream buffer demo more robust and QEMU project.

* Rename directory CORTEX_LM3S8986_QEMU to CORTEX_LM3S6965_QEMU.
Work on making the Stream Buffer tests more robust.
Check in before adding in the trace recorder.

* Rename CORTEX_LM3S6969_QEMU to CORTEX_LM3S6969_GCC_QEMU.

* Make the StreamBufferDemo.c common demo file (test file) more robust to other test tasks running at an equally high priority.

* Work in progress checkin only - comments in main.c are incorrect.

* Correct comments at the top of FreeRTOS/Demo/CORTEX_LM3S6965_GCC_QEMU/main.c
Make the message buffer tests more robust in the case the a message buffer becomes full when prvSenderTask() has a higher priority than the reader task.

* Disable trace recorder in the LM3S6965 QEMU demo.

* I'm dropping FreeRTOS-Kernel reference update, since this seems to break the CMBC CI.

Co-authored-by: Yuhui Zheng <10982575+yuhui-zheng@users.noreply.github.com>
2020-08-11 10:50:30 -07:00
Gaurav-Aggarwal-AWS
157a7fc39f
Use chacheable RAM in IAR project for MPU_M7_NUCLEO_H743ZI2 project (#193)
This change updates the IAR project for Nucleo H743ZI2 to use the
cacheable DTC RAM and enables L1 cache. In order to ensure the correct
functioning of cache, the project sets configTEX_S_C_B_SRAM in
FreeRTOSConfig.h to not mark the RAM as shareable.

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
2020-08-09 22:21:44 -07:00
Gaurav-Aggarwal-AWS
f3e43556f9
Add MPU demo projects for NUCLEO-H743ZI2 board (#155)
* Add MPU demo projects for NUCLEO-H743ZI2 board

It contains projects for Keil uVision, STM32CubeIDE and IAR EW. This
demo shows the use of newly added support for 16 MPU regions.

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>

* Delete not needed CMSIS files

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
2020-08-09 16:23:53 -07:00
RichardBarry
68518f5866
Removed a 16MByte flash image file that was checked in by mistake (several years ago). (#173)
Remove the copies of lwIP that are no longer reference from demo projects.

Co-authored-by: Carl Lundin <53273776+lundinc2@users.noreply.github.com>
2020-08-07 14:59:24 -07:00
m17336
d4bf09480a
Update previous AVR ATmega0 and AVR Dx projecs + addition of equivalent projects in MPLAB.X and IAR (#180)
* Updated indentation in AVR_ATMega4809_Atmel_Studio and AVR_Dx_Atmel_Studio projects, plus small fixes in their readme files.

* Added AVR_ATMega4809_IAR, AVR_ATMega4809_MPLAB.X, AVR_Dx_IAR and AVR_Dx_MPLAB.X demo projects.

* Removed build artefacts and added .gitignore files in AVR_ATMega4809_MPLAB.X and AVR_Dx_MPLAB.X projects.

Co-authored-by: Yuhui Zheng <10982575+yuhui-zheng@users.noreply.github.com>
2020-08-06 12:37:08 -07:00
Aniruddha Kanhere
f32a0647c8
Remove CBMC patch which is not used anymore (#187)
* Delete 0002-Change-FreeRTOS_IP_Private.h-union-to-struct.patch

* Delete 0002-Change-FreeRTOS_IP_Private.h-union-to-struct.patch
2020-08-03 16:45:10 -07:00
Aniruddha Kanhere
08af68ef90
Remove dependency of CBMC on Patches (#181)
* Changes to DHCP

* CBMC DNS changes

* Changes for TCP_IP

* Changes to TCP_WIN

* Define away static to nothing

* Remove patches

* Changes after Mark's comments v1

* Update MakefileCommon.json

* Correction!
2020-08-01 16:38:23 -07:00
Aniruddha Kanhere
f2611cc5e5
MISRA compliance changes in FreeRTOS_Sockets{.c/.h} (#161)
* MISRA changes Sockets

* add other changes

* Update FreeRTOSIPConfig.h

* Update FreeRTOSIPConfig.h

* Update FreeRTOSIPConfig.h

* Update FreeRTOSIPConfig.h

* correction

* Add 'U'

* Update FreeRTOS_Sockets.h

* Update FreeRTOS_Sockets.h

* Update FreeRTOS_Sockets.c

* Update FreeRTOS_Sockets.h

* Update after Gary's comments

* Correction reverted
2020-07-29 15:38:37 -07:00
Carl Lundin
a457f43c66
Add missing error state assignment. (#166) 2020-07-28 13:01:38 -07:00
Yuhui Zheng
915af50524
Add Atmel Studio projects for ATMega4809 and AVR128DA48 (#159)
* Added explicit cast to allow roll over and avoid integer promotion during cycles counters comparison in recmutex.c.

* Fixed type mismatch between declaration and definition of function xAreSemaphoreTasksStillRunning( void ).

* Added Atmel Studio demo projects for ATMega4809 and AVR128DA48.

* Per https://www.freertos.org/upgrading-to-FreeRTOS-V8.html, I'm updating portBASE_TYPE to BaseType_t.

Signed-off-by: Yuhui Zheng <10982575+yuhui-zheng@users.noreply.github.com>

* Update register test for ATmega4809
- to cover r28, r29, r31.
- call public API taskYIELD() instead of portYIELD().

* Update ATmega4809 readme.md to include info for serial port setup, and minor wording fix.

Co-authored-by: Alexandru Niculae - M17336 <alexandru.niculae@microchip.com>
2020-07-27 17:30:53 -07:00
Nathan Chong
8e36bee30e
Prove buffer lemmas (#124)
* Prove buffer lemmas

* Update queue proofs to latest kernel source

All changes were syntactic due to uncrustify code-formatting

* Strengthen prvCopyDataToQueue proof

* Add extract script for diff comparison

Co-authored-by: Yuhui Zheng <10982575+yuhui-zheng@users.noreply.github.com>
2020-07-21 09:51:20 -07:00
Gaurav-Aggarwal-AWS
d7667a0034
Remove unnecessary semicolon from the linker file (#121)
This was creating problem with the onboard LPCLink debug probe.

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
2020-07-03 15:45:44 -07:00
Nathan Chong
529c481c39
Add VeriFast kernel queue proofs (#117) 2020-07-02 12:55:20 -07:00
S.Burch
072a173c9d
Fixed Imports for Infineon XMC1100 Board (#88)
Co-authored-by: RichardBarry <3073890+RichardBarry@users.noreply.github.com>
2020-06-22 14:39:26 -07:00
RichardBarry
2df5eeef57
Feature/multiple direct to task notifications (#73)
* Add TaskNotifyArray.c with the single task tests updated to use the task notification array up to the point where the timer is created.

* Continue working on TaskNotifyArray.c to test the new task notification indexes.  Next TaskNotifyArray.c will be refactored to break the tests up a bit.

* Refactor and update the comments in TaskNotifyArray.c - no functional changes.

* Change from the task notify "array" to task notification "indexed" nomenclature in the new task notification API functions that work on one particular task notification with the array of task notifications.

* Update the implementation of the taskNOTIFY_TAKE() and taskNOTIFY_WAIT() trace macros to take the array index of the task notification they are acting on.
Rename configNUMBER_OF_TASK_NOTIFICATIONS to configTASK_NOTIFICATION_ARRAY_ENTRIES.
Add FreeRTOS/Demo/Common/Minimal/TaskNotifyArray.c to the Visual Studio project - the file implements tests specific to the behaviour of the indexed task notification functions and should be used in addition to the tests already provided in FreeRTOS/Demo/Common/Minimal/TaskNotify.c.
2020-06-08 14:22:46 -07:00
Aniruddha Kanhere
f11bcc8acc
Fix a Bug and corresponding CBMC patch (#84)
* Update remove-static-in-freertos-tcp-ip.patch

* Update FreeRTOS_TCP_IP.c

* Update remove-static-in-freertos-tcp-ip.patch

* Update remove-static-in-freertos-tcp-ip.patch

Co-authored-by: Yuhui Zheng <10982575+yuhui-zheng@users.noreply.github.com>
2020-06-03 16:52:31 -07:00
Yuhui Zheng
bb9f92f771
Submodule FreeRTOS/Source 10bbbcf0b..6199b72fb (#82) 2020-06-03 10:46:55 -07:00
Yuhui Zheng
0eb5909fb0
readme.md for ATmega328PB Xplained Mini. (#76)
readme.md to get users jump started.
2020-05-28 17:05:24 -07:00
Aniruddha Kanhere
cb7edd2323
Sync with a:FR (#75)
* AFR sync

* AFR sync: CBMC

* AFR sync: CBMC: remove .bak files

* AFR sync: CBMC: more cleanup

* Corrected CBMC proofs

* Corrected CBMC patches

* Corrected CBMC patches-1

* Corrected CBMC patches-2

* remove .bak files (3)

Co-authored-by: Yuhui Zheng <10982575+yuhui-zheng@users.noreply.github.com>
2020-05-28 10:11:58 -07:00
alfred gedeon
6557291e54
Test: Add Linux Networking support with demo application (#71)
* Test: Add Linux Networking support with demo application

* Test: revert files affected by uncrustify

* Test: revert files affected by uncrustify

Co-authored-by: Alfred Gedeon <gedeonag@amazon.com>
Co-authored-by: Yuhui Zheng <10982575+yuhui-zheng@users.noreply.github.com>
2020-05-27 14:44:33 -07:00
Yuhui Zheng
8b079bc394
ATmega328PB Xplained Mini -- demo project for ATmega port. (#70)
* Bootstrap a demo from START. No driver is added in this commit.

* Add FreeRTOS source code to project. Remove unnecessary folder nesting.

Heap_4 is used here.

* Copy over main.c, FreeRTOSConfig.h, and regtest.{c, h}.

This commit compiles, but will need some work on timer used.

* This port has 2KB RAM. We are using 1KB for heap.

Further decreasing minimum stack size, and also use stack overflow check 1 to save some stack space.

* Preserve EEPROM set to false.

* End of the line.

* Reduce register test stack size.

32 8-bit register + 10 bytes for stack frame cost. Round up to 50.

* Adding Queue test in Integer test.

- g3 to easy debugging.
- mainCHECK_PERIOD is set to 1000 ticks. Note that this port for now use WDT as tick timer, and period is set to 15ms.
- vErrorChecks, is of highest priority. So if this task gets run before other tasks, the very first check will fail.

* Avoid false alarm.

Since we don't know in which order the tasks are scheduled, clearing any error for the first entry of vErrorChecks.

Signed-off-by: Yuhui Zheng <10982575+yuhui-zheng@users.noreply.github.com>

* ParTest.c to init, set, toggle onboard user LED at PB5.

* Added a task to blink onboard user LED.

Need a magic number for stack size.

Signed-off-by: Yuhui Zheng <10982575+yuhui-zheng@users.noreply.github.com>

* Explicitly setting timing slicing to 0.
This is to avoid unecessary context switch when multiple tasks are of the same priority.


Signed-off-by: Yuhui Zheng <10982575+yuhui-zheng@users.noreply.github.com>

* Add taskYIELD() at the end of the loop in each register test task.

This is to give other tasks of the same priority a chance to run, regardless of scheduling algorithm.

Signed-off-by: Yuhui Zheng <10982575+yuhui-zheng@users.noreply.github.com>

* minor, update comment in main.c.
2020-05-27 10:44:03 -07:00
AniruddhaKanhere
d95624c5d6
Move CBMC proofs to FreeRTOS+ directory (#64)
* move CBMC proofs to FreeRTOS+ directory

* Failing proofs corrected

* ParseDNSReply proof added back

* removed queue_init.h from -Plus/Test

Co-authored-by: Yuhui Zheng <10982575+yuhui-zheng@users.noreply.github.com>
2020-05-05 09:57:18 -07:00
markrtuttle
95ae7c6575
Change cbmc-viewer invocation in CBMC makefile (#63)
* Exclude FreeRTOS/Demo from CBMC proof reports.

The script cbmc-viewer generates the CBMC proof reports.  The script
searches source files for symbol definitions and annotates source
files with coverage information.  This patch causes cbmc-viewer to
ignore the directory FreeRTOS/Demo containing 348M of data.  The
script now terminates in a few seconds.

* Make report default target for CBMC Makefile.

Modify the Makefile for CBMC proofs to generate the report by default
(and not just property checking) and modify property checking to
ignore failures (due to property assertions failing) and terminating
report generation.

Co-authored-by: Mark R. Tuttle <mrtuttle@amazon.com>
2020-04-28 21:27:45 -07:00
Yuhui Zheng
d421ccc89f
Reword readme.md under ./Test. (#61) 2020-04-25 16:57:35 -07:00
Carl Lundin
3841286598
Removed a:FR reference. (#60) 2020-04-25 16:56:54 -07:00
AniruddhaKanhere
4db195c916
Adding FreeRTOS+TCP CBMC proofs to FreeRTOS/FreeRTOS (#56)
ParseDNSReply is to be added in the next PR.
2020-04-21 15:40:08 -07:00
Yuhui Zheng
fa74f7dccf Removing writes to read-only PLIC interrupt pending registers.
Signed-off-by: Yuhui Zheng <10982575+yuhui-zheng@users.noreply.github.com>
2020-04-07 10:09:20 -07:00
Yuhui Zheng
5b9777e11e A readme file to introduce what ./Test directory is about. 2020-03-31 14:21:53 -07:00
Yuhui Zheng
211bb4cbd9 Ignore whitespace when working with patches. 2020-03-31 14:21:53 -07:00
Yuhui Zheng
8156f64d1c Copying CBMC proofs from aws/amazon-freertos repo ./tools/cbmc to this repo ./FreeRTOS/Test/CBMC as is.
The commit ID in aws/amazon-freertos is 0c8e0217f2a43bdeb364b58ae01c6c259e03ef1b.
2020-03-31 14:21:53 -07:00
David Vrabel
9f316c246b Demo/Posix_GCC: add demo application for Posix port using GCC
This is largely a copy of the Windows demo application with a few key
changes:

- heap_3 (use malloc()/free()) so tools like valgrind "just work".

- printf() wrapped in a mutex to prevent deadlocks on the internal
  pthread mutexes inside printf().

SCons (https://scons.org/) is used as the build system.

This will be built as a 64-bit application, but note that the memory
allocation trace points only record the lower 32-bits of the address.
2020-03-24 13:46:18 -07:00
Markus Rinne
f78f919b3e Fix function comments 2020-03-22 20:26:43 -07:00
David Chalco
1cd2d38d96 unix separators for path and remove .exe suffix from risc compiler (works on windows/mac) 2020-03-22 20:23:03 -07:00
Yuhui Zheng
8982a2f80a Add ./lib directory to make sure Zynq project compiles. 2020-03-16 12:42:14 -07:00
Gaurav-Aggarwal-AWS
5751ae9b60
Update CORTEX_MPU_M33F_NXP_LPC55S69_MCUXpresso project (#26)
This commit updates the project for LPC55S69 so that it works with the
latest version of MCUXpresso and SDK.

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
2020-03-06 09:11:42 -08:00
Carl Lundin
52c82076b3
use relative path to point to bundled toolchain instead (#25) 2020-03-05 09:16:31 -08:00
Yuhui.Zheng
bef165d467
Linking test source file from relative path. (#19) 2020-02-18 22:06:38 -08:00