-4

I want to establish a secure communication between embedded devices. I am using TMS570 microcontroller and I have FreeRTOS running on it. So can you please provide me some guidelines regarding how I can implement SSL on it (preferably MatrixSSL /CyaSSL)

jww
  • 97,681
  • 90
  • 411
  • 885

2 Answers2

2

CyaSSL, and a demo application that demonstrates how to use it with FreeRTOS, are included in the official FreeRTOS zip file download.

The demo uses the FreeRTOS Windows simulator to ensure it is easily accessible without the need for any special hardware. Although the demo uses the Windows TCP/IP stack CyaSSL just needs a standards sockets interface, so if your TCP/IP stack has that (I can only think of one that doesn't) then the example integration is equally applicable to a TMS570 application.

Links to the main FreeRTOS/CyaSSL page and the documentation for the example are provided below:

1) http://www.FreeRTOS.org/ssl

2) http://www.freertos.org/FreeRTOS-Plus/CyaSSL/FreeRTOS_CyaSSL_Example.shtml

Richard
  • 131
  • 1
2

If you are building CyaSSL proper for FreeRTOS, you'll need to uncomment the define for FREERTOS in the /cyassl/ctaocrypt/settings.h file.

As Richard stated, CyaSSL uses the BSD socket API by default. I'm not sure what TCP/IP stack you are using, but a common TCP/IP stack to use with FreeRTOS and CyaSSL would be LwIP, in which case you would need to uncomment the CYASSL_LWIP define as well.

If your TCP/IP stack (or other transport medium) doesn't provide a BSD-style socket API, CyaSSL provides an I/O callback for applications to register their own I/O functions with CyaSSL. More information on this can be found in Chapter 5 of the CyaSSL Manual:

CyaSSL Manual (Chapter 5): http://yassl.com/yaSSL/Docs-cyassl-manual-5-portability.html

Chrisc
  • 1,498
  • 4
  • 17
  • 30