
LINUX 内核驱动
小半の夏
这个作者很懒,什么都没留下…
展开
-
Bootloader传参数到Kernel
Bootloader传参数到Kernel本文章大量参考引用:【写代码的篮球球痴】Bootloader传参数到Kernel一、bootloader基本概述Bootloader是嵌入式系统的引导加载程序,它是系统上电后运行的第一段程序,所以他的地址一般是0x0000000,其作用类似于PC机上的BIOS。Bootloader是依赖于硬件而实现的,特别是在嵌入式领域,为嵌入式系统建立一个通用的Bo...原创 2019-08-02 10:53:01 · 758 阅读 · 0 评论 -
Linux 并发与竞态(一)原子操作atomtic
文章目录 1.什么是原子操作?目的是什么? 2.原子操作函数: 整型原子操作 位原子操作 3.原子操作【实例代码】 1. 定义原子变量2.在 open 函数里检测原子变量值 3.在退出时 close 函数 恢复原子变量值 4. 应用程序测试 1.什么是原子操作?目的是什么?atomic原子操作:“不可被中断的一个或一系列操作”同一时刻,多个线程要么不执行这段代码,要么将这段代码全部...原创 2019-08-08 18:47:29 · 571 阅读 · 0 评论 -
Linux调试之(一)内核动态打印
文章目录Linux动态打印的两种方式一、驱动使用module_param_named方法**1.驱动添加代码:2.打开动态打印二、系统动态打印【1】配置Kconfig【2】配置Makefile【3】配置内核,使支持动态调试【4】编译加载【5】控制端动态修改打印级别(1)修改系统的打印级别(2)修改局部动态打印Linux动态打印的两种方式https://blog.youkuaiyun.com/u010481...原创 2019-08-07 10:27:07 · 2265 阅读 · 0 评论 -
Linux调试之(二)gdb+vmlinux
文章目录Linux调试之(二)gdb+vmlinux【1】定位arm-eabi-gdb 和 vmlinux【2】gdb加载内核符号表1.查看内核符号表2.执行arm-eabi-gdb vmlinux3.输入 list*(函数名+函数内偏移) 即可查看特定位置的代码,定位问题。【3】gdb调试基本命令Linux调试之(二)gdb+vmlinux运行linux内核,难免会遇到oops崩溃问题,如...原创 2019-08-07 10:45:25 · 3872 阅读 · 0 评论 -
Linux调试之(四)objdump+vmlinux
文章目录Linux调试之(四)objdump+vmlinux1.空指针代码hello.c2. 编译&安装模块3.objdump 反汇编分析4. objdump总结Linux调试之(四)objdump+vmlinux1.空指针代码hello.c#include <linux/module.h> #include <linux/init.h> #includ...原创 2019-08-07 11:15:35 · 4555 阅读 · 0 评论 -
GIT操作指南
文章目录GIT操作指南:(0)安装和配置(1)创建一个自己的版本库(2)向这个代码仓库加代码(3)同步其他分支的某个文件(4) 打包项目源码(5) 打补丁(6)查看历史分支图GIT操作指南:(0)安装和配置#sudo apt-get install git#sudo apt-get install git-doc git-svn git-email git-gui gitk如果是第一次...原创 2019-08-07 11:19:59 · 225 阅读 · 0 评论 -
Sourceinsight扩展宏
文章目录Sourceinsight扩展宏1、Source insight 和插件下载2、安装3、指定快捷键4、使用宏Sourceinsight扩展宏最近接触的一个公司好友,从华为出来,在华为工作了有10多年,从事的是嵌入式相关的工作,再细分下来就是芯片的加速算法,跟这个大牛讨论后知道自己以前的学习是多肤浅,而这个《source insight扩展宏使用》用到的是一个quicker.em也是华为...原创 2019-08-07 11:28:44 · 515 阅读 · 0 评论 -
Linux调试之(五)gdb调试coredump
文章目录1.什么是core文件?2.怎样配置生成 core 文件(1)core文件开关(2)core文件命名和保存路径3.调试core文件(1)test.c(2)编译(3)gdb调试①gdb [exec file] [core file] 然后执行bt看堆栈信息:① gdb -c [core file],然后 file [exec file],最后再使用 bt 查看错误位置1.什么是core文件...原创 2019-08-07 15:02:23 · 1146 阅读 · 0 评论 -
Tinyalsa框架之(一)声卡和PCM的创建
xxx.probleinit.ccontrol.cdevice.ccore.hsound.cpcm.cxxx.probesnd_card_createsnd_ctl_createsnd_device_new(SNDRV_DEV_PCM,&ops)snd_ctl_dev_registersnd_register_device(SNDRV_DEVICE_TYPE_CONTROL,&sn...原创 2019-08-26 11:46:52 · 675 阅读 · 0 评论