首页 > 编程语言 >【星闪开发连载】SLE_UUID_Server和SLE_UUID_Client程序测试

【星闪开发连载】SLE_UUID_Server和SLE_UUID_Client程序测试

时间:2024-10-09 09:53:05浏览次数:13  
标签:10 27 06 UUID 19 verify Server 2024 SLE

引言

前一篇博文介绍了SLE_UUID_Server和SLE_UUID_Client程序的基本结构,这篇介绍如何进行测试,从而实现两块星闪开发板之间的连接。

服务器的构建

在sdk根目录下(即src目录)打开集成终端台,执行 python build.py -c ws63-liteos-app menuconfig 命令,会出现选择弹窗。menuconfig这种方式是Linux及很多操作系统使用的配置方式。

15dab22e90ce4f328bd80ae13735c0fb.png

选择路径“Application/Enable Sample/Enable the Sample of BT/SLE Sample”,如果选择编译server端,选中“support SLE_UUID_SERVER Sample”;如果选择编译client端,选中“support SLE_UUID_CLIENT Sample”。客户端例子和服务器例子是互斥的。BLE例子和SLE例子是互斥的。需要准备两块开发板,选择不同的编译选项,烧录不同的镜像。此次海思的评测提供了两块开发板,一个是单独的开发板,另一个是个套件。可以把单独的开发板当做服务器,而套件用作客户端,因为可以在客户端上采集数据或者显示结果。

331f38600c4c4898958aa7c14a4d4abf.png

按S键保存配置后,此时会提示保存路径,直接确认即可。

b8504b8cf94544d2b8b2429874748e3a.png

保存配置并退出menuconfig后,选择“工程|重新构建”。然后经过漫长的编译和链接就生成了镜像。

在HiSpark Studio工具中点击“工程配置”按钮,选择“程序加载”,就可以将镜像烧写到服务器中。

客户端的构建

客户端的构建和服务器差不多。只是在menuconfig中选中“support SLE_UUID_CLIENT Sample”。

ebfddbceb6244b8680a12645faa8db0f.png

保存配置后,必须选择“工程|重新构建”。如果选择构建是不行的,仍然生成服务器程序。

其他步骤和服务器相同,不赘述了。

测试结果

接下来就是给两块板加电进行测试了。先启动客户端还是服务器是无所谓的,因为客户端一直在查找服务器,如果服务器后启动,客户端会立刻连接上。下面的测试结果是先启动服务器,后启动客户端得到的。

服务器侧

从串口工具看,服务器的日志如下。

boot.
Flash Init Fail! ret = 0x80001341
verify_public_rootkey secure verify disable!
verify_params_key_area secure verify disable!
verify_params_area_info secure verify disable!
verify_image_key_area secure verify disable!
verify_image_code_info secure verify disable!
SSB Uart Init Succ!
SSB Flash Init Succ!
verify_image_key_area secure verify disable!
verify_image_code_info secure verify disable!
Flashboot Uart Init Succ!
Flashboot Malloc Init Succ!
Flash Init Succ!
No need to fix SR!
flashboot version : 1.10.101
[UPG] upgrade init OK!
No need to upgrade...
flash_encrypt disable.
verify_image_key_area secure verify disable!
verify_image_code_info secure verify disable!
APP|Debug uart init succ.
[UPG] upgrade init OK!
APP|init_dev_addr, mac_addr:0x26,0x 0,0x73,0xe1,0x**,0x**,
xo_trim_temp_comp val:0 0
APP|AT uart init succ.
los_at_plt_cmd_register EXCUTE
APP|WARNING: main_initialise::thread[11] func is null
cpu 0 entering scheduler
                        APP|btc open
[RADAR_LOG] alg ctrl read from nv [1][2][0][0][1][1][20]
device_main_init: 0!
===hal_initialize_phy===225===
device_module_init:: succ!
cali_set_cali_mask:old[0x0] -> new[0x1fa2]

fe_rf_initialize
cali_offline_cali_entry enter
cali_set_cali_done_flag:old[0x0] -> new[0x1]

rf cali OK. time cost:23, ret:0
[ACore] sle enable cbk in, result:0
sle enable
[uuid server] sle uuid add service in
[uuid server] sle uuid add service, server_id:1, service_handle:1, property_handle:2
[uuid server] start service cbk server_id:1, handle:1, status:0
[uuid server] sle uuid add service out
sle_uuid_server_adv_init in
[ACore] sle set announce param, handle:1, mode:3, min_interval:c8, max_interval:c8, tx_power: 0
[ACore] sle set announce param, own addr:0x00:**:**:**:00:00
[ACore] sle set announce param, peer addr:0x00:**:**:**:00:00
set adv data default
local_name[0] = 0x73
local_name[1] = 0x6c
local_name[2] = 0x65
local_name[3] = 0x5f
local_name[4] = 0x75
local_name[5] = 0x75
local_name[6] = 0x69
local_name[7] = 0x64
local_name[8] = 0x5f
local_name[9] = 0x73
local_name[10] = 0x65
local_name[11] = 0x72
local_name[12] = 0x76
local_name[13] = 0x65
local_name[14] = 0x72
local_name[15] = 0xff
local_name[16] = 0x37
local_name[17] = 0xbe
local_name[18] = 0xa8
local_name[19] = 0x80
local_name[20] = 0xfc
local_name[21] = 0x70
local_name[22] = 0x11
local_name[23] = 0xea
local_name[24] = 0xb7
local_name[25] = 0x20
[SLE DD SDK] set announce data success.[ACore] sle start announce in, adv_id:1
[ACore] sle adv cbk in, event:0 status:0
[ACore] sle adv cbk in, event:1 status:0
[ACore] sle adv cbk in, event:2 status:0
[ACore] sle adv cbk in, event:3 status:0
sle announce enable id:01, state:00
sle_uuid_server_adv_init out
[uuid server] init ok
APP|Hello world!
xo update temp:4,diff:0,xo:0x3083c
APP|[SYS INFO] mem: used:90016, free:274004; log: drop/all[0/0], at_recv 0.

其中的“Hello world!” 是我们在第一次测试时加上的,和SLE无关。从日志看,服务器启动后会立即发送广播信息。

一旦客户端连接上服务器,会打印如下信息。

[Connected]
addr:ee:**:**:**:8d:5c, handle:00
[ACore] sle adv cbk in, event:7 status:0
[uuid server] connect state changed conn_id:0x00, conn_state:0x1, pair_state:0x1,         disc_reason:0x0
[uuid server] connect state changed addr:ee:**:**:**:8d:5c
sle announce terminal id:01
[uuid server] pair complete conn_id:00, status:0
[uuid server] pair complete addr:ee:**:**:**:8d:5c
[uuid server] ssaps write request cbk server_id:0, conn_id:0, mtu_size:12c, status:0
[uuid server] ssaps write request cbk server_id:1, conn_id:0, handle:1, status:0
[uuid server] ssaps read request cbk server_id:1, conn_id:0, handle:1, status:0
APP|[SYS INFO] mem: used:91108, free:272912; log: drop/all[0/0], at_recv 0.

从日志可以看到客户端的信息。

如果断开客户端,服务器的日志如下。


[Disconnected]
addr:ee:**:**:**:8d:5c, handle:00
[uuid server] connect state changed conn_id:0x00, conn_state:0x2, pair_state:0x3,         disc_reason:0x7
[uuid server] connect state changed addr:ee:**:**:**:8d:5c
APP|[SYS INFO] mem: used:90028, free:273992; log: drop/all[0/0], at_recv 0.

 由于手上只有两块开发板,无法测试多客户端的情况。

客户端侧

从串口工具看,客户端的日志如下。

2024-10-06 19:27:42:781 -> boot.
2024-10-06 19:27:42:831 -> Flash Init Fail! ret = 0x80001341
2024-10-06 19:27:42:838 -> verify_public_rootkey secure verify disable!
2024-10-06 19:27:42:839 -> verify_params_key_area secure verify disable!
2024-10-06 19:27:42:843 -> verify_params_area_info secure verify disable!
2024-10-06 19:27:42:846 -> verify_image_key_area secure verify disable!
2024-10-06 19:27:42:853 -> verify_image_code_info secure verify disable!
2024-10-06 19:27:42:921 -> SSB Uart Init Succ!
2024-10-06 19:27:42:923 -> SSB Flash Init Succ!
2024-10-06 19:27:42:926 -> verify_image_key_area secure verify disable!
2024-10-06 19:27:42:927 -> verify_image_code_info secure verify disable!
2024-10-06 19:27:42:959 -> Flashboot Uart Init Succ!
2024-10-06 19:27:42:960 -> Flashboot Malloc Init Succ!
2024-10-06 19:27:42:960 -> Flash Init Succ!
2024-10-06 19:27:42:960 -> No need to fix SR!
2024-10-06 19:27:42:960 -> flashboot version : 1.10.101
2024-10-06 19:27:42:960 -> [UPG] upgrade init OK!
2024-10-06 19:27:42:977 -> No need to upgrade...
2024-10-06 19:27:42:978 -> flash_encrypt disable.
2024-10-06 19:27:42:978 -> verify_image_key_area secure verify disable!
2024-10-06 19:27:42:978 -> verify_image_code_info secure verify disable!
2024-10-06 19:27:43:389 -> APP|Debug uart init succ.
2024-10-06 19:27:43:392 -> [UPG] upgrade init OK!
2024-10-06 19:27:43:400 -> APP|init_dev_addr, mac_addr:0x 0,0x16,0x3e,0x2b,0x**,0x**,
2024-10-06 19:27:43:401 -> xo_trim_temp_comp val:0 0
2024-10-06 19:27:43:407 -> APP|AT uart init succ.
2024-10-06 19:27:43:409 -> los_at_plt_cmd_register EXCUTE
2024-10-06 19:27:43:413 -> APP|WARNING: main_initialise::thread[11] func is null
2024-10-06 19:27:43:482 -> cpu 0 entering scheduler
APP|btc open
2024-10-06 19:27:43:490 -> [RADAR_LOG] alg ctrl read from nv [1][2][0][0][1][1][20]
2024-10-06 19:27:43:490 -> device_main_init: 0!
2024-10-06 19:27:43:490 -> ===hal_initialize_phy===225===
2024-10-06 19:27:43:509 -> device_module_init:: succ!
2024-10-06 19:27:43:513 -> cali_set_cali_mask:old[0x0] -> new[0x1fa2]
2024-10-06 19:27:43:513 -> fe_rf_initialize
2024-10-06 19:27:43:513 -> cali_offline_cali_entry enter
2024-10-06 19:27:43:534 -> cali_set_cali_done_flag:old[0x0] -> new[0x1]
2024-10-06 19:27:43:534 -> rf cali OK. time cost:23, ret:0
2024-10-06 19:27:43:534 -> [ACore] sle enable cbk in, result:0
2024-10-06 19:27:43:534 -> sle enable
2024-10-06 19:27:43:565 -> [adv_report] event_type: 0x03, addr_type: 0x0000, addr: 00:**:**:**:00:00
2024-10-06 19:27:43:567 -> [adv_report] data length: 6, data: 0x02 0x01 0x01 0x02 0x02 0x00
2024-10-06 19:27:43:624 -> [Connected]
2024-10-06 19:27:43:626 -> addr:00:**:**:**:00:00, handle:00
2024-10-06 19:27:43:927 -> [ssap client] conn state changed conn_id:0, addr:00***0000
[ssap client] conn state changed disc_reason:0x0
[ssap client] pair complete conn_id:0, addr:00***0000
ssapc exchange info, conn_id:0, err_code:0
2024-10-06 19:27:43:953 -> [ssap client] pair complete client id:0 status:0
[ssap client] exchange mtu, mtu size: 300, version: 1.
discovery character cbk complete in
2024-10-06 19:27:43:966 -> [ssap client] find structure cbk client: 0 conn_id:0 status: 0 
[ssap client] find structure start_hdl:[0x01], end_hdl:[0x02], uuid len:2
2024-10-06 19:27:43:997 -> [ssap client] structure uuid:[0xcd][0xab]
2024-10-06 19:27:44:040 -> [ssap client] find structure cmp cbk client id:0 status:0 type:1 uuid len:0 
2024-10-06 19:27:44:042 -> [ssap client] find structure cmp cbk structure uuid[0]:[0x00]
2024-10-06 19:27:44:042 -> [ssap client] find structure cmp cbk structure uuid[1]:[0x00]
2024-10-06 19:27:44:043 -> [ssap client] find structure cmp cbk structure uuid[2]:[0x00]
2024-10-06 19:27:44:058 -> [ssap client] find structure cmp cbk structure uuid[3]:[0x00]
2024-10-06 19:27:44:059 -> [ssap client] find structurructure cmp cbk structure uuid[5]:[0x00]
2024-10-06 19:27:44:059 -> [ssap client] find structure cmp cbk structure uuid[6]:[0x00]
2024-10-06 19:27:44:059 -> [ssap client] find structure cmp cbk structure uuid[7]:[0x00]
2024-10-06 19:27:44:059 -> [ssap client] find structure cmp cbk structure uuid[8]:[0x00]
2024-10-06 19:27:44:065 -> [ssap client] find structd[9]:[0x00]
2024-10-06 19:27:44:102 -> [ssap client] find structure cmp cbk structure uuidcture cmp cbk structure uuid[15]ssapc write rsp handle:1
2024-10-06 19:27:44:105 -> [sle write_req_complete_cbk]conn_id:0, err_code:0
2024-10-06 19:27:44:127 -> [ssap client] write cfm cbk, client id: 0 status:0.
ssapc read rsp handle:0, data len:4
2024-10-06 19:27:44:144 -> [ssap client] read cfm cbk client id: 0 conn id: 0 status: 0
[ssap client] read cfm cbk handle: 0, type: 10 , len: 4
[ssap client] read cfm cbk[0] 0x11
2024-10-06 19:27:44:536 -> [ssap client] read cfm cbk[1] 0x22APP|Hello world!
2024-10-06 19:27:47:411 -> xo update temp:4,diff:0,xo:0x3083c
2024-10-06 19:27:54:538 -> APP|[SYS INFO] mem: used:90472, free:273468; log: drop/all[0/0], at_recv 0.
2024-10-06 19:28:04:521 -> APP|[SYS INFO] mem: used:90416, free:273524; log: drop/all[0/0], at_recv 0.
2024-10-06 19:28:14:526 -> APP|[SYS INFO] mem: used:90472, free:273468; log: drop/all[0/0], at_recv 0.
2024-10-06 19:28:24:527 -> APP|[SYS INFO] mem: used:90480, free:273460; log: drop/all[0/0], at_recv 0.
2024-10-06 19:28:34:840 -> APP|[SYS INFO] mem: used:90408, free:273532; log: drop/all[0/0], at_recv 0.
2024-10-06 19:28:44:682 -> APP|[SYS INFO] mem: used:90464, free:273476; log: drop/all[0/0], at_recv 0.
2024-10-06 19:28:54:520 -> APP|[SYS INFO] mem: used:90408, free:273532; log: drop/all[0/0], at_recv 0.
2024-10-06 19:29:04:521 -> APP|[SYS INFO] mem: used:90472, free:273468; log: drop/all[0/0], at_recv 0.

从日志可以看到,客户端和服务器成功配对。有了日志,再看程序的逻辑就容易了。

 

标签:10,27,06,UUID,19,verify,Server,2024,SLE
From: https://blog.csdn.net/bit_mike/article/details/142730590

相关文章

  • Revit Server的注意要配置说明
    可以执行多项检查来验证RevitServer是否正常运行或确定问题的原因:确认IIS管理器中显示以下服务(“开始”—>“运行intemgr”):   AdminService####(这构成列出的三个RevitServerAdministrator服务之一)。   LocalService####(这负责Accelerator功能)。   ModelSe......
  • 错误消息:#2002 - Can't connect to local MySQL server through socket '/tmp/mysql.s
    错误消息:#2002-Can'tconnecttolocalMySQLserverthroughsocket'/tmp/mysql.sock'(2)原因:数据库服务未启动。连接参数错误。解决方法:检查数据库服务:确认MySQL服务是否正常运行。sudoservicemysqlstatus检查连接参数:确认连接参数(主机名、用......
  • MSSQL远程连接(Microsoft SQL Server)
    本篇远程连接说明,旨在学习记录入门级连接局域网服务器的方法。1.学习环境:局域网2.学习软件:MSSQL3.远程连接记录  前置:打开控制面板-程序-程序和功能-打开或关闭windows功能,Telnet客户端,Telnet服务器,TelNetPC组件必须勾选 (1)首先看一下服务器的MSSQL的数据库属性,连接......
  • GraphQL、sequelize-typescript 、Apollo Server 4 实例
    新建项目文件夹$mkdirdemo$cddemo初始化TypeScript配置$npxtsc--init安装SequelizeSequelize-cli$npminstall--save-dev@types/node@types/validator$npminstallsequelizereflect-metadatasequelize-typescript$npminstall--save-devts-node......
  • mysql 连接失败:message from server: "Host 'xx.xxx' is not allowed to connect to t
    前言mysql连接失败:messagefromserver:"Host'192.168.xx.xxx'isnotallowedtoconnecttothisMySQLserver"解决错误信息表明你尝试从IP地址192.168.xx.xxx连接到MySQL服务器,但是该IP地址没有被授权连接权限。为了解决这个问题,你需要确保你的MySQL用户权......
  • Migrate SQL Server to AWS & Azure & Huawei Cloud
    MigrateSQLServertoAWSMicrosoftSQLServerAlwaysOnavailabilitygroupsprovideahighavailability(HA)anddisasterrecovery(DR)solutionforSQLServer.Anavailabilitygroupconsistsofaprimaryreplicathatacceptsread/writetraffic,andup......
  • Kettle: pentaho-server-ce-9.4 : ERROR [SchemaUpdate] could not get database metad
    PENTAHO-SERVER-CE-9.4+MYSQL8.0.35+JDK1.8:启动提示日志内容(部分): UsingCATALINA_BASE:"D:\Programs\pentaho-server\tomcat"UsingCATALINA_HOME:"D:\Programs\pentaho-server\tomcat"UsingCATALINA_TMPDIR:"D:\Programs\pentaho-......
  • SQL Server 2022 RTM Cumulative Update #15 发布下载
    SQLServer2022RTMCumulativeUpdate#15发布下载最新的累积更新(CU)下载,包含自SQLServer2022RTM发布以来的所有更新。请访问原文链接:https://sysin.org/blog/sql-server-2022/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgSQLServer20222022年11......
  • SQLServer常用近百条SQL语句(收藏版)
    1.sqlserver查看实例级别的信息,使用SERVERPROPERTY函数selectSERVERPROPERTY('propertyname')2.查看实例级别的某个参数XX的配置select*fromsys.configurationswherename='XX'3.更改实例级别的某个参数XX的值sp_configure'XX','0'RECONFIGUREWITHOVERRIDE......
  • Idea启动SpringBoot程序报错:Veb server failed to start. Port 8082 was already in u
    目录Idea启动SpringBoot程序报错:Vebserverfailedtostart.Port8082wasalreadyinuse一、解决办法1、查找占用端口的进程2、结束进程①在任务管理器中终结指定pid的进程②在命令提示符中结束进程 3、重新启动项目4、对于macOS和Linux系统二、博主亲历三、为......