從零開始搭建GR5513工程
1. 下載官方最新SDK
本文所建立工程中的檔案都是提取自官方SDK包中的部分內容。
傳送門:https://product.goodix.com/zh/product/ble/family/gr551x#document
將下載好的zip檔案解壓到任意目錄
2. 安裝Keil開發環境
為何使用Keil?雖然GR551X SDK文件中說明了支援GCC編譯環境,但是當你開啟SDK包卻會發現提供的demo工程都是基於Keil的。
並且makefile還需要使用python指令碼從uvprojx轉換得到,為了少踩坑這裡使用Keil整合開發環境。
安裝Keil-MDK530
這裡的ULINK USB驅動,如果沒有ULINK偵錯程式,建議都選擇否,沒必要安裝。
GR551X支援JLink,並且由於GR551X BOOTROM帶串列埠功能,因此最少只需要一個幾塊錢的USB轉串列埠模組即可進行開發。
KeilMDK安裝完成後會彈出更新Pack包的介面,這裡把Packs->Check for updates on launch
破解KeilMDK
以
管理員模式
執行keil程式選擇File->License Management,並開啟破X器,按如下步驟操作
3. 建立專案必須檔案
任意位置新建一個資料夾作為專案目錄
建立GR5513EVM\tools
資料夾
將sdk目錄.\build
資料夾下的
binaries
config
scripts
複製到GR5513EVM\tools
資料夾
建立GR5513EVM\src
資料夾
建立GR5513EVM\src\components
資料夾
將sdk目錄.\components
資料夾下的
app_drivers
boards
libraries
patch
profiles
sdk
複製到
GR5513EVM\src\components
資料夾
將sdk目錄.\drivers
資料夾,複製到GR5513EVM\src\components
資料夾
建立GR5513EVM\external
資料夾
將sdk目錄.\external\segger_rtt
資料夾,複製到GR5513EVM\src\external
資料夾
將sdk目錄.\toolchain
資料夾,複製到GR5513EVM\src
資料夾
建立GR5513EVM\src\app
資料夾
在GR5513EVM\src\app
資料夾下建立main.c
檔案
建立GR5513EVM\src\app\include
3. KeilMDK建立專案
選擇之前建立的GR5513EVM
的資料夾,並輸入專案名稱gr5513_evm
晶片型別選擇ARM CortexM4 FP
支援Pack直接點選確定
建立專案原始檔目錄(Keil的原始檔目錄與檔案系統目錄並不一致,需要另行指定)
gr_startup新增
GR5513EVM\src\toolchain\gr551x\source\arm\startup_gr55xx.s
app/user新增
GR5513EVM\src\app\main.c
gr_arch_cm4新增
GR5513EVM\src\toolchain\gr551x\source\interrupt_gr55xx.c
GR5513EVM\src\toolchain\gr551x\source\platform_gr55xx.c
GR5513EVM\src\toolchain\gr551x\source\system_gr55xx.c
gr_stack_lib新增
GR5513EVM\src\components\sdk\linker\lib\ble_sdk.lib
gr_drivers新增
GR5513EVM\src\components\drivers\src\gr55xx_hal.c
external/segger_rtt新增
GR5513EVM\src\external\segger_rtt\rtt.c
GR5513EVM\src\external\segger_rtt\rtt_printf.c
建立完成後的專案樹如圖
開啟專案配置對話方塊
配置編譯器版本、ROM、RAM地址及範圍
ARM Complier選擇Use dafault complier version 5
ROM起始地址0x1002000
長度0x7E000
;RAM起始地址0x30000000
長度0x20000
以上配置引數的依據來自sdk文件中的flash及ram佈局
新增after build指令碼
附加引數@L表示當前專案名稱;@K表示KeilMDK安裝目錄
新增預處理巨集
GR5515_SK,DRIVER_TEST,APP_DRIVER_USE_ENABLE=0