内核
Linux 内核
DADA2ndTIAN
这个作者很懒,什么都没留下…
展开
-
ubuntu 14.04安装交叉编译工具GCC 2.95.3(一)编译环境搭建
文章目录编译环境搭建安装 GCC 3.4下载deb 包安装配置gcc 版本编译环境搭建1、sudo apt-get install ncurses-dev2、sudo apt-get install bison3、sudo apt-get install flex4、sudo apt-get install build-essential安装 GCC 3.4修改gcc版本,默认是(Ubuntu 4.8.4-2ubuntu1~14.04.4)的,这个版本太高了,改为3.4.6的下载deb 包原创 2021-07-18 18:23:27 · 610 阅读 · 0 评论 -
menuconfig 如何撤销输入
make menuconfig有时需要修改数值,可以按着Ctrl+<–(ctrl加退格键 即可删除)原创 2021-04-20 08:00:26 · 350 阅读 · 0 评论 -
linux 新增一个模块的kconfig&makefile 配置步骤
1.在你的源文件目录中kconfig 文件,添加config_**配置, 如下config HELLO_MODULEtristate “hello-tristate”default yhelpthis is help test这样当make menuconfig时 ,将会出现 hello-tristate选项。你可以根据需要选择不同的config类型不同类型的效果如下在源文件目录中makefile 文件中添加如下内容:obj-$(CONFIG_HELLO_MODULE) += h转载 2020-06-03 17:59:09 · 677 阅读 · 0 评论 -
一次linux死锁问题的调试
系统环境内核配置:单核单cpu,禁抢占,内核版本linux4.1.15问题描述读取sys节点无法返回,系统没有报panic 等ops 信息,这个现象和死锁比较像,打开内核lockdep 配置来检测调试:如下图,打开这些检测。来进行定位好了,运行后重新操作一遍果然打印出来信息:[ 223.052568] mm ERR line = 869 mm_read_data_and_r...原创 2020-02-08 09:44:14 · 1775 阅读 · 0 评论 -
RCU操作
基本RCU操作对于reader,RCU的操作包括:(1)rcu_read_lock,用来标识RCU read side临界区的开始。(2)rcu_dereference,该接口用来获取RCU protected pointer。reader要访问RCU保护的共享数据,当然要获取RCU protected pointer,然后通过该指针进行dereference的操作。(3)rcu_read...原创 2020-01-03 18:40:19 · 626 阅读 · 0 评论 -
Read/Write spinlock工作原理
加锁的逻辑:(1)假设临界区内没有任何的thread,这时候任何read thread或者write thread可以进入,但是只能是其一。(2)假设临界区内有一个read thread,这时候新来的read thread可以任意进入,但是write thread不可以进入(3)假设临界区内有一个write thread,这时候任何的read thread或者write thread都不可以...原创 2020-01-03 18:38:30 · 207 阅读 · 0 评论 -
down,down_interruptible与down_trylock区别
不可获得信号时,down_interruptible会进入休眠状态,而down_trylock永不会休眠,而是立即返回非零值,down则一直等待原创 2020-01-03 18:37:14 · 1199 阅读 · 0 评论 -
什么是可重入函数
什么是可重入函数?可以被中断的函数,可以在这个函数执行的任何时刻中断它,转入OS调度下去执行另外一段代码,而返回控制时不会出现什么错误...原创 2020-01-03 18:36:02 · 409 阅读 · 0 评论 -
linux spin lock 几点注意
被自旋锁保护的临界区代码执行时不能睡眠。单核处理器下,获取到锁的线程睡眠,若恰好此时CPU调度的另一个执行线程也需要获取这个锁,则会造成死锁;多核处理器下,若想获取锁的线程在同一个处理器下,同样会造成死锁,若位于另外的处理器,则会长时间占用CPU等待睡眠的线程释放锁,从而浪费CPU资源。若中断服务程序也要获得锁,则被自旋锁保护的临界区代码执行时不能被其他中断打断。原因同上类似。被自旋锁保护的...原创 2020-01-03 18:34:01 · 161 阅读 · 0 评论 -
LINUX 进程管理 之 wait()
文章目录wait() 函数:转自http://www.bubuko.com/infodetail-2752650.htmlwait() 函数:进程调用 exit() 退出执行后,被设置为僵死状态,这时父进程可以通过 wait4() 系统调用查询子进程是否终结,之后再进行最后的操作,彻底删除进程所占用的内存资源。 wait4() 系统调用由 linux 内核实现,linux 系统通常提供了 w...转载 2019-07-11 13:54:46 · 464 阅读 · 0 评论 -
Linux系统调用具体解释(怎样从用户空间进入内核空间)
文章目录Linux系统调用具体解释(怎样从用户空间进入内核空间)系统调用概述Linux下系统调用的实现转自 :https://www.cnblogs.com/wzjhoutai/p/6927874.htmlLinux系统调用具体解释(怎样从用户空间进入内核空间)系统调用概述计算机系统的各种硬件资源是有限的,在现代多任务操作系统上同一时候执行的多个进程都须要訪问这些资源,为了更好的管理这些资...转载 2019-07-03 17:05:19 · 896 阅读 · 0 评论 -
嵌入式+ARM+Linux启动流程
bootloader 翻译为 (第一阶段)引导装入程序bootstrap loader 翻译为 第二阶段引导装入程序bootloader不用多解释都能理解–上电后执行的第一个程序,它绝对不会依赖内核。比如uboot、vivibootstrap,第二阶段引导装入程序,属于内核代码(没有被编译进vmlinux,但是可执行的镜像如zImage中含有bootstrap ),充当bootloader和...转载 2019-11-14 11:09:24 · 241 阅读 · 0 评论 -
NMI -- 不可屏蔽中断
NMI (Non Maskable Interrupt)——不可屏蔽中断(即CPU不能屏蔽)无论状态寄存器中 IF 位的状态如何,CPU收到有效的NMI必须进行响应;NMI是上升沿有效;中断类型号固定为2;它在被响应时无中断响应周期.不可屏蔽中断通常用于故障处理(如:协处理器运算出错,存储器校验出错,I/O通道校验出错等).IF = Interrupt Flag(中断状态)在DSP等学习中N...转载 2019-12-19 14:17:52 · 9098 阅读 · 0 评论