4. Alios 指令集使用¶
4.1. 系统信息¶
4.1.1. help¶
该命令将打印 alios 所有命令列表并简要描述每个命令的作用。
--> help --> ================ AliOS Things Command List ============== --> help : print this --> reboot : reboot system --> proc_codec : codec info --> proc_rc : rc info --> proc_jpege : jpeg encode info --> proc_h264e : h264 encode info --> proc_h265e : h265 encode info --> proc_venc : venc info --> proc_vdec : vdec info --> proc_ai : audio info --> proc_ao : ao info --> proc_mipi_rx : proc mipi rx
4.1.2. reboot¶
重启 alios 系统,Linux 系统也会随之重启。
4.1.3. ccs¶
- console cli console show,用于显示命令台界面内容。
--> ccs --> -------- console show ----------- --> id name att --> 1 cli-uart 0 c
4.1.4. sysver¶
- 显示系统 kernel 版本。
--> sysver --> kernel version :12000
4.1.5. time¶
- 显示系统启动运动到现在的毫秒数。
--> time --> UP time 263888 ms
4.1.6. msleep¶
以毫秒时间休眠。系统休眠 2000ms 后重启。
--> msleep 2000 --> #系统休眠2000ms后重启
4.1.7. f¶
- 表示运行一个函数(f 后需要跟函数名)。
--> f --> para error
4.1.8. devname¶
- 打印板端设备的名称。该设备是 cv181xc 系列的 evb 板。
--> devname --> device name: cv181xc_evb
4.1.9. err2cli¶
- 系统从 panic 状态转换到控制台。
--> err2cli 0 --> set panic_runto_cli flag:0x0 --> err2cli 1 --> set panic_runto_cli flag:0x21314916
4.2. 进程信息¶
4.2.1. 多媒体进程¶
4.2.1.1. proc_vb¶
该指令用于记录当前 VB 模块的 buffer 使用情况(VB: Video Block)。
4.2.1.2. proc_sys¶
该指令用来记录当前 SYS 模块的使用情况。
4.2.1.3. proc_vi_dbg¶
该指令用来打印 vi 进程的 debug 信息。
4.2.1.4. proc_vi¶
该指令记录当前视频输入设备及信道的属性配置以及状态信息。
模块参数:
VI MODE (VI模式)
VI DEV ATTR1 (VI设备特征)
VI DEV ATTR2 (VI设备特征)
VI BIND ATTR (VI关联特征)
VI DEV TIMING ATTR (VI时间特征)
VI CHN ATTR1 (VI通道特征)
VI CHN OUTPUT RESOLUTION (VI通道输出分辨率)
VI CHN ROTATE INFO (VI通道旋转信息)
VI CHN EARLY INTERRUPT INFO (VI通道中断信息)
VI CHN CROP INFO (VI通道裁剪信息)
VI CHN STATUS (VI通道状态)
4.2.1.5. proc_gdc¶
该指令用于记录 GDC 模块最近完成的若干任务、最近耗时最大的任务及历史累计信息。
4.2.1.6. proc_mipi_rx¶
该指令用于显示 mipi_rx 进程的信息。
4.2.1.7. proc_vo¶
该指令用于记录当前 VO 的使用状况及其属性配置,包含设备状态、视频层状态和通道状态。
用于动态获取 VO 的使用状态以调试测试。
4.2.1.8. proc_rgn¶
该指令用于记录当前区域资源信息。
4.2.1.9. proc_codec¶
该指令用于显示编码器与解码器的信息。
4.2.1.10. proc_vdec¶
该指令用于显示视频解码器的信息。
4.2.1.11. proc_rc¶
该指令用于显示当前编码码率控制信息。
4.2.1.12. proc_jpege¶
该指令用于显示 JPEG 编码过程中各通道编码属性状态。
4.2.1.13. proc_h264e¶
该指令用于显示 H.264 视频编码属性配置以及状态信息。
4.2.1.14. proc_h265e¶
该指令用于显示 H.265 视频编码属性配置以及状态信息。
4.2.1.15. proc_venc¶
该指令用于显示当前视频编码属性配置以及状态信息。
4.2.1.16. testMedia_switch_pipeline¶
该指令用于测试媒体切换 pipeline。
4.2.1.17. testMedia_video_Deinit¶
该指令用于测试媒体视频资源释放。
4.2.1.18. testMedia_video_init¶
该指令用于测试媒体视频初始化。
4.2.1.19. dump_isp_pqgram¶
该指令用于显示 dump_isp 参数信息。
4.2.1.20. proc_log¶
该指令用于显示当前各个模块的调试级别。
4.2.2. ipcm 进程¶
4.2.2.1. ipcm_dbg¶
该指令用于打印大小核间通信调试信息。
4.2.2.2. ipcm_dbg pool_info¶
该指令用于显示大小核通信 buffer 池使用情况。
4.2.2.3. ipcm_dbg log0_on¶
该指令用于打开 ipcm 的第一个调试日志。
4.2.2.4. ipcm_dbg log0_off¶
该指令用于关闭 ipcm 的第一个调试日志。
4.2.2.5. ipcm_dbg logall_on¶
该指令用于打开 ipcm 的所有调试日志。
4.2.2.6. ipcm_dbg logall_off¶
该指令用于关闭 ipcm 的所有调试日志。
4.2.3. 进程整体信息¶
4.2.3.1. tasklist¶
该指令用于打印进程列表。
- ::
- –> tasklist
–> ——————————————————————————– –> Name ID State Prio StackSize MinFreesize Runtime Candidate –> ——————————————————————————– –> dyn_mem_proc_task 1 PEND 6 4096 3368 1031 N –> idle_task 2 RDY 61 4288 3720 141756526 N –> DEFAULT-WORKQUEUE 3 PEND 20 4096 3432 153 N –> timer_task 4 PEND 30 3840 3112 58990 N –> cpu_stats 5 SLP 60 2640 2016 50717 N –> app_task 6 SLP 32 8192 4168 206587 N –> cli-uart 7 RDY 60 8192 6392 444838 Y –> heartbeat 8 SLP 27 1024 400 62195 N –> _isp_post_thread 9 PEND 17 4096 3344 164 N –> cvitask_isp_pre 10 PEND 17 4096 2896 117 N –> cvitask_isp_err 11 PEND 17 4096 3344 118 N –> gdc_job_worker 12 PEND 17 4096 3200 58340 N –> MediaMsg 13 PEND 16 103424 101416 45291 N –> workq_thread 14 PEND 22 4096 3344 56578 N –> workq_thread 15 PEND 22 4096 3344 35171 N –> workq_thread 16 PEND 22 4096 3344 24530 N –> workq_thread 17 PEND 22 4096 3344 38924 N –> anon proc 18 PEND 32 8192 7504 14625 N –> ——————————————————————————–
Name 是task名称
ID 是taskID
State 是task现在状态
Prio 指的是优先级
StackSize 指的是栈空间M
inFreesize 指的是最小自由块大小
Runtime 指的是运行时间
4.2.3.2. taskbt¶
该指令用于通过 task ID 查看任务的调用栈信息。
- ::
- –> taskbt
–> task_btn <taskname>
- –> taskbt 6
–> task name : app_task –> ========== Call stack ========== –> backtrace : 0x8220150A –> backtrace : 0x822EFD16 –> backtrace : 0x82220822 –> backtrace : ^task entry^ –> ========== End ==========
- –> taskbt 7
–> task name : cli-uart –> ========== Call stack ========== –> backtrace : 0x823FC1C0 –> Status of task is ‘Running’, Can not backtrace! –> ========== End ==========
4.2.3.3. taskbtn¶
该指令用于通过 task Name 查看任务的调用栈信息。
--> taskbtn --> task_btn <taskname> --> taskbtn cli-uart --> ========== Call stack ========== --> backtrace : 0x8221CD40 --> Status of task is 'Running', Can not backtrace! --> ========== End ========== --> taskbtn app_task --> ========== Call stack ========== --> backtrace : 0x8220150A --> backtrace : 0x822EFD16 --> backtrace : 0x82220822 --> backtrace : ^task entry^ --> ========== End ==========
参数:
Name: 任务名称
ID: 任务 ID
State: 任务现在状态
Priorio: 优先级
StackSize: 栈空间
MinFreesize: 最小自由块大小
Runtime: 运行时间
4.2.4. CPU 信息¶
4.2.4.1. cpuusage¶
该指令用于查看 CPU 使用率,会进行实时更新。
--> cpuusage --> ----------------------- --> CPU usage : 0.17% --> --------------------------- --> Name %CPU --> --------------------------- --> dyn_mem_proc_task 0.00 --> idle_task 99.83 --> DEFAULT-WORKQUEUE 0.00 --> timer_task 0.00 --> cpu_stats 0.00 --> app_task 0.00 --> cli-uart 0.00 --> heartbeat 0.00 --> _isp_post_thread 0.00 --> cvitask_isp_pre 0.00 --> cvitask_isp_err 0.00 --> gdc_job_worker 0.00 --> MediaMsg 0.00 --> workq_thread 0.00 --> workq_thread 0.00 --> workq_thread 0.00 --> workq_thread 0.00 --> anon proc 0.00 --> cpuusage 0.16 --> ---------------------------
4.3. 内存信息¶
4.3.1. 查看内存信息¶
4.3.1.1. p¶
- 该指令用于打印物理内存内容。
- ::
- –> p
–> p <addr> <nunits> <width> –> addr : address to display –> nunits: number of units to display (default is 16) –> width : width of unit, 1/2/4 (default is 4)
p<addr> <nunits> <width>
--> p 0x80000000 64 2 --> 0x80000000: 0433 0005 84b3 0005 0933 0006 00ef 59c0 --> 0x80000010: 0833 0005 0533 0004 85b3 0004 0633 0009 --> 0x80000020: 58fd 0463 0118 1d63 0b05 0817 0000 0813 --> 0x80000030: 3c68 4885 282f 0118 1463 0a08 0297 0000 --> 0x80000040: 8293 3c42 0317 0000 0313 fbc3 b023 0062 --> 0x80000050: 0297 0000 8293 3b82 b283 0002 03b3 4053 --> 0x80000060: 0e17 0000 0e13 388e 3023 007e 6297 0001 --> 0x80000070: 8293 4342 7317 0001 0313 4943 8363 0662
4.3.1.2. p _offcheck¶
该指令用于打印物理内存内容,但是不进行内存地址合理性检查
- ::
- –> p 0x800000
–> p <addr> <nunits> <width> –> addr : address to display –> nunits: number of units to display (default is 16) –> width : width of unit, 1/2/4 (default is 4) –> –> #使用p打印非法地址,会提示打印p打印物理地址的用法,使用p_offcheck 打印非法地址会陷入dump状态。 –> (0x82402410): 0x20202020 0x20202020 0x19191919 0x19191919 –> (0x82402420): 0x18181818 0x18181818 0x09090909 0x09090909 –> (0x82402430): 0x08080808 0x08080808 0x8221FCCC 0x00000000 –> !!!!!!!!!! dump end !!!!!!!!!!
4.3.2. 修改内存信息¶
4.3.2.1. m¶
该指令用于修改物理内存内容。
- ::
- –> m
–> m <addr> <value> <width> –> addr : address to modify –> value : new value (default is 0) –> width : width of unit, 1/2/4 (default is 4)
![]()
第一个参数:物理地址
第二个参数:要修改的 新数值 (不填写,默认修改为0)
第三个参数:修改的字节个数(可选项为 1/2/4 ,不填写,默认修改4个字节)
左侧 m 0x80000000 1 4 指的是将 0x80000000 地址内容修改4Byte修改的新数值为1,
修改后该地址处内容由00050433修改为00000001
4.3.3. 内存调试信息¶
4.3.3.1. ddumpsys¶
该指令用于显示系统调试信息。
4.3.3.2. dumpsys mm¶
该指令用于显示系统调试内存信息。
--> dumpsys mm --> --------------------------------------------------------------------------- --> [HEAP]| TotalSz | FreeSz | UsedSz | MinFreeSz | MaxFreeBlkSz | --> | 0x005066C0 | 0x004AE580 | 0x00058140 | 0x004AE100 | 0x004AE580 | --> --------------------------------------------------------------------------- --> --------------------------------------------------------------------------- --> [HEAP]| TotalSz | FreeSz | UsedSz | MinFreeSz | MaxFreeBlkSz | --> | 0x015A0000 | 0x00E3BCC0 | 0x00764340 | 0x00E3BCC0 | 0x00E3BCC0 | --> ---------------------------------------------------------------------------
4.3.3.3. dumpsys mm_info¶
该指令用于显示alios内存分区信息。
4.3.3.4. dumpsys mm_info_resv¶
- 该指令用于显示alios resv分区内存信息。
4.3.3.5. mmlk¶
- 该指令用于显示内存泄漏信息。
- ::
- –> mmlk
–> memory leak chec—————–All new alloced blocks:—————- –> Blk_Addr Stat Len Chk Caller Point –> ————–New alloced blocks info ends.————- –> —————–All new alloced blocks:—————- –> Blk_Addr Stat Len Chk Caller Point –> ————–New alloced blocks info ends.————- –> k start. –> Add tag 1 when malloc
4.4. 调试信息¶
4.4.1. debug¶
该指令用于显示系统 debug 信息,包括堆栈信息、任务列表、信号量以及锁的等待情况。