自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

转载 linux下多线程之pthread_detach(pthread_self())

写个碰到的问题,记录下自己的技术之路点滴pthread_detach(pthread_self())linux线程执行和windows不同,pthread有两种状态joinable状态和unjoinable状态,如果线程是joinable状态,当线程函数自己返回退出时或pthread_exit时都不会释放线程所占用堆栈和线程描述符(总计8K多)。只有当你调用了pthread_join之

2018-01-31 10:22:38 268

转载 rootfs根文件系统

一、下载并解压根文件系统的源码,进入根文件系统目录二、配置BusyBox1、修改Makefile文件        vim  Makefile         CROSS_COMPILE = arm-linux-         ARCH   =    arm2、.配置编译选项     make   menuconfigBusybox Setting

2018-01-23 10:47:57 1034

原创 rk3128系统&驱动开发分享——(五)xbin执行文件添加

驱动开发过程中经常需要写一些测试代码程序,可以在驱动中添加测试代码,然后应用层调用。也可以直接应用层写程序来测试。这里介绍添加可执行c程序到system/xbin目录下并且直接通过make系统源码就可以自动添加打包到系统中的方法。android系统源码external目录下新建helloworld文件夹。helloworld目录下新建hellowrold.c和Android.mk文件。

2018-01-22 14:28:38 1093

原创 linux应用基础编程及优化调试

1、多线程及同步linux多线程api:pthread_equal 、 pthread_self 、 pthread_create 、 pthread_exit 、pthread_join、pthread_cancel、pthread_cleanup_push、pthread_cleanup_pop、pthread_detach、pthread_mutex_init、pthread_mut

2018-01-17 11:17:05 208

原创 linux系统介绍及驱动子系统介绍

一、驱动分类linux驱动一般分类方式为字符设备驱动、块设备驱动、网络设备驱动。字符设备驱动采用字节流访问方式,如按键、串口、触摸屏、spi外设等。块驱动如U盘、SD卡、nanflash等。块设备驱动需要mount挂载然后才能访问。二、驱动加载及设备访问linux驱动加载分为动态加载和静态加载。动态加载即是驱动编译成.ko,通过insmod加载驱动。静态加载时编译到

2018-01-12 14:55:11 3779

原创 Linux内核驱动调试方法

一、问题发现问题发现可根据系统运行时查询/proc信息(/proc是伪文件系统,主要提供一些系统信息),例如查询/proc/meminfo查询内存信息,也可采用一些内存检查工具来检测。还可以根据系统运行崩溃发现问题。二、调试方法1、内核调试选项配置Kernel hacking下有选型配置,可以打开一些调试相关的然后编译内核。Kernel leak相关配置打开时,可在文件系统

2018-01-11 15:04:00 951

转载 Linux内核内存泄漏工具使用

1. 内核添加内存泄漏功能选项       kernel memory leak detector       kernel debugging       memory leak debugging       Compile kernel with debug info       通过make menuconfig 进入配置选项界面进入kernel h

2018-01-11 13:49:40 711

原创 ARM硬件接口及总线介绍

ARM总线架构:分高速总线和低速总线,类似pc机的南北桥。常用总线接口介绍:uart:接口介绍:uart和com是指物理接口形式,ttl和rs232是指电平信号标准。Uart为4线接口(VCC、GND、TX、RX)采用ttl电平,0为低电平(0V),1为高电平(3.3V或以上)。COM是PC机上的9线接口,采用RS232电平(负逻辑电平,+5-+12V为低电平,-12--5V为

2018-01-11 10:05:51 14915

原创 linux驱动编程基础

•内存操作kmalloc()/kfree()vmalloc()/vfree()vmalloc和kmalloc都用于内核中内存的分配。vmalloc分配的为虚拟上连续的内存,kmalloc分配的是物理地址一一映射过来的连续内存。vmalloc可申请大内存,但速度慢。kmalloc最大能分配32页(32*4K=128K)内存,速度快。copy_from_user()

2018-01-11 10:05:01 215

原创 RK3128系统&驱动开发分享——(四)init.rc及开机启动脚本

1、android启动代码/system/core/init/init.c该启动代码读取并解析init.rc脚本代码如下:init_parse_config_file("/init.rc");然后通过action_for_each_trigger触发响应的动作。2、init.rc在/system/core/rootdir目录下。init.rc的语法主要分动作命令和服

2018-01-05 09:16:39 2584 2

原创 RK3128系统&驱动开发分享——(三)、系统启动

RK3128系统启动大致流程分三个阶段1、boot启动,即rk3128MiniLoaderAll(L)_V2.31.bin和uboot.img启动2、linux内核启动,即kernel.img的启动3、android系统的启动,即ramdisk.img、system.img的启动。这里讲解第三步。android系统启动过程是从init进程开始的。(源码在/system/core/init/init

2018-01-02 15:24:05 3232

空空如也

空空如也

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

TA关注的人

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