STM32L4移植WolfSSL例程(上)--图形化配置
网上关于WolfSSL的资料少之又少,我先来抛砖引玉,简单介绍下其在STM32当中的移植。
开发板型号:STM32L4R5ZI-Nucleo
开发软件平台:Win10家庭版+STM32CubeIDE V1.60
配件:USB转串口工具FT232
先说一下我的相关学习资料,主要是ST和WolfSSL合作的官方视频,地址如下:https://www.stmcu.org.cn/video/index/detail/id-5212?qd
官方的视频是基于F407-Discovery版本的,其实我们只要知道原理也可以将其移植到其他ST的平台上。
关于移植的最重要一点,就是WolfSSL已经和ST合作,已经加入了Cube生态,有非常好的支持。
第一步,安装WolfSSL的STM32CubeIDE的Package:
在上方工具栏找到Help->Manange Embeded SoftWare Packages,找到一个I-Cube-WolfSSL,下载安装即可。
第二步,在IDE中图形化配置L4信息:
这些都是非常重要的步骤,一定要一步一步来,原本我视频是跳着看的,落了几个关键步骤,结果实验无法进行!
1.新建一个L4R5ZI的空工程(这步我就不细讲了,看看别的教程就行)
2.打开图形化界面,导入我们的Package,选择Select Component
关于WolfSSL的我们都打勾,因为我们要运行它自带的遍历工具套件例程。
然后我们的CubeIDE中会多了一栏,我们把Math Configuration设置成Single Precision Cortex-M Math(官方说这样可以加速),选择FreeRTOS
然后我们设置下FreeRTOS,选择CMSIS_V2,增加一个任务,把Stack Size设置大一点,Entry Function名叫wolfCryptDemo,选择As External
然后,我们再把堆栈大小设置大点(原来我就是没有设置这个,导致后续程序跑不起来),即设置Total_Heap_Size大点。
其次,打开RTC和RNG(硬件随机数)
在配置FreeRTOS时候,会建议我们把时钟源设置为Tim1,我们设置如下:
同时,我们要在串口中进行数据显示,打印执行信息,这里我们新建一个串口USART1,它的端口分别是PG9和PG10。
然后点击小齿轮,自动生成代码。这样,我们的WolfSSL图形化配置到这里就结束了。
在下篇我会介绍如何修改源代码,以至于支持L4。