自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 资源 (4)
  • 收藏
  • 关注

原创 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 592

原创 Linux 并发与竞态(一)原子操作atomtic

文章目录 1.什么是原子操作?目的是什么? 2.原子操作函数: 整型原子操作 位原子操作 3.原子操作【实例代码】 1. 定义原子变量2.在 open 函数里检测原子变量值 3.在退出时 close 函数 恢复原子变量值 4. 应用程序测试 1.什么是原子操作?目的是什么?atomic原子操作:“不可被中断的一个或一系列操作”同一时刻,多个线程要么不执行这段代码,要么将这段代码全部...

2019-08-08 18:47:29 404

转载 Linux调试之(六)strace命令查找进程卡死原因

strace命令查找进程卡死原因转载:https://blog.csdn.net/jctian000/article/details/80695025strace -i a.out通过strace -i ./a.out定位出core dump的地址, 然后通过addr2line来定位出对应的代码行https://linux.cn/article-3935-1.html[taoge@loc...

2019-08-07 15:47:05 1623

原创 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 832

原创 CSDN Markdown使用详解

CSDN Markdown使用详解如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。1 .功能快捷键撤销: Ctrl + Z重做: Ctrl + Y加粗: Ctrl + B斜体: Ctrl + I标题: Ctrl + Shift + H无序列表:Ctrl + Shift + U (* / -)...

2019-08-07 11:32:54 294

原创 Sourceinsight扩展宏

文章目录Sourceinsight扩展宏1、Source insight 和插件下载2、安装3、指定快捷键4、使用宏Sourceinsight扩展宏最近接触的一个公司好友,从华为出来,在华为工作了有10多年,从事的是嵌入式相关的工作,再细分下来就是芯片的加速算法,跟这个大牛讨论后知道自己以前的学习是多肤浅,而这个《source insight扩展宏使用》用到的是一个quicker.em也是华为...

2019-08-07 11:28:44 422

原创 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 183

原创 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 4159

原创 Linux调试之(三)addr2line+vmlinux

文章目录Linux调试之(三)addr2line+vmlinux【1】 addr2line位置【2】addr2line使用1.说明是空指针造成的错误2.寄存器信息主要是PC的值3.addr2line定位错误Linux调试之(三)addr2line+vmlinuxaddr2line可以将出错代码地址转转换成代码所在文件所在行。【1】 addr2line位置./prebuilts/gcc/l...

2019-08-07 10:55:45 3922 2

原创 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 3364

原创 Linux调试之(一)内核动态打印

文章目录Linux动态打印的两种方式一、驱动使用module_param_named方法**1.驱动添加代码:2.打开动态打印二、系统动态打印【1】配置Kconfig【2】配置Makefile【3】配置内核,使支持动态调试【4】编译加载【5】控制端动态修改打印级别(1)修改系统的打印级别(2)修改局部动态打印Linux动态打印的两种方式https://blog.csdn.net/u010481...

2019-08-07 10:27:07 1854

原创 Bootloader传参数到Kernel

Bootloader传参数到Kernel本文章大量参考引用:【写代码的篮球球痴】Bootloader传参数到Kernel一、bootloader基本概述Bootloader是嵌入式系统的引导加载程序,它是系统上电后运行的第一段程序,所以他的地址一般是0x0000000,其作用类似于PC机上的BIOS。Bootloader是依赖于硬件而实现的,特别是在嵌入式领域,为嵌入式系统建立一个通用的Bo...

2019-08-02 10:53:01 672

CSDN Markdown语法.ynt

你好! 这是你第一次使用 **Markdown编辑器** 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。

2019-08-01

rk3399固件烧录指导.docx

1. 未烧录过固件,上电,进入MASKROM模式(研1板 初始状态) 2. 烧录过固件,按住recover按键上电或复位,系统将进入LOADER固件烧写模式,此模式下可烧写包括loader在内的所有固件。(或者串口运行 reboot boot loader 或者adb reboot bootloader) 运行AndroidTool后 看到如下的界面:

2019-08-01

Android5.0-7.0开机使用静态IP方法(1).txt

android rk3399平台出现系统出现动态IP获取失败,因此通过修改framework改为静态IP.

2019-08-01

Android xx模块设计文档.docx

你好! 这是你第一次使用 **Markdown编辑器** 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。

2019-08-01

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除