Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for Raspberry Pi Pico #8153

Merged
merged 1 commit into from
Nov 7, 2024
Merged

Conversation

LinuxJedi
Copy link
Member

Description

This adds improved support for the Raspberry Pi Pico range of microcontrollers.

Benchmark now compiles, and added support for the RNG functions of the Pico SDK. This gives a ~2x RNG performance improvement on the RP2040 and over 3x improvement on the RP2350.

The accelerated SHA256 in the RP2350 unfortunately cannot be used with wolfSSL.

Testing

WolfSSL-examples PR coming shortly which runs tests and benchmark.

Checklist

  • added tests
  • updated/added doxygen
  • updated appropriate READMEs
  • Updated manual and documentation

@wolfSSL-Bot
Copy link

Can one of the admins verify this patch?

@dgarske
Copy link
Contributor

dgarske commented Nov 6, 2024

Okay to test

@@ -0,0 +1,70 @@
/* pico.c
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add a README.md for this port and any tips for building / testing.
Please add the new files pico.c and pico.h to the include.am EXTRA_DIST.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for the feedback. Both items should now be addressed. I've moved the large comment from pico.c into the README.md too.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for adding the .c and .h. Please also include the README.md in EXTRA_DIST, otherwise it will not be included in the "make dist" done for release packaging.

@LinuxJedi
Copy link
Member Author

Rebased off master to resolve conflicts.

@@ -0,0 +1,70 @@
/* pico.c
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for adding the .c and .h. Please also include the README.md in EXTRA_DIST, otherwise it will not be included in the "make dist" done for release packaging.


## Comiling wolfSSL

In `settings.c` you should uncomment:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

settings.h?. We typically don't recommend this approach. Recommendation is WOLFSSL_USER_SETTINGS and user_settings.h. The reason is making changes to settings.h causes issue with new software updates.

)
```

A full example can be found in the `RPi-Pico` directory of the
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@LinuxJedi
Copy link
Member Author

Last review round of problems should now be addressed. Many thanks!

This adds improved support for the Raspberry Pi Pico range of
microcontrollers.

Benchmark now compiles, and added support for the RNG functions of the
Pico SDK. This gives a ~2x RNG performance improvement on the RP2040 and
over 3x improvement on the RP2350.

The accelerated SHA256 in the RP2350 unfortunately cannot be used with
wolfSSL.
@LinuxJedi
Copy link
Member Author

Typo found by Codespell addressed.

@dgarske dgarske self-assigned this Nov 7, 2024
@dgarske
Copy link
Contributor

dgarske commented Nov 7, 2024

Okay to test.

@dgarske dgarske merged commit 1061518 into wolfSSL:master Nov 7, 2024
143 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants