# m300 **Repository Path**: taj5/m300 ## Basic Information - **Project Name**: m300 - **Description**: hisi sdk dev - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-18 - **Last Updated**: 2025-06-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #### 先决条件: ### 以下操作,均需要在二次开发的专用版本上才能操作! ### 使用开发板版本时,应用不会自启动,搜索IP时,请通过搜索工具使用备份搜索来搜索设备的IP INT HCI_Api_ZHONGWANG_Attr(INT dwType,VoID *nlParame0,VOID *nlParam1) { if(nlParamO == NULL) return -1; int *pstatus =(int*)(intptr t)nlParam0; *pStatus = ANV_Vi_Get_IRCUT_Ctrl_Status(); return *pStatus; } # 1.挂载 其中"192.168.1.X:/home/nfs/lib"根据用户的虚拟机情况自行修改。 在用户虚拟机内的对应路径(如/home/nfs/lib),必须存在以下三个库: - libgo.so //海飞高科web服务 - libplatform.so //海飞高科平台库 - libusrplatform.so //用户平台库 其中 libgo.so libplatform.so为海飞高科提供,也可以从设备中拷出备用,libusrplatform.so 为用户自行开发 ```bash # login the device telnet 192.168.1.10 login:root passwd:hiface123456 # mount the nfs mount -t nfs -o nolock 192.168.1.100:/home/zwht/wuhao/m300 /mnt && export LD_LIBRARY_PATH=/mnt/lib:$LD_LIBRARY_PATH && cd /mnt/build/ ``` # 2.运行程序 方法1:执行/appfs/run_进程启动服务。 注: 现在的模组是自动启动,无需启动, 通过查看/proc/umap/文件夹下是否生成文件 如果有生成则为自动启动 方法2:执行./appfs/sh/xipc_start.sh_ & # 3.程序编译 ```bash make srv #跟踪服务端 make cli #侦测客户端 ``` # 4.其他 opencv库的编译说明 使用cmakelist手动生成makefile ```bash cmake ../opencv-4.9.0/ \ -DCMAKE_C_COMPILER=aarch64-v01c01-linux-gnu-gcc \ -DCMAKE_CXX_COMPILER=aarch64-v01c01-linux-gnu-g++ \ -DOPENCV_FORCE_3RDPARTY_BUILD=ON \ -DBUILD_ZLIB=ON -DWITH_GTK=OFF -DWITH_GTK=OFF \ -DWITH_GTK_2_X=OFF -DWITH_CUDA=OFF -DWITH_IPP=OFF \ -DWITH_OPENCL=OFF -DWITH_OPENCLAMDBLAS=OFF \ -DWITH_QUIRC=OFF -DWITH_OPENCLAMDFFT=OFF \ -DWITH_1394=OFF -DWITH_FFMPEG=OFF -DWITH_WEBP=OFF \ -DWITH_TIFF=OFF -DWITH_OPENEXR=OFF -DWITH_PNG=OFF \ -DWITH_PROTOBUF=OFF -DWITH_GSTREAMER=OFF -DWITH_IMGCODEC_SUNRASTER=OFF \ -DBUILD_SHARED_LIBS=ON -DBUILD_opencv_ts=OFF \ -DBUILD_opencv_shape=OFF -DBUILD_opencv_stitching=OFF \ -DBUILD_opencv_apps=OFF -DBUILD_opencv_calib3d=OFF \ -DBUILD_opencv_dnn=OFF -DBUILD_opencv_features2d=OFF \ -DBUILD_opencv_flann=OFF -DBUILD_opencv_highgui=OFF \ -DBUILD_opencv_ml=OFF -DBUILD_opencv_objdetect=OFF \ -DBUILD_opencv_photo=OFF -DBUILD_opencv_video=OFF \ -DBUILD_opencv_videoio=OFF -DBUILD_opencv_videostab=OFF \ -DBUILD_opencv_world=ON \ -DCMAKE_BUILD_TYPE=RELEASE \ -DCMAKE_INSTALL_PREFIX=../output \ -DCMAKE_CXX_FLAGS="-s -Os" -DCMAKE_C_FLAGS="-s -Os" make -j12 make install DESTDIR=install ``` 使用cmake-gui生成makefile 使用aarch64-gnu toolchain 编译opencv # 5.SDK使用说明 sdk采用函数指针注册后使用的方式开放,具体程序编写在目录 /home/zwht/m400/test_uav_det/Ver2/detr/FM_Maker/板端SDK/板端SDK/hcm-usrplatform 其中部分功能需要通过跨线程的方式和程序进行交互,通信协议如下 ```bash 段头 标志位 数据位 校验位 AA 55 01 data1 data2 data3 data4 FF data1表示反制措施:1 跟踪 2 强光 4 喇叭 8 无人机;data2 是倍率 AA 55 02 data1 data2 data3 data4 FF data1 data2为水平角度,前12位为整数,后4位为小数;data3 data4 前8位为整数,第二字节后4位为小数为垂直角度,第二字节前四字节为正负0为正1为负 AA 55 03 data1 data2 data3 data4 FF data1表示反制目标:1 人 2 无人机 4车辆;data2 data3 data4是距离 mount -t nfs -o nolock 192.168.1.100:/home/zwht/m400/test_uav_det/Ver2/detr /mnt cp /mnt/FM_Maker/boardSDK/SDK/hcm-usrplatform/libusrplatform.so /date/lib/ ``` # 6.串口测试 串口助手使用picocom开源程序,使用方法为Ctrl+a+其他键, 具体按键方法为按住ctrl不松手,按下a键再按其他键位,然后松开ctrl Ctrl+a+h 帮助菜单 Ctrl+a+w 发送二进制数据 Ctrl+a+x 退出 ## 测试热成像 AMA4是热成像控制接口,波特率为115200 ```bash cd /mnt/data ./picocom --imap spchex,tabhex,crhex,lfhex,nrmhex,8bithex -b 115200 /dev/ttyAMA4 设置3.3v 55 43 49 12 00 10 10 47 00 01 00 00 00 00 00 00 00 00 00 00 00 4C 35 设置1.8v 55 43 49 12 00 10 10 47 00 00 00 00 00 00 00 00 00 00 00 00 00 39 36 外同步 开:55 43 49 12 00 10 10 4B 00 01 00 00 00 00 00 00 00 00 00 00 00 82 23 关:55 43 49 12 00 10 10 4B 00 00 00 00 00 00 00 00 00 00 00 00 00 F7 20 热成像颜色 热黑 55 43 49 12 00 10 03 45 00 00 0A 00 00 00 00 00 00 00 00 00 00 69 6F 热白 55 43 49 12 00 10 03 45 00 00 00 00 00 00 00 00 00 00 00 00 00 54 6D 保存 55 43 49 12 00 10 10 51 00 00 00 00 00 00 00 00 00 00 00 00 00 A9 FB 重置 55 43 49 12 00 10 10 52 00 00 00 00 00 00 00 00 00 00 00 00 00 0A 76 ``` # 7.固件封装 进入/home/zwht/m400/hiface3519/RE_develop_firm文件夹下 ```shell ├── date │ ├── lib │ └── src ├── HiFace_PacketTool ├── packettool_config_usrplatform.xml │ ``` HiFace_PacketTool是用于生成固件在工具生成方法为打开终端输入 ```bash ./HiFace_PacketTool packettool_config_usrplatform.xml ``` 具体内容在packettool_config_usrplatform.xml 硬件平台类型 老机芯22,老模组23 新机芯34,新模组33 需要增加文件,请增加item 例子: ```bash ./date/lib/libhi_mpi.so /date/lib/libhi_mpi.so ``` 注意!!!!! 请不要带有空格或者回车,会影响固件的生成 删除文件则在进入相机后 rm 文件名 即可 程序烧入后请先设置环境变量 ```bash export LD_LIBRARY_PATH=/date/lib:$LD_LIBRARY_PATH ``` ## 程序自启动 ### 方法一 在项目目录下 ```bash cd FM_Maker/boardSDK/SDK/hcm-usrplatform/hcm_usrplatform_lib.c ``` 编写程序 hcm_usrplatform_lib.c 成动态库 libusrplatform.so 使用开线程或者新进程 放入模组或机芯的 /date/lib 文件夹下 ### 方法二 创建 usrsoft.sh脚本 将脚本放入模组或机芯的 /date 文件夹下 启动时 sleep 20 秒 再启动