海思3516A开发板调试整理(三)

第六部分 设备休眠

第一节 Linux休眠唤醒

设备休眠模式,是指设备通过固定的操作,或手动或自动地进入省电模式,挂起或者冻结程序、外设甚至cpu,从而进入一种待机状态,使设备在这种待机状态下尽可能少地消耗电量和功耗,从而满足家用手持设备对待机时长的性能要求。设备在进入休眠状态之后需要能够通过固定的操作进行唤醒,这个唤醒操作使设备能快速地恢复到休眠之前的状态,并正常工作。

首先,关于省电模式,Linux内核支持三种省电模式:standbySTR(suspendto ram)STD(suspendtodisk),几乎所有的方案都只支持STR模式(也有同时支持standby模式的),但是在使用电池供电的手持设备时,由于STD模式需要有交换分区的支持,而我们的嵌入式设备一般文件系统中是不提供交换分区的,所以这类设备上的Linux都没有支持STD省电模式。在设备中如果已经有对电源管理PM模块的支持,我们就可以查看设备支持的省电模式类型,查看方法是输入命令“cat/sys/power/state”

先从内核设置开始说起,关于内核的配置,在整个调测过程中是以海思Hi3516AV100R001C01SPC030SDK提供的内核版本为基础,内核版本号是3.4.35,内核源码中有提供默认的配置文件:hi3516a_full_defconfig,在menuconfig中查看powermanagement options,配置中电源管理配置默认是打开的,其子项的配置如下图所示:


6-1海思3516A电源管理配置


从以上配置我们可以看到,挂起方式支持RAMstandby两种方式。除此之外,配置默认打开了snapshot快照功能,HiberanationSTD功能和DEBUG相关的功能。所以我们默认的休眠模式至少支持STRstandby两种方式,这里STD模式虽然打开了,但是由于对交换分区的限制,该功能是否能正常使用,我在后面有做调测和分析。

在如图示的配置中,PowerManagement DebugSupport功能被打开,这个配置被打开之后在系统的/sys/power目录下会多出一个pm_test文件,catpm_test后,列出的测试选项有:[none]core processors platform devicesfreezer。这里有六个参数,代表pm调试的六个级别,跟踪Linux内核里面的相关代码,我发现这六个参数代表了系统挂起的六个阶段,所以,我们可以通过设置这个参数来分别对每一阶段的挂起操作进行调试查看。其中,freezer是级别最低的,none是表示不进行pm_test,也就是完成所有的挂起操作。

有了以上内核的配置支持之后,我们就可以进行简单的休眠唤醒调试了,只要在系统中输入两条命令即可:

  1. echoplatform > /sys/power/pm_test

  2. echomem > /sys/power/state

表示设置采用STR的方式进行休眠,休眠到platform阶段为止,后面的休眠操作不再进行。输入命令之后在设备终端是可以看到相关的操作流程的打印信息的。


第二节 休眠流程

下图为目前内核代码中的休眠的流程:

6-2</

<think>好的,我现在需要帮助用户解决关于海思SDK HIPQTools环境搭建的问题。用户的具体需求包括工具准备、添加未支持的sensor(如sc2210)、运行ITTP_Stream预览实时图像、用户程序图像输出方法,以及使用HiIspTool.sh和StartControl.sh脚本连接PC和开发板进行ISP参数配置和图像质量调试。 首先,我需要回顾用户提供的引用内容,特别是引用[1]、[2]、[3]中的信息。这些引用提到了Hi3516CV500_PQ_V2.0.2.1目录下的文件结构,包括HiIspTool.sh、StartControl.sh、configs、libs等,还有如何在板端加载驱动、修改配置文件,以及如何通过PC端工具进行调试。同时,用户提到需要添加未支持的sensor,比如sc2210,这可能涉及创建新的配置文件,并确保动态库正确。 接下来,我需要整理搭建环境的步骤。根据引用[3],板端操作包括加载内核模块、修改配置文件、挂载目录、设置环境变量,并运行脚本启动相关进程。PC端则需要使用ITTP_Stream进行预览,以及使用HiPQTool进行参数设置。添加新sensor可能需要复制现有配置文件(比如sc2231)并修改相关参数,同时可能需要编译或获取对应的库文件。 需要注意的是,用户可能遇到的常见问题包括驱动加载失败、配置文件路径错误、环境变量设置不当、网络连接问题,以及sensor动态库缺失。这些需要在步骤中提前提醒用户,并给出解决方法。 然后,我要确保回答结构清晰,分步骤讲解,每个步骤包含必要的命令和操作说明。同时,引用相关的引用内容,如引用[1]说明HiIspTool.sh的用法,引用[3]提到如何修改UseMode的值和挂载目录。还要确保使用正确的中文表达,避免技术术语错误。 最后,生成相关问题,帮助用户进一步了解可能遇到的扩展问题,比如如何验证sensor驱动是否正常,如何调试图像异常等。这些问题需要基于搭建环境过程中的关键点来设计,确保用户能够全面掌握整个流程。</think>### 海思SDK HIPQTools环境搭建教程 #### 一、工具准备 1. **基础环境**: - 开发板Hi3516CV500系列或其他兼容型号 - PC端:Windows系统(需安装ITTP_Stream_V5.1.2点播工具和HiPQTool) - 网络:确保PC与开发板通过网线直连,IP地址在同一网段(如192.168.31.x)[^3] 2. **文件准备**: - 获取海思SDK包(如`Hi3516CV500_PQ_V2.0.2.1`),包含以下关键文件: - `HiIspTool.sh`:板端ISP控制脚本 - `StartControl.sh`:单独启动HiPQTool的脚本 - `configs/`:传感器配置文件目录 - `libs/`:传感器动态库目录[^1] --- #### 二、添加未支持的Sensor(以SC2210为例) 1. **配置文件创建**: ```bash # 在configs目录下复制现有传感器模板(如sc2231) cd /opt/Hi3516CV500_PQ_V2.0.2.1/configs cp -r sc2231 sc2210 ``` - 修改`sc2210/config_entry.ini`: ```ini [Sensor] SensorName = sc2210 # 修改传感器名称 UseMode = 2 # 启用调试模式[^3] ``` 2. **动态库集成**: - 将`sc2210`的驱动库(如`libsc2210.so`)放入`libs/`目录 - 验证动态库依赖: ```bash ldd libs/libsc2210.so # 检查是否存在未解析符号 ``` --- #### 、板端操作流程 1. **加载内核模块**: ```bash ./load3518ev300 -i -sensor0 sc2210 -osmem 32 # 根据实际平台修改加载参数[^3] ``` 2. **挂载PQ目录**: ```bash mount -t nfs 192.168.31.194:/home/HiSDK /home/nfs -o nolock cd /home/nfs/Hi3516CV500_PQ_V2.0.2.1 ``` 3. **启动ISP服务**: ```bash # 设置动态库路径 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(pwd)/libs # 启动传感器控制 ./HiIspTool.sh -a sc2210 ./configs/sc2210 # 输出"ittb_stream run success!"即成功[^1] ``` --- #### 四、PC端操作 1. **图像预览**: - 打开ITTP_Stream工具,选择开发板IP地址 - 点击"Connect"获取实时码流(需确保`ittb_stream`进程正常运行)[^2] 2. **ISP参数调试**: - 运行HiPQTool,通过`StartControl.sh`建立连接 - 修改以下参数实现画质优化: ```ini [ImageTuning] ; 调整对比度 ContrastLevel = 3 ; 降噪强度 NoiseReduction = 2 ``` --- #### 五、用户程序图像输出 1. **码流获取**: - 检查编码模块状态: ```bash cat /proc/umap/venc # 确认编码通道工作正常[^3] ``` - 通过`ITTP_Stream`的"Record"功能保存原始码流 2. **自定义输出**: - 修改`config_entry.ini`的`OutputPath`字段指定存储路径 - 使用`ffmpeg`进行格式转换: ```bash ffmpeg -i input.h264 -c:v libx264 output.mp4 ``` --- #### 常见问题排查 | 现象 | 解决方法 | |------|----------| | ITTP_Stream无法连接 | 检查防火墙设置,确认`ittb_stream`进程存在 | | 动态库加载失败 | 执行`export LD_LIBRARY_PATH=$PWD/libs`显式指定路径 | | 图像花屏 | 检查sensor时钟配置和MIPI信号质量 |
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值