内核调试
木木总裁
车载BSP
手机BSP
展开
-
Linux驱动调试-根据oops定位错误代码行(一)
1.当驱动有误时,比如,访问的内存地址是非法的,便会打印一大串的oops出来 1.1以LED驱动为例 将open()函数里的ioremap()屏蔽掉,直接使用物理地址的GPIOF,如下图所示: 1.2然后编译装载26th_segmentfault并执行测试程序后,内核便打印了oops出来,如下图所示: 2.接下来,我们便来分析oops: Unable to han...原创 2019-06-04 12:36:45 · 495 阅读 · 0 评论 -
Linux驱动调试-根据oops的栈信息,确定函数调用过程(二)
继续上一章https://blog.csdn.net/ll148305879/article/details/90766784来讲 1.上章的oops栈信息如下图所示: 9fe0:代表最初的栈顶SP寄存器位置 9e80:代表函数出错的SP寄存器位置 2.我们先来分析上图的栈信息,又是怎样的过程呢? 2.1内核主要是通过STMDB和LDMIA汇编命令来入栈和出栈 (STMDB和L...原创 2019-06-04 12:37:57 · 194 阅读 · 0 评论 -
Ubuntu18.04安装arm-linux-gcc交叉编译工具(附arm-linux-gcc 5.4.0包)
Ubuntu18.04安装arm-linux-gcc交叉编译工具(附arm-linux-gcc 5.4.0包) 一、下载arm-linux-gcc 5.4.0包 下载(百度云)链接:https://pan.baidu.com/s/1AeqzkboWkJDJjU9HxtXhrA 提取码:uzup 二、在/usr/local目录下新建arm文件夹,并且给予最高权限后进入新建的文件目录里...转载 2019-07-02 15:21:29 · 1890 阅读 · 1 评论