Preparing ble_app_example
Open SDK_Folder\projects\ble\ble_peripheral\, copy ble_app_template to the current directory, and rename it as ble_app_example. Rename the base name of .uvoptx and .uvprojx files in ble_app_example\Keil_5 as ble_app_example.

Double-click ble_app_example.uvprojx to open the project example in Keil. Click , and select Output in Options for Target ‘GRxx_Soc’; enter ble_app_example in Name of Executable.

All groups of the ble_app_example project are available in the Project Window of Keil.

Groups of the ble_app_example project are mainly in two categories: SDK groups and User groups.
- SDK groups
The SDK groups include gr_startup, gr_arch, gr_soc, gr_board, gr_stack_lib, gr_app_drivers, gr_libraries, gr_profiles, and external.
Figure 17 SDK groups Source files in the SDK groups are not required to be modified. Group descriptions are provided below:
Table 7 SDK groups SDK Group Name Description gr_startup
System boot file
gr_arch
Initialization configuration files and system interrupt implementation files for System Core and PMU
gr_soc gr_soc.c gr_board Board-level description file gr_stack_lib
GR551x SDK .lib file
gr_app_drivers
Driver API source files, which are easy to use for application developers. You can add related application drivers on demand.
gr_libraries
Open source files of common assistant software modules and peripheral drivers provided by in the SDK
gr_profiles
Source files of GATT Services/Service Clients. You can add necessary GATT source files for projects.
external
Source files for third-party programs, such as FreeRTOS and SEGGER RTT. You can add third-party programs on demand.
- User groups
User groups include user_platform and user_app.
Figure 18 User groups Functions for source files in User groups need to be implemented by developers. Group descriptions are provided below:
Table 8 User groups User Group Name Description user_platform
Software and hardware resource setting and application initialization; you need to execute corresponding APIs on demand.
user_app
main() function entries and other source files created by developers, which are used to configure runtime parameters of Bluetooth LE Stack and execute event handlers of GATT Services/Service Clients