logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Linux内核调试方法总结

一  调试前的准备二  内核中的bug三  内核调试配置选项1  内核配置2  调试原子操作四  引发bug并打印信息1  BUG()和BUG_ON()2  dump_stack()五  printk()1  printk函数的健壮性2  printk函数脆弱之处3  LOG等级4  记录缓冲区5  syslogd/klogd6  dmesg

Linux内核调试方法总结

一  调试前的准备二  内核中的bug三  内核调试配置选项1  内核配置2  调试原子操作四  引发bug并打印信息1  BUG()和BUG_ON()2  dump_stack()五  printk()1  printk函数的健壮性2  printk函数脆弱之处3  LOG等级4  记录缓冲区5  syslogd/klogd6  dmesg

linux内核空间与用户空间信息交互方法

本文作者:康华:计算机硕士,主要从事Linux操作系统内核、Linux技术标准、计算机安全、软件测试等领域的研究与开发工作,现就职于信息产业部软件与集成电路促进中心所属的MII-HPLinux软件实验室。如果需要可以联系通过kanghua151@msn.com联系他。 摘要:在进行设备驱动程序,内核功能模块等系统级开发时,通常需要在内核和用户程序之间交换信息。Linux提供了多种

LINUX内核调试相关--oops信息的定位

一个简单的linux crackme的逆向 前言     最不喜欢的就是写破解教程,酒后一时冲动,老夫卿发少年狂,许下将写一篇linux平台逆向的文章的诺言,作此文实非颇不得已。    在此申明:本文在技术上非常初级,并没有用到什么高深的技术,本人水平亦有限,如有差错,还请见谅!     开始之前的准备     正如C语言教程从 hello world 开始,我

linux内核的oops信息

Oops可看成是内核级(特权级)的Segmentation Fault。一般应用程序(用户级)如进行了内存的非法访问(地址不合法、无权限访问、……)或执行了非法指令,则会得到Segfault信号,一般对应的行为是coredump,应用程序也可以自行获取Segfault信号进行处理,而内核出错则是打印出Oops信息。    内核打印Oops信息的执行流程:   1、do_page_fault

Linux内核中ioremap映射的透彻理解

几乎每一种外设都是通过读写设备上的寄存器来进行的,通常包括控制寄存器、状态寄存器和数据寄存器三大类,外设的寄存器通常被连续地编址。根据CPU体系结构的不同,CPU对IO端口的编址方式有两种:  (1)I/O映射方式(I/O-mapped)  典型地,如X86处理器为外设专门实现了一个单独的地址空间,称为"I/O地址空间"或者"I/O端口空间",CPU通过专门的I/O指令(如X86的

U-Boot与Linux内核的交互

U-BOOT 在启动内核时,会向内核传递一些参数.BootLoader 可以通过两种方法传递参数给内核,一种是旧的参数结构方式(parameter_struct),主要是 2.6 之前的内核使用的方式。另外一种就是现在的 2.6内核在用的参数链表 (tagged list) 方式。这些参数主要包括,系统的根设备标志,页面大小,内存的起始地址和大小,RAMDISK的起始地址和大小,压缩的RAMDIS

linux内核启动过程分析

文件linux/arch/arm/boot/compressed/head.S是linux内核启动过程执行的第一个文件。  .alignstart:  .type start,#function  #function //type指定start这个符号是函数类型  .rept 8   //重复8次 mov r0, r0,  mov r0, r0 //空操作,让前面所取指令得以执

U-boot mkimage指定Linux内核地址时的两种方式

http://blog.csdn.net/embededswordman/article/details/6704197uImage的制作是使用的u-boot工具mkimage,build完u-boot后也会将mkimage build出來到/tools目录下,可以直接拿來用,它的作用就是在zImage的前面加上64个字节的头,让u-boot能够识别要加载内核的类型、加载地址等。

linux内核模块编程

主题: linux内核模块的程序结构--模块加载函数(必须),模块卸载函数(必须),模块许可证声明(必须),模块参数(可选),模块导出符号(可选),模块作者的等信息声明(可选)一个linux内核模块主要由以下几个部分组成。1、模块加载函数"用module_init()来指定"(必须)   当通过insmod和modprobe命令加载内核模块时,模块的加载函数会自动被内核执行,完成本

    共 58 条
  • 1
  • 2
  • 3
  • 6
  • 请选择