Linux下软件开发
文章平均质量分 86
LL-Studio
这个作者很懒,什么都没留下…
展开
-
2021.08.29_Android_各系统间换行符不同引起的无法执行shell脚本,提示no such file or directory
最新在Android开发中,在Windows上编辑好一个xx.sh脚本文件,放入android系统中,配置好权限,执行时出错,提示:error: no such file or directory, 文件是存在的,为什么执行错误? 原因就在于:Window系统下编辑的文件内容使用了Windows换行符,这与Linux下的换行符是不一样的,自然就识别不了。 注:以下实验的文件cc.sh是Windows下生成的。操作系统文件换行符换行符‘\n’和回...原创 2021-08-29 13:17:06 · 839 阅读 · 0 评论 -
32位程序移植到64位平台前的准备工作
下面是做32位程序移植到64位程序时资料整理: 将 32 位应用程序转换成 64 位应用程序时的主要问题是 int 类型相对 long 和指针类型的大小发生了变化。将 32 位程序转换成 64 位程序时,只有 long 类型和指针类型的大小从 32 位转换成 64 位;整数类型 int 的大小仍然保持为 32 位。这导致将指针类型或 long 类型赋值给 int 类型时会发生数据截断问题。而且,将使用小于 int 类型的表达式赋值给 unsigned long 或指针时,可能会发生...转载 2020-10-28 10:38:53 · 1263 阅读 · 0 评论 -
gdb调试coredump(使用篇)
看到一个非常好的介绍coredump的文章,做个记录,参考链接:https://blog.csdn.net/sunxiaopengsun/article/details/72974548什么是coredumpCoredump叫做核心转储,它是进程运行时在突然崩溃的那一刻的一个内存快照。操作系统在程序发生异常而异常在进程内部又没有被捕获的情况下,会把进程此刻内存、寄存器状态、运行...转载 2020-03-04 15:56:06 · 529 阅读 · 0 评论 -
Linux输入子系统分析(二)
基于Linux输入子系统的触摸屏输入设备驱动分析1、下面的代码只是关于输入子系统的一部分,据此分析其原理#include /* For ts->dev.id.version */#define S3C_TSVERSION 0x0101 //触摸屏版本号/* Touchscreen default configuration */触摸屏默认的初始化值struct s3原创 2012-05-15 10:07:04 · 2808 阅读 · 0 评论 -
Linux驱动调试时的一些技巧
1、假如现在有一个待测试的驱动模块button和一个用于测试驱动模块功能的应用程序button_test 首先,使用insmod button加载模块;不用时使用rmmod button卸载模块; 其次,测试驱动模块,运行./button_test,当需要查看该进程消耗CPU资源的情况时,可以设置 测试程序运行于后台,使用方法:./button_te原创 2011-10-26 11:48:33 · 1191 阅读 · 0 评论 -
Linux输入子系统分析(四)
输入子系统事件驱动 通过前面的学习,我们知道输入子系统有三个部分:输入设备驱动、输入核心、输入事件驱动。相信对前面的学习,对输入设备驱动能够大体理解。上节中我们已经知道了输入设备如何通过输入核心把事件传递给handler了,这本节开始我们学习输入事件驱动如何处理这些事件,如何与应用程序通信。1、重要数据结构 首先介绍input_handle,这个结构体用来连接input_d原创 2012-05-15 21:14:09 · 1919 阅读 · 0 评论 -
platform的那些事儿
刚开始接触platform平台设备的那些天,有点晕 ! 干嘛要引入这个东东 ? 对于一些譬如watchdog之类的驱动都被挂载在这个虚拟的总线上 ,而它的本质还是字符设备,最终的操作还是基于file_operations结构,原来,platform 可以说是watchdog 的一个属性 ,一层套接在字符设备外地壳儿。这其中呢有几点好处 ?第一、基于总线的设备和驱动更容易内核进行管理 ;原创 2011-11-09 19:48:13 · 886 阅读 · 0 评论 -
Linux输入子系统分析(三)
Linux输入子系统事件报告传递机制 上一节我们分析了输入设备如何与handler连接的过程,当两者连接上后,剩下的工作就是如何报告事件即事件报告如何传递, 输入子系统设备报告各种事件通过input_report_XXX族函数。 常用的输入报告函数有按键、相对坐标、绝对坐标和同步事件报告的函数,下面是他们各自的源码:include/linux/inpu原创 2012-05-15 20:29:14 · 3888 阅读 · 0 评论 -
字符设备和块设备的区别
Linux下设备驱动有三种,字符设备驱动、块设备驱动和网络设备驱动。其中 字符设备驱动与块设备驱动之间的主要两点区别:1. 两者访问的单位不一样,字符设备访问的是字节,而块设备访问的是块(或page);2. 字符设备不可以做到随机访问,而块设备可以做到随机访问。转载 2012-11-07 16:04:57 · 1792 阅读 · 0 评论 -
页高速缓存和页回写
由于页高速缓存的缓存作用,写操作实际上会被延迟。当页高速缓存中的数据比后台存储的数据更新时,那么该数据就被称为脏数据。在内存中积累起来的页最终必须被写回磁盘。在以下两种情况发生时,脏页被写回磁盘: 1. 当空闲的内存低于一个特定的阈值时,内核必须将脏页写回磁盘,以便释放内存。 2. 当脏页在内存中驻留时间超过一个特定的阈值时,内核必须将超时的脏页写回磁盘,以确保脏页不会无限期地驻留在内存。转载 2015-05-26 17:47:40 · 828 阅读 · 0 评论 -
Linux下hexdump命令调试event驱动
hexdump: 查看文件的内容,比如二进制文件中包含的某些字符串,通常用来调试驱动用描述:我们以event1为例,当我们insmod挂载了键盘驱动后,出现一个event1设备,此时没有按键按下,所以event1里面的数据是没有的,那么数据又是从来哪里来?通过键盘驱动的read函数,若有按键按下,就会上传按键数据给用户层hexdump因为键盘驱动的input_handler 是...转载 2019-01-24 11:11:45 · 575 阅读 · 0 评论 -
Linux清除系统缓存释放内存命令介绍
命令#sync 通知系统把脏页写盘#echo 3 > /proc/sys/vm/drop_caches 清除cache 1. drop_caches在Documentation/sysctl/vm.txt中有如下描述:drop_caches:Writing to this will cause the kernel to drop clean caches, dentr...转载 2019-02-19 10:47:20 · 7874 阅读 · 0 评论 -
Linux输入子系统分析(一)
首先说明一下,本文是基于Linux-2.6.38版本内核来分析Linux输入子系统架构和原理的。这阵子本来没有打算花时间来分析Linux input system的,然而当在研究S3C6410触摸屏驱动的时候悲剧不期而至,内核中并没有实现6410的触摸屏驱动,不过有关于S3C2410触摸屏的驱动,往s3c2410_ts.c文件里面一看,居然实现过程中用到了输入子系统这一神马机制。瞄了下代码,流程基原创 2012-05-14 23:27:09 · 12765 阅读 · 1 评论 -
Linux输入子系统分析(五)
输入事件驱动--->evdev_handler的实现 Linux输入子系统已经建立好了几个handler,用来处理几类常见的事件,如鼠标、键盘、摇杆等。其中最为基础的是evdev_handler,它是在driver/input/evdev.c中实现的。它能够接收任意类型的事件,任意id的设备都可以和它匹配连接,它对应的设备节点为/dev/eventX,次设备号的范原创 2012-05-15 22:08:10 · 3527 阅读 · 0 评论 -
Linux输入子系统分析(六)
输入子系统核心 input core 通过前面的学习,我们学习了输入子系统中的输入设备驱动和输入事件驱动,这两者都是基于输入核心层input core 基础之上的。input core负责管理所有资源并连接输入设备驱动和输入事件驱动。这小节就让我们来深入input core,探其究竟...1、input core 初始化 输入核心层input core原创 2012-05-16 22:33:17 · 1964 阅读 · 0 评论 -
Source Insight 3.5设置支持汇编文件
在使用Source Insight 3.5阅读内核源代码时,默认的文本类型是不包含汇编文件的,即*.S文件。下面总结两种办法:第一,加入你还没新建工程,可通过 Options->Document Options->Doucment Types->选择x86 Assemble,再在右边File Filter里输入*.S。这样以后再新建一个工程,在添加文件时,就可以把文件夹中原创 2011-10-20 10:33:00 · 3603 阅读 · 0 评论 -
Linux内核中start_kernel函数的分析
这篇文章是转载了 少帅的天空深入理解linux 深入理解虚拟化 中的分析的不错链接: http://blog.csdn.net/ustc_dylan/article/details/3985239转载 2011-10-20 12:33:23 · 1156 阅读 · 0 评论 -
Linux内核异常处理体系结构
/*首先声明下,这是本人阅读韦东山老师后的一些学习记录和笔记*/1. 对异常概念的理解 异常就是可以打断CPU正常运行的事件,比如,外部中断、未定义的指令、软中断等。当这些异常发生时,就打断CPU的正常运行,跳到相应的异常处理程序去处理这些异常要求的一些操作。2. Linux内核中断处理流程基于Linux-2.6.29.4<!--@pa原创 2011-10-19 22:03:57 · 3510 阅读 · 0 评论 -
分析内核源代码从何入手?
摘自 博主fudan_abc的文章 分析内核源码从何入手 ? http://blog.csdn.net/fudan_abc/article/details/5347687 (上) http://blog.csdn.net/fudan_abc/article/details/5355062 (下)转载 2011-10-25 23:00:36 · 1036 阅读 · 0 评论 -
内核源码的获取
ftp://ftp.kernel.org/pub/原创 2011-10-28 10:16:21 · 908 阅读 · 0 评论 -
LinuxKernel多媒体media
1、http://linuxtv.org/downloads/driversLinuxtv DownloadsContents of the downloads section:v4l-dvb-apis/The current version of V4L, DVB and Remote Controller API'sf原创 2012-02-28 19:51:41 · 1234 阅读 · 0 评论 -
Linux内核裁剪步骤详述
在menuconfig中配置:详细介绍内核配置选项及删改情况第一部分:全部删除Code maturity level options ---> 代码成熟等级选项[]Prompt for development and/or incomplete code/drivers 默认情况下是选择的,这将会在设置界面中显示还在开发或者还没有完成的代码与驱动.不选。第二部分 :除以下选项,转载 2012-04-01 21:41:31 · 2175 阅读 · 0 评论 -
PC 仿真环境Bochs ---Linux-0.12
http://www.oldlinux.org/Linux.old/http://bochs.sourceforge.net/diskimages.html原创 2012-04-28 22:33:32 · 1103 阅读 · 0 评论 -
Linux-2.6.38后版本的变化
1、问题 Linux-2.6.38内核中DEFINE_MUTEX(...)替代了以前版本的DECLARE_MUTEX(...),就是DECLARE都用DEFINE替换了。。。在semaphore.h中找到了,令人惊讶的是就在上面有了:复制代码#define DEFINE_SEMAPHORE(name) \ struct semaphore原创 2012-05-15 09:54:25 · 2156 阅读 · 0 评论 -
Linux内核编程视频--尚德老师
http://www.spjc8.com/thread-2783-1-1.html原创 2012-06-05 21:05:46 · 6201 阅读 · 0 评论 -
Linux音频系统分析(一)
Linux的声卡驱动中ALSA与OSS的区别和简单流程介绍 在声卡的驱动中一种是OSS(开放声统音系),一种是ALSA(先进Linux声音架构)。OSS是一个商业声卡驱动程序,需要花钱购买。一般我们现在使用的是ALSA的声音架构。Advanced Linux Sound Architecture 的简称为 ALSA,译成中文的意思是 Linux 高级声转载 2012-05-21 11:55:42 · 1542 阅读 · 0 评论 -
sysfs文件系统的理解
http://www.ibm.com/developerworks/cn/linux/l-cn-sysfs/转载 2011-09-29 11:38:22 · 889 阅读 · 0 评论