DA1458x SDK Software Layout 随笔
来源:互联网 发布:微邦软件下载 编辑:程序博客网 时间:2024/06/13 23:41
DA1458x SDK 5.0.4
分层
Dialog在DA14580分层主要分为BLE_stack、kernel、Profile和Application。
其中BLE_stack和kernel使我们不可见的,Profile和Application是我们可见的。
下面是官方的Software Layout
这个图中关于Profile和Application的排布我感觉并排的感觉并不是十分合适。
从内核的角度来开,profile和Application都是依赖于RW内核来创建任务来调度的。在kernel上同一层没错。
但是Profile的TASK等级比Application的等级高。
下图为Dialog RW kernel的任务类型
/// Tasks types definitionenum KE_TASK_TYPE{ TASK_NONE = 0xFF, // Link Layer Tasks TASK_LLM = 0 , TASK_LLC = 1 , TASK_LLD = 2 , TASK_DBG = 3 , TASK_L2CM = 4 , TASK_L2CC = 5 , TASK_SMPM = 6 , TASK_SMPC = 7 , TASK_ATTM = 8 , // Attribute Protocol Manager Task TASK_ATTC = 9 , // Attribute Protocol Client Task TASK_ATTS = 10 , // Attribute Protocol Server Task TASK_GATTM = 11 , // Generic Attribute Profile Manager Task TASK_GATTC = 12 , // Generic Attribute Profile Controller Task TASK_GAPM = 13 , // Generic Access Profile Manager TASK_GAPC = 14 , // Generic Access Profile Controller TASK_PROXM = 15 , // Proximity Monitor Task TASK_PROXR = 16 , // Proximity Reporter Task TASK_FINDL = 17 , // Find Me Locator Task TASK_FINDT = 18 , // Find Me Target Task TASK_HTPC = 19 , // Health Thermometer Collector Task TASK_HTPT = 20 , // Health Thermometer Sensor Task TASK_ACCEL = 21 , // Accelerometer Sensor Task TASK_BLPS = 22 , // Blood Pressure Sensor Task TASK_BLPC = 23 , // Blood Pressure Collector Task TASK_HRPS = 24 , // Heart Rate Sensor Task TASK_HRPC = 25 , // Heart Rate Collector Task TASK_TIPS = 26 , // Time Server Task TASK_TIPC = 27 , // Time Client Task TASK_DISS = 28 , // Device Information Service Server Task TASK_DISC = 29 , // Device Information Service Client Task TASK_SCPPS = 30 , // Scan Parameter Profile Server Task TASK_SCPPC = 31 , // Scan Parameter Profile Client Task TASK_BASS = 32 , // Battery Service Server Task TASK_BASC = 33 , // Battery Service Client Task TASK_HOGPD = 34 , // HID Device Task TASK_HOGPBH = 35 , // HID Boot Host Task TASK_HOGPRH = 36 , // HID Report Host Task TASK_GLPS = 37 , // Glucose Profile Sensor Task TASK_GLPC = 38 , // Glucose Profile Collector Task TASK_NBPS = 39 , // Nebulizer Profile Server Task TASK_NBPC = 40 , // Nebulizer Profile Client Task TASK_RSCPS = 41 , // Running Speed and Cadence Profile Server Task TASK_RSCPC = 42 , // Running Speed and Cadence Profile Collector Task TASK_CSCPS = 43 , // Cycling Speed and Cadence Profile Server Task TASK_CSCPC = 44 , // Cycling Speed and Cadence Profile Client Task TASK_ANPS = 45 , // Alert Notification Profile Server Task TASK_ANPC = 46 , // Alert Notification Profile Client Task TASK_PASPS = 47 , // Phone Alert Status Profile Server Task TASK_PASPC = 48 , // Phone Alert Status Profile Client Task TASK_LANS = 49 , // Location and Navigation Profile Server Task TASK_APP = 50 , // Do not Alter. TASK_LANC = 51 , // Location and Navigation Profile Client Task TASK_CPPS = 52 , // Cycling Power Profile Server Task TASK_CPPC = 53 , // Cycling Power Profile Client Task // Start of conditionally assigned task types #if (BLE_BM_SERVER) TASK_BMSS , // BMSS Task #endif #if (BLE_BM_CLIENT) TASK_BMSC , // BMSC Task #endif #if BLE_SPOTA_RECEIVER TASK_SPOTAR , // SPOTA Receiver task #endif #if BLE_STREAMDATA_DEVICE TASK_STREAMDATAD , // Stream Data Device Server task #endif #if BLE_STREAMDATA_HOST TASK_STREAMDATAH , // Stream Data Device Server task #endif #if BLE_ANC_CLIENT TASK_ANCC , // ANCS Client Task #endif #if BLE_WPT_CLIENT TASK_WPTC , // A4WP Wireless Power Transfer Client Profile Task #endif #if BLE_WPTS TASK_WPTS , // A4WP Wireless Power Transfer Server Profile Task #endif #if BLE_APP_PTU TASK_APP_PTU , // A4WP Wireless Power Transfer Client App Task #endif #if BLE_IEU TASK_IEU , // Integrated Environmantal Unit Task #endif #if BLE_MPU TASK_MPU , // Motion Processing Unit Task #endif #if BLE_WSS_SERVER TASK_WSSS , // Weight Scale Server Task #endif #if BLE_WSS_COLLECTOR TASK_WSSC , // Weight Scale Collector Task #endif #if BLE_UDS_SERVER TASK_UDSS , // User Data Server Task #endif #if BLE_UDS_CLIENT TASK_UDSC , // User Data Server Task #endif #if BLE_SPS_SERVER TASK_SPS_SERVER , // Serial Proert Service Server Task #endif #if BLE_SPS_CLIENT TASK_SPS_CLIENT , // Serial Proert Service Server Task #endif #if BLE_ADC_NOTIFY TASK_ADC_NOTIFY , // Serial Proert Service Server Task #endif #if BLE_DEVICE_CONFIG TASK_DEVICE_CONFIG , // Serial Proert Service Server Task #endif #if (BLE_BCS_SERVER) TASK_BCSS , // Body Composition Server Task #endif #if (BLE_BCS_CLIENT) TASK_BCSC , // Body Composition Client Task #endif #if (BLE_CTS_SERVER) TASK_CTSS , // Current Time Server Task #endif #if (BLE_CTS_CLIENT) TASK_CTSC , // Current Time Client Task #endif #if BLE_CUSTOM2_SERVER TASK_CUSTS2 , // 2nd Custom profile server #endif #if BLE_CUSTOM1_SERVER TASK_CUSTS1 , // 1st Custom profile server #endif // End of conditionally assigned task types TASK_HCI = 60 , TASK_HCIH = 61 , TASK_GTL = 63 , #if USE_AES TASK_AES = 62 , // Task for asynchronous AES API #endif TASK_MAX = 64, //MAX is 64. Do not exceed. };
可见做多任务数为64个,Profile的任务高于TASK_APP。
实际代码中,Dialog在5.0.4版本的SDK中(其它版本没看过),将所有的Application放在TASK_APP中。
并且专门准备了cust1和cust2给用户开发使用。
这些Application都是基于TASK_APP提供的一些API和服务以及系统原有的底层调用来运行的。
官方5.0.4 SDK PDF说明文档里的这个图会清晰一点。但是实际逻辑还是要看过代码才能理清楚。
阅读全文
0 0
- DA1458x SDK Software Layout 随笔
- SDK(Software Development Kit)
- A Secure Software Distributon SDK
- 什么是SDK? Software Development Kit
- 关于 Agile Software Development 的随笔
- Arduino IDE SDK development SoftWare BootFlow.
- WPF SDK研究 之 Layout布局
- 安卓开发--Layout--布局---SDK(一)
- 安卓开发--Layout--布局---SDK(二)
- 生活随笔:换sdk的惨痛升级
- android随笔20——控件的layout属性
- 微软Xperf Windows Software Development Kit (SDK) for Windows 8.1
- software
- software
- software
- software
- SOFTWARE
- software
- 清除浮动的方法
- 经验风险最小化(Empirical Risk Minization,ERM)
- 机器学习算法与Python实践
- EEPROM、EPROM、FLASH、SRAM、DRAM、SDRAM的区别
- PAT (Basic Level) Practise (中文)1066. 图像过滤(15)
- DA1458x SDK Software Layout 随笔
- ubuntu14.04安装boost1.58.0
- 开始我的微信公众号
- Android 自动调整 TextView 文字大小仅显示一行
- ESP8266--学习笔记(八)串口源码分析
- TextView实现点击部分文字跳转,实现微信朋友圈评论Item的显示效果
- js遍历ajax回调函数返回值中的object对象
- linux下查看java虚拟机(JVM)GC情况
- 二叉树---(3)前序遍历,中序遍历,后序遍历