I installed for testing wolfSSL pack version 3.3.9. In Manage Run-Time Environment add to project Simple Client, Resolve Dependencies and make rebuild.
compiler return
compiling client.c... C:\Keil\ARM\PACK\wolfSSL\CyaSSL\3.6.9\wolfssl\wolfssl/ssl.h(950): error: #5: cannot open source input file "sys/uio.h": No such file or directory #include <sys/uio.h> ... C:\Keil\ARM\PACK\wolfSSL\CyaSSL\3.6.9\wolfssl\wolfssl/wolfcrypt/wc_port.h(78): error: #5: cannot open source input file "pthread.h": No such file or directory #include <pthread.h> ...
in ssl.h on page 950 is
#elif !defined(WOLFSSL_MDK_ARM) && !defined(WOLFSSL_IAR_ARM) && !defined(WOLFSSL_PICOTCP) #include <sys/uio.h> #endif
unfortunely folder wolfSSL do not inslude file uio.h and pthread.h Any solution for this error?
Refer to http://www.keil.com/forum/60483/, and I think you meant CyaSSL v3.6.9
Several options are controlled in "wc_port.h".
See how well these controls match project's requirements.
To edit read-only files, like "wc_port.h", first, change their read-only attribute in Windows Explorer.
Then enable and configure appropriate middleware.
Then define WOLFSSL_MDK_ARM, WOLFSSL_MDK5, and WOLFSSL_CMSIS_RTOS in Options for Target / C++ tab.
I think the rest of the messages are from test.h, so you may wish to contact wolfSSL about this part.
Hi Zack,
I am also having trouble getting WolfSSL working with my uVision project.
You state:
"Several options are controlled in "wc_port.h"."
"Then enable and configure appropriate middleware."
Could you be a little more specific?
My program is very simple, no OS. All I really need wolfSSL for, is to do a SHA hash on a block of data.
Thanks
Mike
Hello Mike,
It might be worth starting another forum post, but let's see.
If you are not going to use an RTOS or middleware and plan to only use the crypt lib's core files, the Pack Installer contains a small example which can be modified. Download wolfSSL::wolfSSL 3.8.0 and Keil:STM32F2xx_DFP 2.6.0, then try modifying one of the examples, like "wolfSSL 2: wolfCrypt test" example for the MCBSTM32F200.
For your goals, you would want to remove the SSL part out of the first example or remove the filesystem/RTOS from the second example, to make a template project.
For "wolfSSL 2: wolfCrypt test"
Go to user_settings.h, and define single_threaded and no_filesystem at the top.
Disable the filesystem and the MCI driver in the Manage RTE window: -CMSIS Driver => MCI -Compiler => I/O => File -FileSystem => Core
Comment out lines in main.c: -cmsis_os.h -osDelay()
Right-click in the Project Window on CMSIS => RTX files, then in Options for Component... disable "Include in target build".
Do this for the FileSystem lib/config files, as well.
Then in config-Crypt.h, change "Cert Storage" to something other than an SD card.
That is all that I see from a simple compile test, but I expect a few more configuration steps are required. The project can serve as an example for other devices. An RTOS can really help organize execution and resource usage; the RTOS it is included, by default, to define and control that for our middleware.
Comparing this template to the current project should resolve the core issues. Let us know how it goes.
Thanks, Zack
Thank you Zack I will give your suggestion a try