官方 5.0.4 SDK详解
从官网下载 SDK5.0.4,解压后得到以下目录结构:
1根目录 5.0.4
1.1 binaries :主要用于演示目的;
1.2 config :编辑器,编译器,下载器的配置信息
1.3 doc :license及版权声明文件
1.4 projects :存放例子程序、模板和用户工程;
1.5 sdk :这里是SDK的一些函数
1.6 utilities :实用程序
2,projects 子目录下
2.1 host_apps ;主机端的应用;
2.2 target_apps
——|——ble_examples :这里Ble的一些例子,如:ble_app_barebone,ble_app_peripheral, ble_app_profile等
|————ble_app_all_in_one :所有功能集合在一起的例程
|————ble_app_barebone :基本框架
|————ble_app_ota :空中软件升级 SUOTA:Software Upgrade Over the Air
|————ble_app_peripheral :外围设备
|————ble_app_profile
|————ble_app_security
|————ble_app_sleepmode
|————prox_monitor_ext
|————prox_reporter
————peripheral_examples :外设的一些例子,如adc, blinky, i2c等;
————prod_test :测试程序,主要用于产品测试,如需要让芯片发单载波,则需要在DA14580中烧prod_test程序;
————template :存放一些模板
3,sdk 子目录下
————app_modules
————ble_stack
————common_project_files
——|—platform :与58x.相关的Drivers, patches, the main loop等都在这里;
| ————arch : main函数在此路径下,及system_ARMCM0.s和boot_vectors.s,boot.h
| ————core_modules
| ————driver : gpio,ADC,I2C等各种驱动文件都在这里;
| ————include
| ————patch_code
4, utilities 子目录下
————flash_programmer :一般用不到,如果您的FLASH(或EEPROM)由于驱动不兼容,可能需要修改此代码并生成bin文件来替换SmartSnippets中的默认文件;
————mkimage :制作OTA升级img时需要用到的工具,用于生成含secondary_bootloader和用户img的复合img
————prod_test :配合DA14580端prod_test使用的PC端工具
————secondary_bootloader :OTA时需用到
————uvproj2Makefile :keil的Makefile,不经常用
以基于OTA空中升级的例程为例:
工程目录为:
ble_app_ota_580
——| sdk_boot
|——system_ARMCM0.c : 路径:..\..\sdk\platform\arch\boot\rvds
|——boot_vectors.s : 路径:..\..\sdk\platform\arch\boot\rvds
|——nmi_handler.c : 路径:..\..\sdk\platform\arch\main
|——hardfault_handler.c : 路径:..\..\sdk\platform\arch\main
——| sdk_arch
|——arch_console.c : 路径:..\..\sdk\platform\core_modules\arch_console
|——nvds.c : 路径:..\..\sdk\platform\core_modules\nvds\src
|——arch_main.c : 路径:..\..\sdk\platform\arch\main
|——arch_sleep.c : 路径:..\..\sdk\platform\arch\main
|——arch_system.c : 路径:..\..\sdk\platform\arch\main
|——arch_patch.c : 路径:..\..\sdk\platform\arch\main
|——jump_table.c : 路径:..\..\sdk\platform\arch\main
——| sdk_patches
|——atts_task.obj : 路径:..\..\sdk\platform\patch_code\DA14580\obj
|——atts_util.obj : 路径:..\..\sdk\platform\patch_code\DA14580\obj
|——ch_map.obj : 路径:..\..\sdk\platform\patch_code\DA14580\obj
|——gapc_task.obj : 路径:..\..\sdk\platform\patch_code\DA14580\obj
|——gapm_util.obj : 路径:..\..\sdk\platform\patch_code\DA14580\obj
|——ke_mem.obj : 路径:..\..\sdk\platform\patch_code\DA14580\obj
|——ke_task.obj : 路径:..\..\sdk\platform\patch_code\DA14580\obj
|——llc.obj : 路径:..\..\sdk\platform\patch_code\DA14580\obj
|——llc_con_update_ind.obj : 路径:..\..\sdk\platform\patch_code\DA14580\obj
|——smpc.obj : 路径:..\..\sdk\platform\patch_code\DA14580\obj
|——smpc_task.obj : 路径:..\..\sdk\platform\patch_code\DA14580\obj
——| sdk_patches_581
|——atts_util.obj : 路径:..\..\sdk\platform\patch_code\DA14581\obj
|——gapc_task.obj : 路径:..\..\sdk\platform\patch_code\DA14581\obj
|——ke_mem.obj : 路径:..\..\sdk\platform\patch_code\DA14581\obj
|——ke_task.obj : 路径:..\..\sdk\platform\patch_code\DA14581\obj
|——llc_con_update_ind.obj : 路径:..\..\sdk\platform\patch_code\DA14581\obj
|——lld.obj : 路径:..\..\sdk\platform\patch_code\DA14581\obj
|——llm_task.obj : 路径:..\..\sdk\platform\patch_code\DA14581\obj
|——smpc_task.obj : 路径:..\..\sdk\platform\patch_code\DA14581\obj
——| sdk_driver
|——syscntl.c : 路径:..\..\sdk\platform\driver\syscntl
|——gpio.c : 路径:..\..\sdk\platform\driver\gpio
|——wucpt_quadec.c : 路径:..\..\sdk\platform\driver\wkupct_quadec
|——battery.c : 路径:..\..\sdk\platform\driver\battery
|——adc.c : 路径:..\..\sdk\platform\driver\adc
|——trng.c : 路径:..\..\sdk\platform\driver\trng
|——spi_flash.c : 路径:..\..\sdk\platform\driver\spi_flash
|——spi.c : 路径:..\..\sdk\platform\driver\spi
|——i2c_eeprom.c : 路径:..\..\sdk\platform\driver\i2c_eeprom
|——uart2.c : 路径:..\..\sdk\platform\driver\uart
|——pwm.c : 路径:..\..\sdk\platform\driver\pwm
——| sdk_ble
|——rf_580.c : 路径:..\..\sdk\platform\core_modules\rf\src
|——rwble.c : 路径:..\..\sdk\ble_stack\rwble
|—— rwip.c : 路径:..\..\sdk\platform\core_modules\rwip\src
|——gapm.c : 路径:..\..\sdk\ble_stack\host\gap\gapm
——| sdk_profiles
|——disc.c : 路径:..\..\sdk\ble_stack\profiles\dis\disc
|——diss_task.c : 路径:..\..\sdk\ble_stack\profiles\dis\disc
|——prf_utils.c : 路径:..\..\sdk\ble_stack\profiles
|——spotar.c : 路径:..\..\sdk\ble_stack\profiles\spota\spotar
|——spotar_task.c : 路径:..\..\sdk\ble_stack\profiles\spota\spotar
|——custs1.c : 路径:..\..\sdk\ble_stack\profiles\custom\custs
|——custs1_task.c : 路径:..\..\sdk\ble_stack\profiles\custom\custs
|——custom_common.c : 路径:..\..\sdk\ble_stack\profiles\custom
|——attm_db_128.c : 路径:..\..\sdk\ble_stack\host\att\attm
——| sdk_app
|——app_default_handlers.c : 路径:..\..\sdk\app_modules\src\app_default_hnd
|——app.c : 路径:..\..\sdk\app_modules\src\app_common
|——app_task.c : 路径:..\..\sdk\app_modules\src\app_common
|——app_security.c : 路径:..\..\sdk\app_modules\src\app_sec
|——app_security_task.c : 路径:..\..\sdk\app_modules\src\app_sec
|——app_bass.c : 路径:..\..\sdk\app_modules\src\app_bass
|——app_bass_task.c : 路径:..\..\sdk\app_modules\src\app_bass
|——app_findme.c : 路径:..\..\sdk\app_modules\src\app_findme
|——app_findme_task.c : 路径:..\..\sdk\app_modules\src\app_findme
|——app_proxr.c : 路径:..\..\sdk\app_modules\src\app_proxr
|——app_proxr_task.c : 路径:..\..\sdk\app_modules\src\app_proxr
|——app_diss.c : 路径:..\..\sdk\app_modules\src\app_diss
|——app_diss_task.c : 路径:..\..\sdk\app_modules\src\app_diss
|——app_spotar.c : 路径:..\..\sdk\app_modules\src\app_spotar
|——app_spotar_task.c : 路径:..\..\sdk\app_modules\src\app_spotar
|——app_entry_point.c : 路径:..\..\sdk\app_modules\src\app_entry
|——app_msg_utils.c : 路径:..\..\sdk\app_modules\src\app_common
|——app_easy_timer.c : 路径:..\..\sdk\app_modules\src\app_easy
|——app_easy_security.c : 路径:..\..\sdk\app_modules\src\app_easy
|——app_customs.c : 路径:..\..\sdk\app_modules\src\app_custs
|——app_customs_task.c : 路径:..\..\sdk\app_modules\src\app_custs
|——app_customs_common.c : 路径:..\..\sdk\app_modules\src\app_custs
|——app_easy_msg_utils.c : 路径:..\..\sdk\app_modules\src\app_easy
——| sdk_driver_api
|——app.c
|——abttery.h
|——gpio.h
|——i2c_core.h
|——i2c_eeprom.h
|——pwm.h
|——spi.h
|——spi_flash.h
|——systick.h
|——trng.h
|——uart.h
|——wkupct_quadec.h
——| sdk_app_api
|——app.h
|——app_api.h
|——app_callback.h
|——app_default_handlers.h
|——app_easy_gap.h
|——app_easy_msg_utils.h
|——app_easy_security.h
|——app_es
|——
|——
|——
|——
——| sdk_arch_api
——| user_config
——| sdk_arch_api
——| user_custom_profile
——| user_platform
——| user_app