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
尚未完工...
