Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux

用QtCreator做IDE开发非Qt的C/C++程序

用QtCreator做IDE开发非Qt的C/C++程序

在Windows还是习惯用VS2005但是现在到了Linux下,开发起来C/C++程序就没有那么得心应手的IDE了。虽然很多人推荐E开头那个主要作为Java开发的IDE,不过安上插件后感觉不大好,一个是那个智能完成功能反应有点迟钝,对标准库的支持不大好,另一个是编译起来还是麻烦,不能自动根据工程生成合适的makefile(或者是我没发现这个功能哈,一直用它的同志们不要笑我土)发掘了半天……发现一个Monkey IDE,用了一下,感觉用起来不大方便,也是用来...
mini2440 spi驱动总结

mini2440 spi驱动总结

最近在参考了很多的网络资源后编写调试了在mini2440开发板上的SPI驱动程序,因为急于使用也没有分析S3C2440在Linux下自带的源程序,编写程序的方式较为简单,只是实现了简单的字符发送和接收。主要是配置一些寄存器。这些寄存器的配置按照S3C2440手册的说明来进行设置,根据mini2440开发板只有SPI0可以使用,SPI1被按键使用了。采用GPE和GPG来进行控制。SPI 的编程步骤是当一个字节数据写入SPTDATn寄存器,如果ENSCK、SP...
Linux音频驱动之三:PCM设备的创建

Linux音频驱动之三:PCM设备的创建

1. PCM是什么PCM是英文Pulse-code modulation的缩写,中文译名是脉冲编码调制。我们知道在现实生活中,人耳听到的声音是模拟信号,PCM就是要把声音从模拟转换成数字信号的一种技术,他的原理简单地说就是利用一个固定的频率对模拟信号进行采样,采样后的信号在波形上看就像一串连续的幅值不一的脉冲,把这些脉冲的幅值按一定的精度进行量化,这些量化后的数值被连续地输出、传输、处理或记录到存储介质中,所有这些组成了数字音频的产生过程。 图1.1 模拟...
Linux SA_RESTART的问题

Linux SA_RESTART的问题

信号是异步的,它会在程序的任何地方发生。由此程序正常的执行路径被打破,去执行信号处理函数。一般情况下 ,进程正在执行某个系统调用,那么在该系统调用返回前信号是不会被递送的。但慢速系统调用除外,如读写终端、网络、磁盘,以及wait和pause。这些系统调用都会返回-1,errno置为EINTR当系统调用被中断时,我们可以选择使用循环再次调用,或者设置重新启动该系统调用 (SA_RESTART)。 现在说说对上面话的理解: 我认为函数或进程的运行最终都回归结尾...
Linux移植笔记----S3C2410

Linux移植笔记----S3C2410

由于开发的驱动程序是按2.4的内核来写的,可是核心板自带的烧写好的程序却是2.6的内核的,而且这个的配置是2.6的内核,uboot的bootloader,文件系统也不一样。我就只能把它改成vivibootloader,2.4的内核,以及相应的文件系统。昨天,从中午一直弄到晚上。先是烧写vivi,这个比较顺利。我的2410的板子的vivi烧写只能经过串口和minicom,因此我把它接到了linux系统下。1: 用开发商附带的烧写FLASH工具,通过板子上的J...
Linux2.6.18内核S3C2410平台移植笔记

Linux2.6.18内核S3C2410平台移植笔记

我使用的实验箱是Embest EDUKIT-III,板上资源CPU:SAMSUNG S3C2410A、FLASH:K9F5608U0(Samsung NAND 32MiB),烧录工具:embest flash programmer。因为厂家自带的是2.4的内核,目前学习开发用的基本上都是2.6内核,这两者改动还是比较大的。电话咨询过技术支持后,对方说只想在板子上跑系统的话还是比较好移植的。于是决心自己动手移植内核。不然今后的驱动编写,都没有合适的运行环境,...
Linux设备驱动模型

Linux设备驱动模型

与2.4内核相比,Linux2.6内核最大的不同在于提供了统一的设备驱动模型,因为随着对智能电源管理,plug and play等设备支持的要求越来越高,2.4内核显得有点力不从心。为此,2.6内核开发了全新的驱动模型。1.sysfs文件系统 sysfs文件系统类似于proc特殊文件系统,用于将系统中的所有设备组织成层次结构,供用户模式下的程序了解内核数据结构的信息。期目录下主要有下面的目录:block:包含了所有的块设备,如ram。sda,loopbus...
Arm2440 启动流程详细分析

Arm2440 启动流程详细分析

要分析arm2440的启动流程,先得了解arm2440的硬件配置,在arm2440这款cpu里面没有什么存储的芯片,除了以个4kb的SRAM(静态存储器可以运行程序,但是最重要的一点就是掉电就失掉所有的数据)注意这4kb是cpu自己的不是外设的的。好了现在讲述下启动的流程。(一下是从nand flash 启动)1、首先机器上电,从外部的nand flash 的0x0000-0x01000也就是前4kb的内容通过硬件的办法来拷贝到我们的cpu内部的4kb的S...
Android的uevent通信机制

Android的uevent通信机制

想研究Android从Linux驱动层到Android应用层的一整套流程,于是和刘同事做了个东东实现从驱动层到应用层的一整套通信,做完了,写个笔记备忘一下总共需要增改的有四个东西,驱动、jni、java、apk整体通信步骤如下:linux驱动部分,主要利用sysfs文件系统建立一个class一个device和一个file,通过uevent去改变file所存储的值并通知上层,具体为利用一个定时器以固定的时间间隔发送uevent消息最先接收linux发送的ue...
用QT写的贪吃蛇游戏

用QT写的贪吃蛇游戏

好久不用C++,怕忘了,于是拿起Qt来写写以前把俄罗斯方块写了,这会写个贪吃蛇也没看过别的算法…,希望这个效率还好吧关键的蛇体移动算法,是将头的前面一个置1,然后删除尾点,再将蛇体除头外全部+1,得到新蛇voidsnake::gotoXY(intx,inty)//移动函数,每次只一步!! { MAP[x][y]=1;head.x=x;head.y=y;//新建头点 MAP[trail.x][trail.y]=NOTHING;//清除尾点 boolf...
Linux驱动几个关键点

Linux驱动几个关键点

一、1、c/c++精通2、熟悉内核(查找内核函数轻车熟路)3、操作系统工作原理4、能够读得懂硬件datasheet5、一定要会使用分析时序的软件,不然会很不方便6、实践,在实践中遇到问题解决问题才能更快的成长二、首先驱动中经常需要分配物理内存,应该至少注意以下几点:1,该物理内存是否能经过cache(如Framebuffer)2,该物理内存分配时是否能睡眠3,如果频繁分配,可以考虑用SLAB机制4,在操作IO MM时,在映射之前应该要先申请其次驱动程序的开...
关于在Android上运行纯C程序

关于在Android上运行纯C程序

网络上能找到在liunx下使用arm的gnu编译器进行交叉编译能生成在Android的shell中运行的C程序。但是说明了一点就是必须使用-static进行静态编译,而静态编译则就无法调用动态库了。其实不然,因为Linux系统的程序在调用动态库的时候有个首先需要访问的动态库就是ld-linux.so这个库,由这个库去访问你自己定义的动态库,然后Android上没有这个库,所以无法调用自己生成的动态库了。很明显一点就是在执行程序的时候显示结果是not fou...
Beginning Linux Programming 笔记

Beginning Linux Programming 笔记

是前段时间才铁定心要搞Linux,重新回归到C的怀抱。大学这两年,学过C,用过C++,搞过PHP,学了java,最后才良心发现,回过头来搞C。期末的时候借了两本书,一本是《Beginning Linux Programming 4th Edition》,一本是它的中文版《Linux程序设计》,都是六七百页的书,差不多可以当枕头的那种。回家那天正在犹豫要把那本书带回来,最后想不开把英文版的带回来,想着要体验一下原汁原味的东西。相关下载:《Beginning ...
《Beginning Linux programming 4th Edition》中文翻译(一)

《Beginning Linux programming 4th Edition》中文翻译(一)

1. 译序 《beginning linux programming 》是一本讲述Linux应用开发的一本挺不错的参考书,目前已经是第四版(2008),由于工作需用到Linux开发,所以在网上找到该书。但目前并没有发现第四版有中文的翻译。所以本人试着翻译了几章内容,现在贡献出来供大家share。相关下载:《Beginning Linux Programming 4th Edition》下载在http://www.linuxidc.com/Linux/201...
Ubuntu 10.10构建内核树

Ubuntu 10.10构建内核树

驱动程序和用户程序可不一样,它是作为一个模块连接到内核模块来运行的,运行在内核空间里面。所以要运行我们自己构造的模块,需要自己的系统已经配置好内核树,然后把目标模块和内核树连接起来运行!可以查看一下自己的电脑有没有配置内核树,可以到 /lib/modules/2.6.35-22-generic目录下面,看看有没有build这个文件夹,如果有,说明你已经有内核树了,如果没有,就自己构建内核树吧。内核树构建过程安装编译内核所需要的软件(也可不装,除非你要用 m...
Android 监听文件和目录的创建删除移动等事件

Android 监听文件和目录的创建删除移动等事件

Android.os下的FileObserver类是一个用于监听文件访问、创建、修改、删除、移动等操作的监听器,基于linux的inotify。 FileObserver 是个抽象类,必须继承它才能使用。每个FileObserver对象监听一个单独的文件或者文件夹,如果监视的是一个文件夹,那么文件夹下所有的文件和级联子目录的改变都会触发监听的事件。所能监听的事件类型如下:ACCESS,即文件被访问MODIFY,文件被 修改ATTRIB,文件属性被修改,如 ...
<< 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 >>