Skip to content

Commit

Permalink
Merge SwitchToNewOTA to main branch (#45)
Browse files Browse the repository at this point in the history
* First working commit

* Fix all projects

* Remove private path in project file (#43)

* Remove private path in project file
* Fix formatting
* Fix spelling
* Fix valid external link

* Update MQTT stream submodule pointer (#44)

* Update MQTT stream submodule pointer
* Add MQTTFileDownloader_config.h file to every project which make use of MQTT stream.
* Onboard manifest check

* Update to LTS 3.0 libraires (#46)

* Update submodule pointer for LTS3.0
* Exclude FreeRTOS example from build
* Remove bootloader signing public key. The public key should be generated by tool.
* Add task notification setting for OTA in examples
* Add MQTT downloader config

---------

Co-authored-by: AniruddhaKanhere <60444055+AniruddhaKanhere@users.noreply.github.com>
  • Loading branch information
chinglee-iot and AniruddhaKanhere authored Jun 24, 2024
1 parent 5e7ab0d commit 1480cf0
Show file tree
Hide file tree
Showing 74 changed files with 4,828 additions and 1,315 deletions.
1,317 changes: 1,317 additions & 0 deletions .github/.cSpellWords.txt

Large diffs are not rendered by default.

51 changes: 23 additions & 28 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,37 +10,18 @@ jobs:
spell-check:
runs-on: ubuntu-latest
steps:
- name: Checkout Parent Repo
uses: actions/checkout@v2
with:
ref: main
repository: FreeRTOS/CI-CD-Github-Actions
path: actions
- name: Clone This Repo
uses: actions/checkout@v2
uses: actions/checkout@v4
- name: Run spellings check
uses: FreeRTOS/CI-CD-Github-Actions/spellings@main
with:
ref: ${{ github.event.pull_request.head.sha }}
path: ./NXPRef
- name: Install spell
run: |
sudo apt-get install spell
sudo apt-get install util-linux
- name: Check spelling
run: |
PATH=$PATH:actions/spellings/tools
# Make sure that the portable directory is not included in the spellcheck.
sed -i "s/-iname \\\\\*.\[ch\] -o/-not -path \\\*Middleware\\\\\/NXP\\\* -iname \\\\\*.\[ch\] -o/g" actions/spellings/tools/find-unknown-comment-words
find-unknown-comment-words --directory NXPRef/ --lexicon NXPRef/lexicon.txt
if [ "$?" = "0" ]; then
exit 0
else
exit 1
fi
path: ./

link-verifier:
runs-on: ubuntu-latest
steps:
- name: Clone This Repo
uses: actions/checkout@v2
uses: actions/checkout@v4
- name: Run link verifier
uses: FreeRTOS/CI-CD-Github-Actions/link-verifier@main
with:
Expand All @@ -51,7 +32,7 @@ jobs:
formatting:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Install Uncrustify
run: sudo apt-get install uncrustify
- name: Run Uncrustify
Expand All @@ -78,9 +59,9 @@ jobs:
git-secrets:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Checkout awslabs/git-secrets
uses: actions/checkout@v2
uses: actions/checkout@v4
with:
repository: awslabs/git-secrets
ref: master
Expand All @@ -91,3 +72,17 @@ jobs:
run: |
git-secrets --register-aws
git-secrets --scan
verify-manifest:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: true
fetch-depth: 0

- name: Run manifest verifier
uses: FreeRTOS/CI-CD-GitHub-Actions/manifest-verifier@main
with:
path: ./
fail-on-incorrect-version: true
9 changes: 6 additions & 3 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,6 @@
[submodule "Middleware/FreeRTOS/pkcs11"]
path = Middleware/FreeRTOS/pkcs11
url = https://github.com/amazon-freertos/pkcs11.git
[submodule "Middleware/AWS/ota"]
path = Middleware/AWS/ota
url = https://github.com/aws/ota-for-aws-iot-embedded-sdk
[submodule "Middleware/tinycbor"]
path = Middleware/tinycbor
url = https://github.com/intel/tinycbor.git
Expand All @@ -49,3 +46,9 @@
[submodule "Middleware/FreeRTOS/tests"]
path = Middleware/FreeRTOS/tests
url = https://github.com/FreeRTOS/FreeRTOS-Libraries-Integration-Tests.git
[submodule "Middleware/AWS/mqtt-stream"]
path = Middleware/AWS/mqtt-stream
url = https://github.com/aws/aws-iot-core-mqtt-file-streams-embedded-c
[submodule "Middleware/AWS/jobs"]
path = Middleware/AWS/jobs
url = https://github.com/aws/Jobs-for-AWS-IoT-embedded-sdk.git
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<chips chipVendor="NXP"
family="MIMXRT1060"
vendorURL="http://www.nxp.com"
chipURL="">
<chip name="MIMXRT1062xxxxB"
displayName="MIMXRT1062xxxxB"
xml_file="MIMXRT1062_internal.xml"
chipURL=""/>
</chips>
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<chips chipVendor="NXP" family="MIMXRT1060">
<chip name="MIMXRT1062xxxxB" flash=""/>
</chips>
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE infoList
SYSTEM "crt_infolist.dtd">
<infoList vendor="NXP">
<info name="MIMXRT1062xxxxB" chip="MIMXRT1062xxxxB">
<chip>
<name>MIMXRT1062xxxxB</name>
<family>MIMXRT1060</family>
<vendor>NXP</vendor>
<memory id="Flash"
type="Flash"
size="0"
is_ro="true"
can_program="true"/>
<memory id="RAM" type="RAM" size="1024"/>
<memoryInstance id="SRAM_DTC"
derived_from="RAM"
location="0x20000000"
size="0x00020000"/>
<memoryInstance id="SRAM_ITC"
derived_from="RAM"
location="0x00000000"
size="0x00020000"/>
<memoryInstance id="SRAM_OC2"
derived_from="RAM"
location="0x20200000"
size="0x00080000"/>
<memoryInstance id="SRAM_OC"
derived_from="RAM"
location="0x20280000"
size="0x00040000"/>
</chip>
<processor>
<name gcc_name="cortex-m7">Cortex-M7</name>
<family>Cortex-M</family>
</processor>
</info>
</infoList>
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
<!-- This is a directory of XML files for a specific processor or a
a set. It contains "links" to other XML files based on lookup
criteria. The file is organized into Boards (target boards),
Chips (processor+ASIC chip definitions), and RTOSes.
The containers for each are per processor family. The processor
families are such as "ARM7", "Cortex-M", etc. Within are the
links per specific item. -->
<!ELEMENT directory (boards*,chips*,rtoses*)>
<!-- 1st is Boards. These are target boards. The name match is
normally from the user specifying the board by name (at
install time or dynamically or via configuration). Board
lookup by mapped register value is only available for a class
of boards, since there is no standards. -->
<!ELEMENT boards (board*)> <!ATTLIST boards
chipVendor CDATA #REQUIRED>
<!-- Board defines a board by name, the chip on it, and optional
description. It also has the link to the XML file with
the details. Note that the board XML file may be a shared
file with more than one board in it, so the consumer must
look for the matching board by name.
If the name has a "*" or "?" in it, those are wildcards
to allow multiple matches.
The chip attribute is used to search for the chip file
(see "chips" below). -->
<!ELEMENT board (EMPTY)> <!ATTLIST board
name CDATA #REQUIRED
xml_file CDATA #REQUIRED
chip CDATA #REQUIRED
description CDATA #IMPLIED>

<!-- Chips define processor chips (processor+ASIC). These include
peripherals, Flash programming information, memory layout,
and vendor information.
If the name has a "*" or "?" in it, those are wildcards
to allow multiple matches. -->
<!ELEMENT chips (chip*)> <!ATTLIST chips
chipVendor CDATA #REQUIRED
family CDATA #IMPLIED>
<!-- Chip defines a chip by name, optionally the exact processor
in it, and an optional description. It also has the link to
the XML file with the details. Note that the chip XML file
may be a shared file with more than one chip in it, so the
consumer must look for the matching chip by name. Note that
default is only filled in for one chip, and that is what will
be selected if nothing requested.
If the name has a "*" or "?" in it, those are wildcards
to allow multiple matches.
The proc attribute may be used to ensure support for the
specific processor in the family. -->
<!ELEMENT chip (EMPTY)> <!ATTLIST chip
name CDATA #REQUIRED
xml_file CDATA #REQUIRED
proc CDATA #IMPLIED
description CDATA #IMPLIED
default (true|false) #IMPLIED>

<!-- Rtoses defines embedded operating systems (and kernels and
the like). RTOS is used loosely, so that even an application
may be represented this way. The rtos data model allows for
both intelligent structure viewing (converting fields into
meaningful data, linked list and array following) and optionally
agent interactions (live debug of a running system).
The RTOS list allows for finding a matching rtos by name
or symbol match.
If the name has a "*" or "?" in it, those are wildcards
to allow multiple matches. -->
<!ELEMENT rtoses (rtos*)> <!ATTLIST rtoses
chipVendor CDATA #REQUIRED>
<!-- Rtos defines an rtos by name, optionally the chip it is
for (e.g. BSP/HAL), optionally the board it is for (e.g.
BSP/HAL), optionally a symbol match (to verify in the current
application), and an optional description. It also has the
link to the XML file with the details. Note that the rtos
XML file may be a shared file with more than one rtos in it,
so the consumer must look for the matching rtos by name.
If the name has a "*" or "?" in it, those are wildcards
to allow multiple matches.
The chip and board may have "*" or "?" for matching as well.
The sym_match attribute allows matching automatically based
on a symbol name in the current application (to load). -->
<!ELEMENT rtos (EMPTY)> <!ATTLIST rtos
name CDATA #REQUIRED
xml_file CDATA #REQUIRED
chip CDATA #REQUIRED
board CDATA #REQUIRED
sym_match CDATA #REQUIRED
description CDATA #IMPLIED>

Loading

0 comments on commit 1480cf0

Please sign in to comment.