Commit Graph

3154 Commits (e117bdcd178c4074fd0d255958487807a7b50032)
 

Author SHA1 Message Date
Archit Aggarwal e117bdcd17
Add CI check for verifying manifest.yml (#590) 4 years ago
Archit Aggarwal 420a821514
Add some hyperlinks for the recently concluded FreeRTOS 202104.00 release (#588) 4 years ago
David Chalco c1a1bd9774
fix versioning of header checks (#587) 4 years ago
Archit Aggarwal 971a6e1d22
Merge FreeRTOS 202104.00 to main (#585) 4 years ago
Prasad Vyawahare 04f0f68f61
OTA Demos (#573)
This change adds the OTA demos and required dependencies and helper components .
* Add demos , configs and project files
* Add subscription manager
* Add HTTP utils
* Submodules the OTA LTS 3.0 Library.
* Add OTA pal
4 years ago
Archit Aggarwal 43bd42db27
Rename MQTT Agent structs and files (#576) 4 years ago
alfred gedeon 1fe418dc9f
Remove unecessary file (#495) 4 years ago
Archit Aggarwal 82036163f9
Update release script to upload doxygen artifact for release-candidate branch (#571) 4 years ago
Archit Aggarwal 6b0c4ea233
Update release.py to support passing branch parameter (#570) 4 years ago
Archit Aggarwal fd9c1eb7a5
Automate doxygen ZIP creation with GitHub Action (#568)
Automate creation of doxygen ZIP output by using the custom doxygen GitHub Action, that has been updated to generate ZIP artifact in PR
4 years ago
TakayukiMatsuo 1e2f99a11b
Add feature to set credentials using buffer in MQTT_Mutual_Auth_wolfSSL demo (#522)
* Add feature to set credentials using buffer
* Change instructions for giving credential data via buffer
4 years ago
RichardBarry 9f10725bee
Minor update to the UART write function in the IAR/QEMU/MPS2 demo (#535)
* Minor update to the UART write function in the IAR/QEMU/MPS2 demo project.  Now the function checks to ensure there is space in the Tx buffer before writing to the buffer - although this does not appear to be necessary in QEMU it is more correct.

* Update main.c

Co-authored-by: Aniruddha Kanhere <60444055+AniruddhaKanhere@users.noreply.github.com>
4 years ago
Archit Aggarwal 5ac8279c1b
Change Shadow submodule to point to LTS release tag (#567) 4 years ago
Muneeb Ahmed ef6194a7ce
Replace multithreading demo with MQTT Agent (#563)
* Update MQTT agent submodule

* Copy MQTT agent demo files

* Remove other demos from connection manager

* Update demo config and uncrustify

* Update readme files

* Fix headers
4 years ago
Paul Bartell 7a695784bc
Add queue.c CMock unit test (#552)
* Disregard coverage data without a function_name field set

* Fix calling make on subdirectories

* Undefine FORTIFY_SOURCE when running without ENABLE_SANITIZERS

* Add queue and semaphore unit tests

* Update FreeRTOS-Kernel submodule revision
4 years ago
RichardBarry 53af0ec62e
Revert "Add test for timer start delayed past expiration (#557)" (#566)
This reverts commit 9c91199016.
4 years ago
Jeff Tenney 9c91199016
Add test for timer start delayed past expiration (#557)
Co-authored-by: Dan Good <49254594+dan4thewin@users.noreply.github.com>
Co-authored-by: RichardBarry <3073890+RichardBarry@users.noreply.github.com>
4 years ago
David Chalco 2560a50a7b
prune .git from versioning search (#561)
Co-authored-by: Archit Aggarwal <architag@amazon.com>
4 years ago
Archit Aggarwal 999e81e721
Bump submodules of Kernel and AWS libraries (#564) 4 years ago
Oscar Michael Abrina 4249f5ce11
Update README cloning instructions to set core.symlinks for Windows (#556)
* Update README cloning instructions to set core.symlinks for Windows

* Add purpose
4 years ago
Archit Aggarwal 5440581dcd
Fix typo in History.txt (#559) 4 years ago
Archit Aggarwal cd75d5607f
Relocate History.txt and fix an typo (#558) 4 years ago
Jeff Tenney f2bcfb3866
Add test for backlogged auto-reload timer (#553)
* Add test for backlogged auto-reset timer

Must call vTimerDemoIncludeBacklogTests() to activate.

* Fix little style issues

- Update to new header
- Add parentheses (style)
- Remove trailing space accidentally introduced

* Don't verify full clearing of backlog

The timer task should be free to process the stop request without a
specific requirement to work through the backlog of callbacks for the
stopped timer.  The timer task should be allowed to cancel the entire
backlog, part of it, or none of it.  In other words, once the
application sends the stop request, it should not depend on receiving
any more callbacks, even backlogged ones.

The only requirement here is that the timer stop as requested.

Co-authored-by: Joseph Julicher <jjulicher@mac.com>
Co-authored-by: Cobus van Eeden <35851496+cobusve@users.noreply.github.com>
4 years ago
Muneeb Ahmed 1f47a22b23
Add MQTT Agent submodule (#551)
* Add MQTT Agent submodule

* Add MQTT agent platform files

Co-authored-by: abhidixi11 <44424462+abhidixi11@users.noreply.github.com>
Co-authored-by: Joseph Julicher <jjulicher@mac.com>
4 years ago
Tim Newsome c280f26c1b
Small RISC-V spike demo improvements (#554)
* Put XLEN into .o files.

Makes it easier to work on voth RV32 and RV64 binaries side-by-side.

* Let the debugger disable HTIF use.

* Makefile now links the binary at BASE_ADDRESS

I need this so I can easily generate the appropriate binaries for
riscv-tests/debug. Unfortunately there doesn't seem to be any good
mechanism to externally define values for lds files, so I'm running it
through the C preprocessor.

Co-authored-by: Joseph Julicher <jjulicher@mac.com>
4 years ago
dependabot[bot] f87eb7d0d4
Bump pyyaml from 5.3.1 to 5.4 in /.github/scripts/common (#555)
Bumps [pyyaml](https://github.com/yaml/pyyaml) from 5.3.1 to 5.4.
- [Release notes](https://github.com/yaml/pyyaml/releases)
- [Changelog](https://github.com/yaml/pyyaml/blob/master/CHANGES)
- [Commits](https://github.com/yaml/pyyaml/compare/5.3.1...5.4)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
4 years ago
Paul Bartell 595b05bce8 Fix spelling in stream_buffer_utest.c 4 years ago
Paul Bartell 58b1f9b27d Fix spelling in message_buffer_utest.c 4 years ago
Gaurav Aggarwal 308739464b Update test comments
Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
(cherry picked from commit 44c66f1df2)
4 years ago
Paul Bartell 5c7f33fbfb Fix typo in message_buffer_utest.c 4 years ago
Paul Bartell c82e6caa34 Remove imporper TEST_PROTECT usage from message_buffer_utest.c.
The way TEST_PROTECT is currently used in this test causes an infinite loop if the expected configASSERT failure does not occur.
4 years ago
Paul Bartell 68cb6142ae Remove improper TEST_PROTECT usage which results in an infinite loop when an expected configASSERT does not occur.
Replace TEST_PROTECT usage with CException library.

Fix test_xStreamBufferSend_zero_bytes test case logic (no assertion occurs in this case).
4 years ago
Carl Lundin d0d633a524
Reintroduce quarantined CBMC test (#516)
This CBMC test would go over the memory limit of most hosts, causing the
kernel to kill the process. With larger memory capabilities, this can be
re-enabled.
4 years ago
Paul Bartell 8dafa9fe4a Run kernel unit tests against FreeRTOS-Kernel repository main branch and the current submodule version. 4 years ago
Tim Newsome 3fee3ac61f
Add RISC-V demo for the spike simulator. (#532)
* Add RISC-V demo for the spike simulator.

* Figuring out what the header checker wants.

* Fix more headers.

* Ignore htif.c and htif.h for header checks.

These files are already stamped with BSD-3-Clause, which I'm not allowed
to remove. There are numerous other files with the same license in
FreeRTOS, so I assume this is fine.

* Use proxy syscalls for RV32.

Looks like spike won't be changed to make htif character writes work
propery for RV32.

This is now an even closer copy of the version in opensbi, which is
arguably strictly better.

* Support RV64 builds to use with spike.

OpenOCD does not currently support debugging 64-bit FreeRTOS, but now
that I have a target to test hopefully that will be remedied shortly.

* Tweak rv32 instructions.

This way you can have separate cross-tools installations that can
coexist side by side.

Co-authored-by: Joseph Julicher <jjulicher@mac.com>
4 years ago
Carl Lundin aaece95529
Update Tasks.c CBMC Proofs to Latest Code (#547)
* Fix Tasks.c patch, line numbers were out of sync and patching was
broken.
* Add assumption to TaskCreate proof that a task's priority is less than
the configured max.

With the introduction of
9efe10b805
an assertion is added to ensure a new task's priority is less than the
confirmed max. The CBMC proof for TaskCreate needs to include this assumption
in order to not assert and fail. Since this is now enforced in the code
we can add an assumption to the proof that a task must be created with a
priority smaller than the configured max.
4 years ago
Paul Bartell 2e084538a8 Re-enable list, message_buffer, and stream_buffers unit tests 4 years ago
Ming Yue fb0c517148
Add event_groups.c Unit Test (#536)
* Added event_groups.c Unit Test.

* Formatted and more comments.

* Formatted

* Split some test cases and add comment and coverage tag.

* Update test cases.

* Remove xEventGroupDelete Invalid Input test case, since the implementation does not handle this.
4 years ago
Paul Bartell 19271ddc8d Work around gcov json output bug
When gcov outputs into it's intermediate json format, sometimes it marks blocks as unexecuted but also sets an execution count != 0. In this case, the "count" field is correct, but the "unexecuted_block" field is incorrect.

When outputting lcov formatted coverage data in filtercov.py, only output a branch coverage data lines (BRDA) with a "-" for the "taken" field when both count==0 and unexecuted_block==true in the input gcov json intermediate file.
4 years ago
Ravishankar Bhagavandas e39c34ba7e
Adding unit tests for stream buffer and message buffer (#528)
* Initial commit

* Add more stream buffer tests

* Adding message buffer tests

* Adding tests to cover config assert branches

Co-authored-by: alfred gedeon <28123637+alfred2g@users.noreply.github.com>
4 years ago
Paul Bartell 7020db5403
Force a branch in the definition of configASSERT in the default CMock FreeRTOSConfig.h file (#538)
* Force a branch in the definition of configASSERT in the default CMock FreeRTOSConfig.h file
* Run uncrustify on FreeRTOSConfig.h
4 years ago
Paul Bartell 92aca6e910
Collect initial coverage data so that untagged functions are still included in the lcov report (#537)
Collect initial coverage data with lcov --initial and add this to coverage data to the combined coverage from each test binary.
This ensures that all functions in the target file(s) are included in coverage statistics, even if those functions are not tagged in a _utest.c file.
Note: Functions which are excluded by the preprocessor will not have initial coverage data generated for them.
4 years ago
Paul Bartell ada298638c Run kernel unit tests on pull requests and pushes.
Remove path filter (doesn't appear to work with multiple targets)
4 years ago
Paul Bartell 3a48781a03 Skip filtering of coverage if no @coverage tags are found in a _utest.c file 4 years ago
Cobus van Eeden 26478d721f
Add message buffer space available coherency test (#515)
* Introduce tasks that test the coherency of the reported space available in a message buffer from two separate tasks.  Designed to highlight the issue reported in https://github.com/FreeRTOS/FreeRTOS-Kernel/pull/264
Introduce configRUN_ADDITIONAL_TESTS which must be set to 1 to run the new tests.  That is because the new tests got added to an existing standard demo file and smaller platforms may not have the resources to run them.
Set configRUN_ADDITIONAL_TESTS to 1 in the MSVC and IAR/QEMU project so both project run the new test.
Also add missing 'volatile' qualifier in the IAR/QEMU project on some register accesses.

* Update xAreMessageBufferTasksStillRunning() to report errors from the new message buffer size coherency tests.

Co-authored-by: RichardBarry <ribarry@amazon.com>
Co-authored-by: RichardBarry <3073890+RichardBarry@users.noreply.github.com>
4 years ago
Paul Bartell f39765be22
Kernel UT: Enable preprocessor when running cflow in callgraph.py (#530)
* Add INCLUDE_DIR to the commandline call to cflow in callgraph.py

This removes dependent functions from the list when they are disabled in the FreeRTOS config.

* Add argparse to callgraph.py so that no output file is created on failure.
4 years ago
Paul Bartell f1da2515c2
Run kernel CMock unit tests when they are changed. (#531)
* Run kernel unit tests in a github action only when Unit Test files change
4 years ago
newbs 270474aed4
Update serial.c for latest microchip DFP (1.6.88 from 1.1.40) (#517)
Update line 58 to make compatible with Microchip DFP 1.6.88


Co-authored-by: Joshua Yan <52796499+yanjos-dev@users.noreply.github.com>
4 years ago
newbs ee1940bdb9
update configurations.xml to use the latest Microchip AVR DFP 1.6.88 (#518) 4 years ago
Paul Bartell 6257160ee6
Make the address sanitizer optional for CMock kernel unit tests (#526)
* Make the address sanitizer optional

The address sanitizer is now disabled by default for CMock tests because it introduces additional branches into the compiled code. When make is run with the ENABLE_SANITIZER=1 argument, the address sanitizer is enabled and coverage data may not be accurate.

* Change from ifdef to ifeq ($(ENABLE_SANITIZER),1) to address PR comment
4 years ago