logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Trace32 simulator调试以及简单实用命令介绍

Trace32 Simulator debug熟悉高通平台的童鞋可能会比较熟悉,高通有ramdump功能,当系统crash后通过warm reset重启来抓取ram中的数据,然后利用Trace32进行故障现场的查看来排查问题。这实际上用到的就是trace32的simulator功能,也就是仿真器功能,我们只需要获取到设备的内存快照来进行指令集的仿真,以此查看故障现场,而不用真实的连接目标板来实时.

gcc支持的C语言标准(-std选项)

gcc支持多种版本的C标准,比如C90(ISO1990)、C99(ISO 1999)和C11(ISO2011),除此之外,GCC还会支持一些GCC特有的扩展。分别是:gnu89/gnu90: ISO C90 + GCC extensiongnu99: ISO C99 + GCC extensiongnu11: ISO C11 + GCC extension支持的C语言标准可以使用-s...

Linux cma内存的使用

CMA的全称叫做contiguous memory allocator,它是为了便于进行连续物理内存申请的一块区域,一般我们把这块区域定义为reserved-memory。早期的Linux内核中没有cma的实现,如果驱动想要申请一个大块的物理连续内存,那么只能通过预留专属内存的形式,然后在驱动中使用ioremap来映射后作为私有内存使用。这样带来的后果就是有一部分内存将被预留出来不能作为系统中的.

crash常用的调试命令

我的crash常用命令如下所示:log/dmesg: 打印出故障现场的kmsg缓冲区log_buf中的内容。struct:展示结构体的定义,或者从指定的地址开始解析一个结构体。union:与struct类似,但是用于union的展示p:print查看某个变量的值,实际上是调用gdb的p命令whatis:展示结构体、联合体等定义bt <pid>:展示调用堆栈信息,如果不加参数...

Trace - 一文读懂tracepoint

tracepoint是Linux内核静态定义的一些调试点,它分布于内核的各个子系统中,然而在实际工作中可能很多人并没有用过这个功能,或者对它没有太多了解,那么就通过本文一起来了解下tracepoint吧。tracepoint是内核预先定义的静态探测点,可以用于挂载钩子函数来做trace。当没有钩子函数时,它几乎没有损耗,只有挂载了钩子函数才会真正启用trace功能。这个钩子函数可以由开发者编写内核

浅谈虚拟交换机(vswitch)技术演进

虚拟化环境中,对于网络的连接有多种方式,以KVM为例,我们平时在使用libvirt或者qemu创建虚拟机时,可以选择NAT网络连接和bridge桥接网络连接。首先来调查一下这二者的实现区别是什么。基础虚拟网络桥接网卡首先来看下网卡桥接的连接方式,它相当于虚拟机和宿主机共用同一块物理网卡,虚拟机具有独立的IP地址,并且与宿主机所在网络处于同一个局域网,就相当于局域网中多了一台普通机器,可以直接访问局

Linux hugepage如何配置和使用

为什么要使用hugepagehugepage也就是所谓的大页,为什么要使用它,自然是有它的一些优势,比如它所占用的page table entry较少,从而提高了页面查找的效率,tlb命中率也更高。另外hugepage相当于是预留了一块内存给特定用途使用,是不受系统内存管理子系统的影响,不能被swap出去,从而使用它的性能也就更佳。cmdline预留内存hugepage是预留的一部分内存用于大页面

watchdog分析(高通平台)

看门狗是一个定时器,它存在的主要目的是防止CPU跑飞导致的无法恢复的问题。它的原理是,设定一个定时时间,然后启动定时器,CPU定时去重设看门狗定时器,当定时器到期后,会直接输出信号给CPU,这个信号可以是一个CPU上的中断引脚,也可以直接输出给CPU的RST引脚。当看门狗定时器输出的信号给到CPU的中断时,CPU一般需要以最高优先级去处理该中断,在中断处理程序中执行恢复或者重启操作;当看门狗定时.

systemd启动流程分析

systemd启动过程systemd启动时会默认启动default.target配置,并且递归的处理它的依赖关系,一般这个配置为graphical.target 或者 multi-user.target。第一种会启动图形界面,第二种会启动多用户字符模式。下图是关键服务配置的启动依赖:下面将简单介绍启动中的4个关键步骤:第一步systemd 执行默认target 配置,配置文件/etc/system

Linux内核中的时间函数

ktime时间函数基于ktime_t格式的时间ktime_t ktime_get(void);获取基于CLOCK_MONOTONIC的当前时间,返回ktime_t格式的数据类型。ktime_t ktime_get_boottime(void);获取基于CLOCK_BOOTTIME的当前时间,返回ktime_t格式的数据类型。ktime_t ktime_get_real(void...

    共 40 条
  • 1
  • 2
  • 3
  • 4
  • 请选择