網上關於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。