Skip to content

Commit cca3f8a

Browse files
committed
Pull request #59: Feature/CC16BOOT-8082 create an engineering release of dspic33a m dfu bootloader with basic uart
Merge in MCU16CE/dspic33-dsc-bootloader-code-examples from feature/CC16BOOT-8082-create-an-engineering-release-of-dspic33a-m-dfu-bootloader-with-basic-uart to develop Squashed commit of the following: commit 951f7ce70cd2c9c1d119ae21a6bf0b56335dfdec Merge: 9406566 5c4d313 Author: David Flowers <David.Flowers@Microchip.com> Date: Wed Feb 12 12:20:52 2025 -0700 Pull request #60: Add clock configuration feedback from the NPD team. Merge in MCU16CE/dspic33-dsc-bootloader-code-examples from ~C12109/dspic33-dsc-bootloader-code-examples:bugfix/CC16BOOT-8217-implement-clock-configuration-suggestion-by-npd-team-in-bootloader to feature/CC16BOOT-8082-create-an-engineering-release-of-dspic33a-m-dfu-bootloader-with-basic-uart * commit '5c4d313f93466d71f1ac91d9e2267fdb8ebcd73b': Add clock configuration feedback from the NPD team. commit 5c4d313f93466d71f1ac91d9e2267fdb8ebcd73b Author: David Flowers <david.flowers@microchip.com> Date: Wed Feb 12 12:17:57 2025 -0500 Add clock configuration feedback from the NPD team. commit 94065664e52b202cd603746437e035f042cbfe7c Merge: e296ca6 34f8c2a Author: David Flowers <David.Flowers@Microchip.com> Date: Tue Feb 11 10:13:34 2025 -0700 Pull request #58: Feature/CC16BOOT-8082 create an engineering release of dspic33a m dfu bootloader with basic uart Merge in MCU16CE/dspic33-dsc-bootloader-code-examples from ~C12109/dspic33-dsc-bootloader-code-examples:feature/CC16BOOT-8082-create-an-engineering-release-of-dspic33a-m-dfu-bootloader-with-basic-uart to feature/CC16BOOT-8082-create-an-engineering-release-of-dspic33a-m-dfu-bootloader-with-basic-uart * commit '34f8c2abfcbcdd3828db7c8c438c83e591e1f184': putting braces on their own lines. incorporate feedback commit 34f8c2abfcbcdd3828db7c8c438c83e591e1f184 Author: David Flowers <david.flowers@microchip.com> Date: Tue Feb 11 12:07:05 2025 -0500 putting braces on their own lines. commit 70ed0bb70148692c01a322331dc0f537e090c44b Merge: db5558c e296ca6 Author: David Flowers <david.flowers@microchip.com> Date: Mon Feb 10 09:31:51 2025 -0500 Merge branch 'feature/CC16BOOT-8082-create-an-engineering-release-of-dspic33a-m-dfu-bootloader-with-basic-uart' of https://bitbucket.microchip.com/scm/~c12109/dspic33-dsc-bootloader-code-examples into feature/CC16BOOT-8082-create-an-engineering-release-of-dspic33a-m-dfu-bootloader-with-basic-uart commit db5558c406f5d597b9e08b29c9c73fb4ed1ebce4 Author: David Flowers <david.flowers@microchip.com> Date: Mon Feb 10 09:31:38 2025 -0500 incorporate feedback commit e296ca65a04879129124ab4e768eb638c7793b2b Merge: d1abf29 b495276 Author: David Flowers <David.Flowers@Microchip.com> Date: Mon Feb 10 07:30:19 2025 -0700 Pull request #57: Move the demo from the development repo Merge in MCU16CE/dspic33-dsc-bootloader-code-examples from ~C12109/dspic33-dsc-bootloader-code-examples:feature/CC16BOOT-8082-create-an-engineering-release-of-dspic33a-m-dfu-bootloader-with-basic-uart to feature/CC16BOOT-8082-create-an-engineering-release-of-dspic33a-m-dfu-bootloader-with-basic-uart * commit 'b495276f022a3ca14c6ade4d8a93c9c229f25141': remove chmod from the project configuration Add chmod so the linux build system passes the build. add .sh files for linux, updated projects to use them correctly, update gitattributes to not modify line endings for .bat/.sh files. Move the demo from the development repo commit b495276f022a3ca14c6ade4d8a93c9c229f25141 Author: David Flowers <david.flowers@microchip.com> Date: Mon Feb 10 09:03:07 2025 -0500 remove chmod from the project configuration commit 8290856167b31b06c1189b5190f094e78c5c29be Author: David Flowers <david.flowers@microchip.com> Date: Fri Feb 7 16:22:21 2025 -0500 Add chmod so the linux build system passes the build. commit 04a67d954356a70fc1504768942780ed5b2710f0 Author: David Flowers <david.flowers@microchip.com> Date: Fri Feb 7 16:06:41 2025 -0500 add .sh files for linux, updated projects to use them correctly, update gitattributes to not modify line endings for .bat/.sh files. commit 7d3b90e18c7177e694a2148262db08afdac9bf40 Author: David Flowers <david.flowers@microchip.com> Date: Fri Feb 7 10:48:02 2025 -0500 Move the demo from the development repo commit d1abf290a8779b96955a5a3c2eb0883d05e7e726 Merge: dbc413f 0d9297d Author: Anastasia Wyatt <Tess.Wyatt@microchip.com> Date: Tue Jan 21 08:30:30 2025 -0700 Pull request #56: Update baud rate Merge in MCU16CE/dspic33-dsc-bootloader-code-examples from ~C74569/dspic33-dsc-bootloader-code-examples:feature/CC16BOOT-8138-increase-the-baud-rate-to-115200 to feature/CC16BOOT-8082-create-an-engineering-release-of-dspic33a-m-dfu-bootloader-with-basic-uart * commit '0d9297df0801fa20908b6dd2e07722e0dbae78c5': Update baud rate commit dbc413ff06ee0fd126be980c2392849c7412d94b Merge: 5dc4bfa 8e5e57b Author: Anastasia Wyatt <Tess.Wyatt@microchip.com> Date: Tue Jan 21 08:25:05 2025 -0700 Pull request #55: Update documentation Merge in MCU16CE/dspic33-dsc-bootloader-code-examples from ~C74569/dspic33-dsc-bootloader-code-examples:feature/CC16BOOT-8137-shrink-bootloader-dedicated-region-maximize-application-dedicated-region to feature/CC16BOOT-8082-create-an-engineering-release-of-dspic33a-m-dfu-bootloader-with-basic-uart * commit '8e5e57bb26082ac3a6b16132f23eded9d7005ffc': Add map source Update documentation commit 0d9297df0801fa20908b6dd2e07722e0dbae78c5 Author: Anastasia Wyatt <Tess.Wyatt@microchip.com> Date: Mon Jan 20 15:39:36 2025 -0700 Update baud rate commit 8e5e57bb26082ac3a6b16132f23eded9d7005ffc Author: Anastasia Wyatt <Tess.Wyatt@microchip.com> Date: Mon Jan 20 15:19:35 2025 -0700 Add map source commit 25f714c4e7fce6779cfa7da06160b22e26a9a8a1 Author: Anastasia Wyatt <Tess.Wyatt@microchip.com> Date: Mon Jan 20 14:58:37 2025 -0700 Update documentation commit 5dc4bfa26a1586f97519cd31b6424720860d05e8 Merge: 46fed9f defc770 Author: Anastasia Wyatt <Tess.Wyatt@microchip.com> Date: Tue Jan 14 06:51:03 2025 -0700 Pull request #54: Add engineering release disclaimer Merge in MCU16CE/dspic33-dsc-bootloader-code-examples from ~C74569/dspic33-dsc-bootloader-code-examples:feature/CC16BOOT-8086-generate-user-facing-documentation-for-how-to-use-the-example to feature/CC16BOOT-8082-create-an-engineering-release-of-dspic33a-m-dfu-bootloader-with-basic-uart * commit 'defc77070faa29b7e2f3ec2b1ba5c1aa41eafced': Add engineering release disclaimer commit defc77070faa29b7e2f3ec2b1ba5c1aa41eafced Author: Anastasia Wyatt <Tess.Wyatt@microchip.com> Date: Wed Jan 8 15:33:37 2025 -0700 Add engineering release disclaimer commit 46fed9f6fdaa52aa2c809c771740f20a3ccb8ccf Merge: b91c277 e2b9bd1 Author: Anastasia Wyatt <Tess.Wyatt@microchip.com> Date: Mon Jan 6 08:12:23 2025 -0700 Pull request #53: Feature/CC16BOOT-8086 generate user facing documentation for how to use the example Merge in MCU16CE/dspic33-dsc-bootloader-code-examples from ~C74569/dspic33-dsc-bootloader-code-examples:feature/CC16BOOT-8086-generate-user-facing-documentation-for-how-to-use-the-example to feature/CC16BOOT-8082-create-an-engineering-release-of-dspic33a-m-dfu-bootloader-with-basic-uart * commit 'e2b9bd1e2ee9af3b99e284390fee493c8e102546': Address PR comments Add section describing the linker file modifications Clean up command line instructions Add application header limitation note More spacing weirdness Fix image spacing weirdness Run mdfu via command line rather than in the post build step Fix image rendering Add modified memory map Make file names consistent Add documentation for dsPIC33a demo Add part of the readme commit e2b9bd1e2ee9af3b99e284390fee493c8e102546 Author: Anastasia Wyatt <Tess.Wyatt@microchip.com> Date: Thu Jan 2 13:36:15 2025 -0700 Address PR comments ... and 18 more commits
1 parent cdcf9ee commit cca3f8a

File tree

232 files changed

+33933
-13
lines changed

Some content is hidden

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

232 files changed

+33933
-13
lines changed

.citd/Jenkinsfilek8s

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ pipeline {
8585
stage('Build') {
8686
steps {
8787
script {
88+
sh("find . -type f -name postBuild.sh -exec chmod +x {} \\;")
8889
mplabxProjectBuild(
8990
sourceFilePath: "${env.MPLABX_PROJECT_SOURCE}"
9091
)

.gitattributes

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
src/test/firmware/*.jar filter=lfs diff=lfs merge=lfs -text
2+
3+
# Ensure .sh files use LF (Unix-style) line endings
4+
*.sh text eol=lf
5+
6+
# Ensure .bat files use CRLF (Windows-style) line endings
7+
*.bat text eol=crlf

README.md

Lines changed: 33 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,37 @@
44
<img alt="Microchip Logo." src="images/microchip_logo_black_red.png">
55
</picture>
66

7-
## dsPIC33 CAN/CAN-FD Bootloader Demo
8-
9-
## Summary
10-
An example bootloader using the 16-bit MCC bootloader and the CAN or CAN-FD peripheral.
11-
12-
## Related Documentation
13-
https://www.microchip.com/16-bit-bootloader
14-
15-
## Setup And Operation
16-
17-
See the README files associated with each folder that describe the required hardware, software, and setup instructions.
18-
19-
7+
## <u>dsPIC33 CAN/CAN-FD Bootloader Demo</u>
8+
9+
### Summary
10+
An example bootloader using the 16-bit MCC bootloader and the CAN or CAN-FD peripheral on the dsPIC33 Touch CAN LIN Curiosity Development board demonstrating the following:
11+
* Immutable secure boot via CodeGuard
12+
* A/B type bootloading with Flash partitioning to support two firmware images and anti-roll back
13+
* Secure boot authentication via ECDSA signature verification
14+
* Secure firmware update via CAN-FD
15+
* Crypto acceleration via TA100
16+
* (Optional) Permanent flash memory locking via ICSP inhibit
17+
18+
### Related Documentation
19+
* [16bit MCC Bootloader](https://www.microchip.com/16-bit-bootloader)
20+
* [dsPIC33C Touch-CAN-LIN Curiosity Development Board (EV97U97A)](https://www.microchip.com/en-us/development-tool/EV97U97A)
21+
22+
### Setup And Operation
23+
See [secure_boot_and_secure_firmware_upgrade_over_canfd](secure_boot_and_secure_firmware_upgrade_over_canfd/) and the associated [README.md](secure_boot_and_secure_firmware_upgrade_over_canfd/README.md) files for details on the required hardware, software, setup, and how to run the demo.
24+
25+
## <u>dsPIC33a Bootloader and Firmware Upgrade Demo</u>
26+
27+
### Summary
28+
An example bootloader using the Microchip Device Firmware Update (M-DFU) protocol and UART peripheral on the dsPIC33A Curiosity Platform Development Board with a dsPIC33AK128MC106 DIM demonstrating the following:
29+
* Secure firmware update via UART using Microchip Device Firmware Update (M-DFU) protocol
30+
* Application verification checking using a 32-bit CRC-32Q signature
31+
32+
### Related Documentation
33+
* [16bit MCC Bootloader](https://www.microchip.com/16-bit-bootloader)
34+
* [dsPIC33AK128MC106 DIM (EV02G02A)](https://www.microchip.com/en-us/development-tool/ev02g02a)
35+
* [dsPIC33A Curiosity Platform Development Board (EV74H48A)](https://www.microchip.com/en-us/development-tool/ev74h48a)
36+
* [M-DFU Protocol](https://ww1.microchip.com/downloads/aemDocuments/documents/DEV/ProductDocuments/SupportingCollateral/Microchip-Device-Firmware-Update-MDFU-Protocol-DS50003743.pdf)
37+
38+
### Setup And Operation
39+
See [dspic33a_bootloader_and_firmware_upgrade_demo](dspic33a_bootloader_and_firmware_upgrade_demo/) and the associated [README.md](dspic33a_bootloader_and_firmware_upgrade_demo/README.md) files for details on the required hardware, software, setup, and how to run the demo.
2040

changelog.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,14 @@
55
### Features Added\Updated
66
* Initial Release
77

8+
# dsPIC33a Bootloader and Firmware Upgrade Demo v1.0.0*
9+
### Release Highlights
10+
* Initial Release - Refer to the README.md for a summary and execution procedure
11+
12+
### Features Added\Updated
13+
* Initial Release
14+
15+
\* **NOTE**: THIS DEMO IS AN ENGINEERING RELEASE TO DEMONSTRATE DSPIC33A BOOTLOADER FUNCTIONALITY AND SHOULD BE USED FOR REFERENCE ONLY. THIS CODE IS NOT INTENDED FOR USE IN PRODUCTION.
16+
817

918

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
{
2+
"metaDataVersion": "1.0.0",
3+
"category": "com.microchip.ide.project",
4+
"content": {
5+
"metaDataVersion": "1.3.0",
6+
"name": "com.microchip.mplabx.project.dspic33a-bootloader-and-firmware-upgrade-demo",
7+
"version": "1.0.0",
8+
"displayName": "dsPIC33a Bootloader and Firmware Upgrade Demo",
9+
"projectName": "dspic33a-bootloader-and-firmware-upgrade-demo",
10+
"shortDescription": "This MPLAB® X IDE example demonstrates how to perform secure boot authentication and firmware upgrade via UART with Microchip Device Firmware Update Protocol (M-DFU) and CRC32 verification within MCC Melody.",
11+
"ide": {
12+
"name": "MPLABX",
13+
"semverRange": ">=6.20.0"
14+
},
15+
"compiler": {
16+
"name": "XCDSC",
17+
"semverRange": "^3.10"
18+
},
19+
"dfp": {
20+
"name": "dsPIC33AK-MC_DFP",
21+
"semverRange": ">=1.0.33"
22+
},
23+
"configurator": {
24+
"name": "MCC",
25+
"semverRange": ">=5.6.1"
26+
},
27+
"device": {
28+
"metaDataVersion": "1.0.0",
29+
"category": "com.microchip.portal.contentRef",
30+
"content": {
31+
"metaDataVersion": "1.0.0",
32+
"category": "com.microchip.device",
33+
"name": " dsPIC33AK128MC106",
34+
"versionRange": "*"
35+
}
36+
},
37+
"keywords": [
38+
"Board",
39+
"Bootloader",
40+
"Bootloader Client",
41+
"Communication",
42+
"Communication Module",
43+
"Configurator",
44+
"Curiosity",
45+
"Development Tool",
46+
"Firmware",
47+
"Firmware Upgrade",
48+
"FTP",
49+
"Harmony",
50+
"MDFU",
51+
"Memory",
52+
"Memory Module",
53+
"Serial Communication",
54+
"Software",
55+
"UART",
56+
"UART Protocol",
57+
"Virtual COM Port",
58+
"Wired"
59+
]
60+
}
61+
}

0 commit comments

Comments
 (0)