![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
嵌入式开发
文章平均质量分 64
alan00000
这个作者很懒,什么都没留下…
展开
-
vi替换命令用法详解
: ranges /pat1/pat2/g其中range 是命令执行范围的指定: 百分号(%)表示所有行点(.)表示当前行美元符($)表示最末行例如:10,20表示第10到20行,.,$表示当前行到最后一行,.+2,$-5表示当前行后两行直到全文的倒数第五行s 表示其后是一个替换命令。pat1 这是要查找的一个正则表达式pat2 这是希望原创 2016-02-01 11:35:39 · 1029 阅读 · 0 评论 -
安装cmake 和opencv并在Qt中使用opencv(linux-pc环境)
安装 cmake1.下载源码包2.解压cmake源码包,进入目录(1)./configure(2)make(3)make install----------------------------------------------------割-------------------------------------安装opencv-2.4.6.1如果需要处理视频要先原创 2013-08-01 16:49:08 · 4986 阅读 · 0 评论 -
关于函数指针与指针函数
【函数指针】 在程序运行中,函数代码是程序的算法指令部分,它们和数组一样也占用存储空间,都有相应的地址。可以使用指针变量指向数组的首地址,也可以使用指针变量指向函数代码的首地址,指向函数代码首地址的指针变量称为函数指针。1.函数指针定义函数类型 (*指针变量名)(形参列表);“函数类型”说明函数的返回类型,由于“()”的优先级高于“*”,所以指针变量名外的括号必不可转载 2013-06-28 10:56:09 · 778 阅读 · 0 评论 -
在ubuntu9.10与ok6410间搭建nfs(文件夹)
Step1:pc端安装nfs服务器 apt-get install nfs-kernel-server //有的教程中还让格外安装nfs-common,其实没必要step2:ip配置 1.命令格式为:ifconfig eth0 IP地址netmask子网掩码up; 2.虚拟机需要改为桥接模式;3.Vmnet和本原创 2012-01-19 12:59:05 · 649 阅读 · 0 评论 -
常用内核中断符号解释—linux
在枚举类型irqreturn定义在include/linux/irqreturn.h文件中。unsigned long flags:中断处理的属性,与中断管理有关的位掩码选项,有一下几组值:#define IRQF_DISABLED 0x00000020 /*中断禁止*/#define IRQF_SAMPLE_RANDOM 0x00000040 /*供系统产生随机数使用*/原创 2013-04-20 16:47:04 · 1102 阅读 · 0 评论 -
linux内核函数fls()
/** * fls - find last (most-significant) bit set * @x: the word to search * * This is defined the same way as ffs. * Note fls(0) = 0, fls(1) = 1, fls(0x80000000) = 32. */static __alway原创 2013-04-18 19:46:52 · 6716 阅读 · 0 评论 -
linux新建平台设备步骤
S3C64101定义设备:arch/arm/plat-samsung/dev-xx.c2加到数据初始化列表:arch/arm/mach-s3c64xx/mach-smdk6410.c3平台驱动定义:具体驱动文件中4驱动实现:同上 S3C2410/24401定义设备:arch/arm/plat-s3c24xx/devs.c2加到数据初始化列表:arch/arm/pla原创 2013-04-15 16:58:26 · 826 阅读 · 0 评论 -
uboot无法ping通tftp服务器无法download文件时该如何处理
修改uboot的ipaddr和服务器同网段修改uboot的serverip为服务器ip只需要修改这两项环境变量原创 2013-04-22 09:33:48 · 1294 阅读 · 0 评论 -
linux下的休眠与延时函数
Linux 下的延时函数分为用户空间延时和内核空间的延时.用户空间:最常用的延时函数是sleep(),但是其时间延时精确到s,不能满足很多情况下的要求。在linux下,有一个延时函数,可以精确到us级,那就是usleep(),比如要延时一妙,usleep(1000000);内核空间:udelay(int n); 延时n微秒mdelay(int n); 延时n毫秒 n原创 2013-04-12 17:13:30 · 3221 阅读 · 0 评论 -
ubuntu 安装配置tftp
本来搜集自网络,亲测可用,并且针对操作过程中出现的问题加入了自己找到的解决方案,请务必认真按步骤操作下面列举出了配置tftp服务的步骤,以及一些常见的问题:1、安装相关软件包:tftpd(服务端),tftp(客户端),xinetdsudo apt-get install tftpd tftp xinetd 2、建立配置文件在/etc/xinetd.d/下建立一个配置文件tftp原创 2013-03-13 22:13:38 · 848 阅读 · 0 评论 -
PDU短信编解码格式说明(找来找去个人认为这一篇还是比较靠谱的)
共有三种方式来发送和接收SMS信息:Block Mode, Text Mode和PDU Mode。其中PDU Mode被所有手机支持,可以使用任何字符集,这也是手机默认的编码方式。发送短消息常用Text和PDU(Protocol Data Unit,协议数据单元)模式。使用Text模式收发短信代码简单,实现起来十分容易,但最大的缺点是不能收发中文短信;而PDU模式不仅支持中文短信,也能发送转载 2013-11-28 19:20:17 · 15176 阅读 · 1 评论 -
linux 内核修改开机logo
cp logo_linux_clut224_SB.ppm drivers/video/logo/logo_linux_clut224.ppm 然后编译原创 2014-06-12 11:01:33 · 862 阅读 · 0 评论 -
HDMI,VGA,DVI,DP,MINI DP,AV等影音设备接口规格
来源:绿联科技 影音设备的发展近些年很迅速,高清播放机,网络播放机,蓝光播放机,3D播放机等等层出不穷。不管影音设备的功能怎么变化,它的根本目的还是更好的为人服务,满足人的需求。新的功能,新的接口会在影音产品的功能不能满足人们的娱乐生活时应运而生。如同老式“莲花头”不能满足1080P的高清娱乐标准时,新一代的HDMI接口便接过了高清影音传输的重任。本文将介绍几种常见的影音接口的详细参数转载 2014-11-18 13:42:57 · 10220 阅读 · 0 评论 -
httpd 服务器在6410开发板上的移植
本文是在房老师提供文档基础上修改而成,耗费了不少心血--------------------------------------割一个------------------------------------------------------先总结下移植: 1、没有configure的 一般手动修改Makefile,在其readme或Makefile注释都有详细说明;原创 2012-01-11 09:17:43 · 3544 阅读 · 0 评论 -
arm-none-linux-gnueabi-gcc 下载地址
原文:http://www.veryarm.com/arm-none-linux-gnueabi-gccarm-none-linux-gnueabi-gcc是 Codesourcery 公司(目前已经被Mentor收购)基于GCC推出的的ARM交叉编译工具。可用于交叉编译ARM系统中所有环节的代码,包括裸机程序、u-boot、Linux kernel、filesystem和App应用程序。转载 2016-06-21 00:21:10 · 12972 阅读 · 4 评论 -
脚本中执行scp命令的方法
这里假设主机A(192.168.1.2)用来操作目标机B(192.168.1.3)的文件。在主机A上执行如下命令来生成配对密钥:ssh-keygen -t rsa遇到提示回车默认即可,公钥被存到用户目录下.ssh目录,比如root存放在:/root/.ssh/id_rsa.pub将 .ssh 目录中的 id_rsa.pub 文件复制到 目标机B 的 ~/.ssh/ 目原创 2016-06-03 15:05:52 · 4845 阅读 · 0 评论 -
linux 安装 youcompleteme
sudo apt-get install vim-youcompleteme//可能不需要这句sudo apt-get install vim-addon-managervam install youcompleteme原创 2016-03-04 17:52:29 · 738 阅读 · 0 评论 -
arm-linux-androideabi-gcc 预定义宏(编译器版本4.8)
打印方法:touch test.carm-linux-androideabi-gcc -E -dM -c test.c >> marco_arm.txt#define __DBL_MIN_EXP__ (-1021)#define __HQ_FBIT__ 15#define __UINT_LEAST16_MAX__ 65535#define __ARM_SIZEOF_WCHAR_T原创 2015-07-31 20:24:45 · 3438 阅读 · 0 评论 -
???????????? no permissions
使用adb devices 出现如下:List of devices attached???????????? no permissions同时在DDMS中显示设备名也显示????????????,也无法显示进程名,无法查看log。解决方法:1、设置usb权限因为ubuntu这样的系统都是默认以非root身份在运行的,要使用usb调试,需要sudo支持。$转载 2015-03-23 15:40:40 · 503 阅读 · 0 评论 -
update-alternatives命令说明简介及用法
1.功能作用update-alternatives是dpkg的实用工具,用来维护系统命令的符号链接,以决定系统默认使用什么命令。在Debian系统中,我们可能会同时安装有很多功能类似的程序和可选配置,如Web浏览器程序(firefox,konqueror)、窗口管理器(wmaker、metacity)和鼠标的不同主题等。这样,用户在使用系统时就可进行选择,以满足自已的需求。但对于普通用转载 2015-03-26 17:42:51 · 2443 阅读 · 0 评论 -
修订版的“将vim改造为IDE”
本文在原文基础上修订而成,故为转载 工欲善其事,必先利其器。一个强大的开发环境可以大大提高工作效率。好吧,我知道这是废话。。。不过,我想一定有很多跟我一样打算进入Linux平台开发的新手,一开始都为找不到一个像Windows下的VS那样可以一键安装并且功能几乎完美无缺的开发工具而郁闷不已,甚至打算收回刚刚迈出的脚步。所幸的是,通过几天努力,我总算配置出了一个功能完备的基于Vi转载 2014-12-19 18:12:07 · 585 阅读 · 0 评论 -
s3c2410_gpio_cfgpin等内核导出函数
//这里面的函数都是内核导出函数/plat-s3c24XX/gpio.c中#include #include #include #include #include #include #include #include #include #include //设置gpio的工作模式,是输入,输出还是其他的//s3c2410_gpio转载 2013-03-08 16:07:35 · 722 阅读 · 0 评论 -
IO端口和IO内存的区别及分别使用的函数接口
IO端口和IO内存的区别及分别使用的函数接口 每个外设都是通过读写其寄存器来控制的。外设寄存器也称为I/O端口,通常包括:控制寄存器、状态寄存器和数据寄存器三大类。根据访问外设寄存器的不同方式,可以把CPU分成两大类。一类CPU(如M68K,Power PC等)把这些寄存器看作内存的一部分,寄存器参与内存统一编址,访问寄存器就通过访问一般的内存指令进行,所以,这种CPU没转载 2013-03-08 11:33:53 · 10188 阅读 · 0 评论 -
Linux 键盘驱动总体思路
Linux 系统键盘驱动总体思路采用层次型的结构划分成两层,上层是个通用的键盘抽象,完成键盘中不依赖于底层具体硬件的功能;下层是硬件处理层,负责对硬件进行直接操作。按键按下以中断方式处理,使用 tasklet 处理 bottom half, 扫描码的翻译在 top half 中完成, 字符的显示在 bottom half 中完成。上层中 handle_scancode 是驱动的核心,它首先转载 2013-03-06 20:29:47 · 1203 阅读 · 0 评论 -
SQLITE API2
1.0 总览 SQLite3是SQLite一个全新的版本,它虽然是在SQLite 2.8.13的代码基础之上开发的,但是使用了和之前的版本不兼容的数据库格式和API. SQLite3是为了满足以下的需求而开发的: 支持UTF-16编码. 用户自定义的文本排序方法. 可以对BLOBs字段建立索引. 因此为了支持这些特性我改变了数据库的格式,建立了一个与之前版本不兼容原创 2012-03-29 16:30:18 · 425 阅读 · 0 评论 -
sqlite3 学习笔记
============================================================================================sqlite3 学习笔记============================================================================================原创 2012-02-16 18:43:18 · 1327 阅读 · 1 评论 -
mplayer在飞凌ok6410移植(包含多版本交叉编译器)
平台内核:Linuxlibmad版本:0.15.1bmplayer版本:rc2交叉编译器版本:arm-linux-gcc 3.4.1,4.2.2,4.3.2老房原创,转载请声明!!(补充了arm-linux-gcc 4.3.2版本移植过程)**************************************************************转载 2011-12-17 21:35:27 · 2504 阅读 · 3 评论 -
下载最新版yaffs2的方法
1。安装git2。执行git clone git://www.aleph1.co.uk/yaffs2原创 2012-01-19 12:53:16 · 1047 阅读 · 0 评论 -
开发板上如何自定义开机运行脚本以及应用程序
我的板子是ok6410,搭载的2.6.36内核,文件系统是按照老师给的文档自己做的,这两天一直在尝试自定义开机启动脚本文件或应用程序,经历多次失败终于在灵光一闪间成功了,这个方法可能不科学,但是可以实现要求:inittab中要有下面一行:console::respawn:-/bin/shrespawn 意思是自动登录,而不是要你先回车它才会登录,这点在设置子启动程序时需要设置成这样原创 2012-01-19 12:44:12 · 3975 阅读 · 4 评论 -
为OK6410开发板搭建nfs交叉开发环境
1.准备制作好的文件系统,本例中文件系统位于/work/rootfs,权限最好为755或7772.pc端安装nfs服务器:apt-get install nfs-kernel-server3.修改/etc/exports,在末尾添加:/work/rootfs192.168.2.*(rw,sync,no_root_squash) // /work/rootfs 服务原创 2012-01-15 20:44:35 · 872 阅读 · 0 评论 -
嵌入式服务器SQLite3在ok6410开发板上的移植
老房原创修改版-------------------------------------------------------------------------分隔-------------------------------------------------------------------------------------------------------SQLite是一款轻型原创 2012-01-11 20:23:06 · 2126 阅读 · 0 评论 -
如何安装交叉编译器
1。解压arm-linux-gcc 4.3.2到根目录:tar -zxvf arm-linux-gcc-4.3.2.tgz -C /这样会在/usr/local/arm/下出现相关目录2。将bin添加进系统环境变量:在:/etc/bashrc或/etc/profile中添加export PATH=$PATH:/usr/local/arm/4.3.2/bin/原创 2012-01-15 20:53:35 · 963 阅读 · 0 评论 -
vsftpd-2.3.4服务器在ok6410开发板上的移植
老房原创修改版,在房老师教程基础上修改而成。 老房原创,转载声明,熬夜至凌晨2点捣鼓不容易啊!我的环境飞凌OK6410开发板,arm-linux-gcc 4.3.2(我一般用的开发工具不新不旧)--------------------------------------传-说-中-的-分-割-线--------------------------------------------原创 2012-01-11 20:07:14 · 6584 阅读 · 3 评论 -
SQLITE API1
1.0 总览 SQLite3是SQLite一个全新的版本,它虽然是在SQLite 2.8.13的代码基础之上开发的,但是使用了和之前的版本不兼容的数据库格式和API. SQLite3是为了满足以下的需求而开发的: 支持UTF-16编码. 用户自定义的文本排序方法. 可以对BLOBs字段建立索引. 因此为了支持这些特性我改变了数据库的格式,建立了一个与之前版本不兼容原创 2012-03-29 16:29:38 · 533 阅读 · 0 评论 -
调试收获
今天下午就qt程序使用post访问cgi程序出错的问题向好帅老师请教,在观看他调试的过程中我学到了很多东西,现大致记录老师的调试过程如下:0.“queryplay”这个cgi程序无法被qt调用后返回正确信息,于是在queryplay的源码中不同加入了许多的“printf”进行测试,发现qt端无法接受到任何一个添加的“printf”所输出的信息,只有系统本身返回的错误信息,这证明该cgi程序根本原创 2012-03-20 20:01:52 · 843 阅读 · 0 评论 -
OK6410A底板核心板原理图读图
(1)如黑色细线所划的一行,从左到右,红字表示该口已经与某原件的同名端口连接,要想看跟哪个原件相连,可以在图上搜索红色的“RXD2”,就能找到相应原件的相应接口;中间的D19,表示该端口在6410的哪一个位置,因为引脚并不是围绕芯片转了一圈,而是均匀的成矩阵状分布在芯片的一面,A~Z与19等数相当于横纵坐标的作用,原点好像在左上角;右边的用斜杠隔开的多个蓝色字段表示该端口都有那些功能,原创 2012-03-20 20:20:48 · 2006 阅读 · 0 评论 -
Linux设备驱动-顶半部与底半部
尽管有些设备仅通过它们的I/O寄存器就可以得到控制,但现实中的大部分设备却比这复杂一些。设备需要与外部世界打交道,如旋转的磁盘,绕卷的磁带,远距离连接的电缆等。这些设备的许多工作通常是在与处理器完全不同的时间周期内完成的,并且总是要比处理器慢。这种让处理器等待外部事件的情况总是不能令人满意,所以必须有一种方法可以让设备在产生某个事件时通知处理器,这种方法就是中断。在大多数情况下,一个驱动程序只需要转载 2013-03-06 16:39:03 · 1077 阅读 · 0 评论 -
Qt下正确在QByteArray中保存字节数据的方法
示例代码: QByteArray a;a.resize(3);byte b=0xfF;a[1]=b;qDebug("a[1]is X%",a[1]);qDebug("a[1]is %d",QVariant(a[1]).toUInt());qDebug("a.at(1)is X%",a.at(1));qDebug("a.at(1)is %d",QVariant(a原创 2012-11-02 17:20:59 · 28117 阅读 · 2 评论 -
关于 错误:undefined reference to `vtable for xx
普通类是无法使用信号与槽的机制的在类的头文件中包含QDialog或者QWidget或者QMainWindow,然后在类声明时公有继承QDialog(或另外两个),并在声明中添加Q_OBJECT然后在清理项目-重新QMake-重新编译-运行原创 2012-11-01 10:16:45 · 1104 阅读 · 0 评论 -
关于ttyS与ttySAC
PC上的串口一般是ttyS,板子上Linux的串口一般叫做ttySAC,如果你发觉串口不能用,可以看看你是不是用的调试串口或者你用的串口是不是内核启动时给初始化成其他用途了原创 2012-09-14 17:20:50 · 5092 阅读 · 1 评论