
嵌入式linux
起点
这个作者很懒,什么都没留下…
展开
-
嵌入式linux:uclibc,eglibc,glibc之间的区别和联系
【glibc,uclibc,eglibc的简介】1.Glibcglibc = GNU C Library是GNU项(GNU Project)目,所实现的 C语言标准库(C standard library)。目前,常见的桌面和服务器中的GNU/Linux类的系统中,都是用的这套C语言标准库。其实现了常见的C库的函数,支持很多种系统平台,功能很全,但是也相对比较臃肿和庞大。2.uClibc一个小型的C转载 2016-01-26 09:02:31 · 1459 阅读 · 0 评论 -
嵌入式linux:音频编解码PCM转至AAC
作者:柳大·Poechant博客:blog.youkuaiyun.com/poechant邮箱:zhongchao.ustc@gmail.com日期:April 7th, 2012这里利用FAAC来实现AAC编码。1 下载安装 FAAC这里的安装过程是在 Mac 和 Linux 上实现的,Windows可以类似参考。wget http://downloads.sourc转载 2016-03-10 17:04:29 · 2779 阅读 · 0 评论 -
嵌入式linux:linux select函数与socket
在Linux中,我们可以使用select函数实现I/O端口的复用,传递给 select函数的参数会告诉内核: •我们所关心的文件描述符 •对每个描述符,我们所关心的状态。(我们是要想从一个文件描述符中读或者写,还是关注一个描述符中是否出现异常) •我们要等待多长时间。(我们可以等待无限长的时间,等待固定的一段时间,或者根本就不等待) 从 sel原创 2016-03-01 16:58:19 · 888 阅读 · 0 评论 -
嵌入式linux:字符设备驱动-----按键驱动(中断+poll机制)
1)中断在驱动中注册中断使用request_irq函数。参数依次为:中断号,中断处理函数, 中断触发方式和处理方式, 中断名字, 传递给中断处理函数的参数。[cpp] view plain copy print?static int key_drv_open(struct inode *inode, struct file *file) {转载 2016-03-04 16:11:43 · 684 阅读 · 0 评论 -
嵌入式linux:3520a SDL_tff库做bmp 也就是osd
转自:http://blog.youkuaiyun.com/xyyangkun/article/details/8528941之前用点陈字库做过3515,3520a的字库,现在为新需求,要用矢量字库做osd。决定用SDL_tff库做。配置freetype:xy@xy-pc:~/aaa/freetype-2.4.10$ CC=arm-hisiv200-linux-gcc ./configure转载 2016-03-09 20:04:30 · 962 阅读 · 0 评论 -
嵌入式linux:SDL ./config之后出现错误
转自:http://www.cnblogs.com/jugaoming/archive/2012/07/29/nothing.html ./config之后,出现如下问题: checking for sdl-config… no checking for SDL - version >= 1.2.0… no * The sdl-config script installed by SDL c转载 2016-03-09 20:08:56 · 1491 阅读 · 0 评论 -
嵌入式linux:Ubuntu系统下bash和dash的区别(修改默认sh为bash)
什么是bash ?Bash(GNU Bourne-Again Shell)是许多Linux平台的内定Shell,事实上,还有许多传统UNIX上用的Shell,像tcsh、csh、ash、bsh、ksh等等,Shell Script大致都类同,当您学会一种Shell以后,其它的Shell会很快就上手,大多数的时候,一个Shell Script通常可以在很多种Shell上使用什么是dash ?dash转载 2016-01-26 08:56:18 · 634 阅读 · 0 评论 -
嵌入式linux:嵌入式Linux中让应用程序自动启动
很多嵌入式系统中,由于可用资源较少,常常在系统启动后就直接让应用程序自动启动,以减少用户操作和节省资源。如何让自己的应用程序自动启动呢? 在Linux系统中,配置应用程序自动启动的方法有以下三种:1.通过/Linuxrc脚本直接启动Linux内核一旦开始执行,它将通过驱动程序来初始化所有硬件设备,这个初始化过程可以在启动时的PC显示器上看到,每个驱动程序都打印一些相关信息。初始化转载 2016-03-12 10:50:34 · 458 阅读 · 0 评论 -
嵌入式linux:Linux下添加新硬盘,分区及挂载
转自:http://blog.chinaunix.net/uid-25829053-id-3067619.html挂载好新硬盘后输入fdisk -l命令看当前磁盘信息可以看到除了当前的第一块硬盘外还有一块sdb的第二块硬盘,然后用fdisk /dev/sdb 进行分区进入fdisk命令,输入h可以看到该命令的帮助,按n进行分区这里输入e即分为逻辑分区,按p即分为主分区,转载 2016-03-12 14:09:33 · 2522 阅读 · 0 评论 -
嵌入式linux:ubuntu下tftp的安装、配置、使用
1. 安装$ apt-get install tftp-hpa tftpd-hpa(如果不需要客户端可以不安装)tftp-hpa是客户端tftpd-hpa是服务器端2. 建立目录$ mkdir /tftpboot # 这是建立tftp传输目录。$ sudo chmod 0777 /tftpboot$ sudo touch te原创 2016-03-12 15:18:53 · 429 阅读 · 0 评论 -
QT:动态链接库的创建与使用
创建动态链接库新建工程启动Qt Creator依次选择 “文件/新建文件或工程…”,在弹出的“新建”对话框中依次选择 “其他项目/C++库”,如下图所示。 点击“选择(C)…”出现“C++库”对话框,在对话框中输入工程名称并选择路径,如下图所示。 点击“下一步(N) >”,直到出现模块选择的对话框,如下图所示,勾选QtGui。其他按照默认设置即可,直到向导完成。 在创建转载 2016-04-07 19:43:23 · 1624 阅读 · 0 评论 -
Ubuntu:SVN认证失败: 不能认证到服务器: 被拒绝的 Basic 挑战
转自:http://blog.163.com/subaochen%40126/blog/static/1435155012010923102621217/svn checkout的时候报:GNOME keyring [(null)] 的密码:svn: 方法 OPTIONS 失败于 “http://xxxxxxxx/svn”: 认证失败: 不能认证到服务器: 被拒绝的 Basic转载 2016-04-12 10:20:34 · 2607 阅读 · 0 评论 -
Ubuntu:GoldenDict 词典安装
转自:http://luveelin.blog.163.com/blog/static/119492341201251943213676/apt-get install goldendict安装完成以后,需要自己手动加入字典,增加在线翻译网址(例如,有道,金山等),点击 编辑--dictionaries 完成下面工作1.添加在线字典网址在GoldenDic中添加在转载 2016-04-12 10:22:20 · 3352 阅读 · 0 评论 -
Linux系统下一块网卡配置多个ip地址方法
转自:http://blog.chinaunix.net/uid-26495963-id-3274617.html我们知道在Linux下网卡被称为eth0,eth1,eth2.....,所有网卡的配置文件都存储在/etc/sysconfig/network-script/下,文件名是以ifcfg-eth0,ifcfg-eth1,ifcfg-eth2....来命名的。一块网卡对应一个配置文件。如转载 2016-06-03 15:10:46 · 2739 阅读 · 1 评论 -
final link failed: Nonrepresentable section on output的解决办法
产生这个错误的原因和链接库有关,具体还不知道为啥,任务太紧了,先把错误解决了再说吧。arm-linux-g++ -Wl,-O1 -Wl,-rpath,/opt/qt-4.8.5-arm/lib -o SDKTest main.o -L/opt/qt-4.8.5-arm/lib libfsdk.so -lQtGui -L/opt/tslib-1.4/lib -L/opt/qt-4.8.转载 2016-06-01 16:56:01 · 10910 阅读 · 1 评论 -
linux 静态与动态ip设置
设置方法如下:#vi /etc/sysconfig/network-scripts/ifcfg-eth0动态IP:修改内容如下:DEVICE="eth1" #根据自己的网卡名设置BOOTPROTO=dhcpONBOOT="yes"HWADDR="00:0C:29:51:31:2B" #根据自己的mac地址设置静态IP:修改内容如下DEVICE="e原创 2016-06-01 14:34:54 · 777 阅读 · 0 评论 -
Linux系统调用--- mount/umount函数详解
功能描述:mount挂上文件系统,umount执行相反的操作。用法: #include int mount(const char *source, const char *target,const char *filesystemtype, unsigned long mountflags, const void *data);int umount(const转载 2016-05-25 11:03:57 · 657 阅读 · 0 评论 -
linux U盘插拔检测
因为最终要在tiny210上实现此功能,最终选择了hotplug。http://hi.baidu.com/hdy5200075/item/7751f48647f3d12a100ef3f6这里是hotplug检测U盘的源码,我在qt里将其写到一个hostplug.h文件里。[cpp] view plain copy print?#i转载 2016-05-25 11:02:30 · 4042 阅读 · 0 评论 -
Linux上用udev自动识别并挂载U盘
最近想在U盘中放置一个配置文件,当U盘插入时自动读取配置文件。发现插上U盘后,在/dev下产生sda1、adb1、sdc1等不定设备,需要手动挂载才行。根据网上了解,可以通过udev来实现U盘的自动识别和挂载,操作方法如下: 1. 在/etc/udev/rules目录下新建11-add-usb.rules和11-add-remove.rules,负责设备监测。root@am转载 2016-05-25 10:55:20 · 3555 阅读 · 0 评论 -
嵌入式linux:linux tee 命令详解
linux tee 命令详解功能说明:读取标准输入的数据,并将其内容输出成文件。语 法:tee [-ai][--help][--version][文件...]补充说明:tee指令会从标准输入设备读取数据,将其内容输出到标准输出设备,同时保存成文件。参 数: -a或--append 附加到既有文件的后面,而非覆盖它. -i-i或--ignore-in转载 2016-04-15 09:35:41 · 451 阅读 · 0 评论 -
嵌入式linux:Linux时间函数
转自:http://blog.youkuaiyun.com/water_cow/article/details/7521567系统环境:ubuntu10.04简介本文旨在为了解Linux各种时间类型与时间函数提供技术文档。1、Linux下常用时间类型Linux下常用时间类型有四种:time_t、struct tm、struct timeval、struct timespec转载 2016-04-14 19:14:20 · 565 阅读 · 0 评论 -
嵌入式linux:ubuntu bash与dash 区别,将dash换为bash
什么是bash ?Bash(GNU Bourne-Again Shell)是许多Linux平台的内定Shell,事实上,还有许多传统UNIX上用的Shell,像tcsh、csh、ash、bsh、ksh等等,Shell Script大致都类同,当您学会一种Shell以后,其它的Shell会很快就上手,大多数的时候,一个Shell Script通常可以在很多种Shell上使用什么是da转载 2016-04-14 19:10:23 · 523 阅读 · 0 评论 -
嵌入式linux:LIBRARY_PATH和LD_LIBRARY_PATH环境变量的区别
转自;http://www.cnblogs.com/panfeng412/archive/2011/10/20/library_path-and-ld_library_path.htmlLIBRARY_PATH和LD_LIBRARY_PATH是Linux下的两个环境变量,二者的含义和作用分别如下:LIBRARY_PATH环境变量用于在程序编译期间查找动态链接库时指定查找共享库的路径,例转载 2016-04-07 19:58:02 · 1093 阅读 · 0 评论 -
嵌入式linux:ubuntu Linux离线安装软件包
方法一在可上网的ubuntu电脑上,使用apt-get install安装软件,然后到/var/cache/apt/archives目录下拷贝安装包到离线ubuntu电脑上。比如要安装samba,步骤如下:# sudo apt-get install samba# sudo cd /var/cache/apt/archives然后到将下载的 samb原创 2016-03-12 15:19:47 · 990 阅读 · 0 评论 -
嵌入式linux:Ubuntu 12.04下NFS安装配置图解
下面介绍安装步骤1、执行命令:sudo apt-get install nfs-kernel-server 我之前安装了,之所以写下来是防止重装系统后,这些东西都怎么安装。2、执行命令:mkdir /home/song/nfs 建立一个nfs服务的专有的文件夹,这里路径依自己喜好而定!不过要记得这个路径3、建立好文件夹后,接着执行命令:sudo vi转载 2016-03-12 15:17:42 · 446 阅读 · 0 评论 -
BeagleBone Black开发记录一:SDK安装
环境搭建:虚拟机+ubuntu-10.04.4-desktop-i386.iso安装好虚拟机和ubuntu之后,安装vmtools,并添ubuntu和windows的共享文件夹之后开始安装SDK。网上给的例子都是ti-sdk-am335x-evm-05.05.00.00-linux-x86-Instal.bin,但是目前最新的版本是ti-sdk-am335x-evm-08.00.0原创 2016-03-12 15:13:45 · 2331 阅读 · 0 评论 -
2416开发记录十一:按键驱动(platform/中断)
在前面几章的基础上编写了一个按键中断的驱动,并验证成功。 这里用到了字符设备驱动,platform驱动,并有资源的获取,算是比较全面的platform驱动了。首先是设备模块代码//my2416PlatformKeyDev.c#include <linux/miscdevice.h>#include <linux/delay.h>#include <asm/irq.h>#include <m原创 2016-01-27 10:37:38 · 680 阅读 · 0 评论 -
2416开发记录十:platform的相关函数详解
转自:http://blog.chinaunix.net/uid-27717694-id-3501755.html PlatForm设备驱动:一、platform总线、设备与驱动1.一个现实的Linux设备和驱动通常都需要挂接在一种总线上,对于本身依附于PCI、USB、I2C、SPI等的设备而言,这自然不是问题,但是在嵌入式系统里面,SoC系统中集成的独立的外设控制器、挂接在SoC内存空转载 2016-01-21 15:18:12 · 427 阅读 · 0 评论 -
2416开发记录九:在驱动模块初始化函数中实现设备节点的自动创建(转)
转自:http://blog.youkuaiyun.com/zhenwenxian/article/details/5424434 我们在刚开始写Linux设备驱动程序的时候,很多时候都是利用mknod命令手动创建设备节点,实际上Linux内核为我们提供了一组函数,可以用来在模块加载的时候自动在/dev目录下创建相应设备节点,并在卸载模块时删除该节点,当然前提条件是用户空间移植了udev。内核中定义了stru转载 2016-01-21 14:41:12 · 299 阅读 · 0 评论 -
2416开发记录八: platform驱动之LED(字符设备)
上一篇介绍了platform misc驱动的写法。因为misc设备是字符设备的一种,也不需要很多的函数来注册,因此作为练手。这一篇写一个led的字符设备驱动。你会发现platform驱动只是在字符设备驱动上又封装了一下而已(个人理解)。led设备和上一篇的led misc驱动设备差不多,但是多了一些自己的注释。方便以后学习。makefile文件基本一致,这里就不发了。//my2416Platform原创 2016-01-21 14:35:12 · 567 阅读 · 0 评论 -
2416开发记录七: platform驱动之LED(misc)
platform驱动的简单介绍前几篇介绍了最简单的LED驱动写法,在linux2.6中提出了platform驱动,具体为什么要这么做后面博客再解释吧。这里的platform驱动只是一个框架,并没有体现platform驱动的意义,因为在driver中没有使用device定义的资源。后面会再写一个真正的platfom。本篇算是入门练手,体会下吧。pltform机制本身使用并不复杂,由两部分组成:pl原创 2016-01-19 08:53:35 · 501 阅读 · 0 评论 -
2416开发记录六: s3c2410_gpio_setpin()系列函数
依然解释LED驱动的知识点 转自:(http://blog.sina.com.cn/s/blog_7bd0d88201011ulq.html)系列函数的定义在arch/arm/mach-s3c2410/gpio.c,相关的宏定义在include/asm-arm/arch-s3c2410/regs-gpio.h(1)void s3c2410_gpio_setpin(unsigned int pin,转载 2016-01-15 14:24:41 · 795 阅读 · 0 评论 -
2416开发记录四: ioctl与unlocked_ioctl区别
解释一下上一篇博客的相关知识点驱动中的unlockioctl函数 http://blog.youkuaiyun.com/zydlyq/article/details/50522773ioctl与unlocked_ioctl区别ioctl函数的实现首先说明在2.6.36以后ioctl函数已经不再存在了,而是用unlocked_ioctl和compat_ioctl两个函数实现以前版本的ioctl函数。同时在参原创 2016-01-15 13:02:12 · 1247 阅读 · 0 评论 -
2416开发记录五: misc设备驱动
转自:(http://www.cnblogs.com/snake-hand/p/3212483.html) (本文使用的平台为友善tiny210SDKv2)对于linux的驱动程序来说,主要分为三种:miscdevice、platform_device、platform_driver 。这三个结构体关系: (基类) kobject ——————– / \转载 2016-01-15 14:06:13 · 283 阅读 · 0 评论 -
2416开发记录三:简单LED驱动及应用程序
写过了helloworld驱动,来点真格的驱动吧,最简单的就是led驱动了。 参考mini2440的led驱动写法。写一个混合驱动(对于第一个简单的驱动来说好处多多)驱动源码驱动的源码如下:#include <linux/miscdevice.h> #include <linux/delay.h> #include <asm/irq.h> #include <mach/regs-gpio.h原创 2016-01-15 11:48:23 · 567 阅读 · 0 评论 -
2416开发记录二:最简单的helloworld驱动
编写helloworld驱动程序驱动程序源码如下:#include<linux/init.h>#include<linux/module.h>static int hello_init(void){ printk(KERN_INFO "BBBlackHelloModule enter!\n"); return 0;}static void hello_exit(void){原创 2016-01-15 11:36:58 · 389 阅读 · 0 评论 -
2416开发记录十二:ioremap
对于一个系统来讲,会有很多的外设,那么这些外设的管理都是通过CPU完成。那么CPU在这个过程中是如何找到外设的呢?尽管在一个系统中会有诸多的外设,在每个外设的接口电路中会有多个端口。但是如果系统能够每个端口都被赋予一个具体的地址值,那么在系统中就能轻易的找到任何一个外设。系统在管理的时候,不管是内存还是外设都需要分配一个内存地址。对于一个32bit的系统来讲,可寻址的范围为2^32=4G的地址空间。转载 2016-02-03 08:09:44 · 350 阅读 · 0 评论 -
QT:Qt4添加QSerialPort模块
转自:http://blog.youkuaiyun.com/yuyu414/article/details/42400721Qt中添加了QSerialPort类,非常好用,可是由于各种原因,很多人还是要用Qt4,比如我,后来发现官方文档说QSerialPort支持Qt4,就研究了一下,比较笨,搞了好久才弄好。第一步:下载QSerialPort模块官方网站我经常打不开,所以上传到网盘了。转载 2016-03-30 19:29:30 · 4745 阅读 · 2 评论 -
QT:QT编译时 qmake错误
在导入QT项目时,点击编译,构建项目时发生错误 (目标: 桌面) 当执行构建步骤 'qmake'时,这是因为我们在导入项目的时候没有指定qt版本的原因,只需选择项目选项,如下图:制定QT的版本即可解决。转载 2016-03-30 19:22:34 · 3424 阅读 · 0 评论 -
嵌入式Linux:按键驱动在2440上的实例开发
转自:http://blog.chinaunix.net/uid-22174347-id-1786929.html嵌入式Linux之我行,主要讲述和总结了本人在学习嵌入式linux中的每个步骤。一为总结经验,二希望能给想入门嵌入式Linux的朋友提供方便。如有错误之处,谢请指正。共享资源,欢迎转载:http://hbhuanggang.cublog.cn一、开发环境转载 2016-01-26 15:55:09 · 496 阅读 · 0 评论