adb logcat 查询过滤日志

Logcat 命令行工具

Logcat 是一个命令行工具,用于转储系统消息日志,包括设备抛出错误时的堆栈轨迹,以及从你的应用使用 Log 类写入的消息。

日志标记

  • 日志消息的标记是一个简短的字符串,指示消息所源自的系统组件(例如,“View”表示视图系统)。

日志级别

  • 优先级是以下字符值之一(按照从最低到最高优先级的顺序排列):
  • V:详细(最低优先级)
  • D:调试
  • I:信息
  • W:警告
  • E:错误
  • F:严重错误
  • S:静默(最高优先级,绝不会输出任何内容)

日志过滤

1.按关键字过滤

C51中断关键字interrupt using

8051中断介绍

8051 系列 MCU 的基本结构包括:

  • 32 个 I/O 口(4 组8 bit 端口);
  • 两个16 位定时计数器;全双工串行通信;
  • 6 个中断源(2 个外部中断、2 个定时/计数器中断、1 个串口输入/输出中断),两级中断优先级;
  • 128 字节内置RAM;
  • 独立的 64K 字节可寻址数据和代码区。

中断

中断发生后,MCU 转到 5 个中断入口处之一,然后执行相应的中断服务处理程序。

LVGL移植

获取LVGL图形库

https://github.com/lvgl/lvgl

也可以克隆它或从 GitHub 下载最新版本的库。

1
git clone https://github.com/lvgl/lvgl

图形库本身是 lvgl 目录,应将其复制到你的项目中。

获取显示和输入设备驱动程序

https://github.com/lvgl/lv_drivers

修改配置文件

有一个名为 lv_conf.h 的 LVGL 配置头文件。在这里,你可以设置库的基本行为、禁用未使用的模块和功能、在编译时调整内存缓冲区的大小等。

深入分析FreeDos -- FreeCom编译

DOS的交互命令工具是COMMAND,FreeDos用的是开源的FreeCom

编译此版本还需要TASM汇编软件:TASM

由于版本较老,在Windows XP下执行MakeFile,编译后不能正常运行(可能与我环境有关)。

深入分析FreeDos -- COM文件加载与执行

现在已经走到了执行第一个任务的地方了,如下

1
2
3
4
main()
      |-->init_kernel()
      |
      |-->kernel() -> p_0() -> DosExec(..."COMMAND.COM"...)

官方给出的COMMAND.COM是FreeCom,FreeCom有些复杂,既然我们研究的是COM文件加载执行,何不选择一个较小的COM文件,岂不更方便?

深入分析FreeDos -- Kernel初始化

KERNAL.asm跳转到Main.c中的main函数,下面代码可读性就很强了,跟踪代码的执行流程应该不是难事。

我想说的是,kernel定义了很多全局变量,掌握了这些变量的用处,理解kernel基本上就没什么障碍了。

深入分析FreeDos -- KERNEL.ASM

终于开始KERNEL代码分析了

这一节关注KERNEL.ASM文件,如前一节所述,KERNEL.ASM代码主要目的就是将INIT段copy 到内存高处,跳转到高处的INIT段执行,旧的INIT段被用作内核数据区和Stack区。