
嵌入式
文章平均质量分 70
犬神月R
这个作者很懒,什么都没留下…
展开
-
Linux中用户管理详解
一、原理了解在Linux系统中,所有的用户和组像一个国家。如果国家要繁荣昌盛的话,需要治理得当,需要有主席或者总统,以及地方官员和老百姓组成。在linux中如果你对安全需求比较苛刻,完全可以限制用户的各种行为,不同用户的权限是不同的。在linux中系统中,它并不认识帐号名称。它认识的是我们的帐号ID,帐号ID保存在/etc/passwd文件中。我们在登录linux主机时,在输入完帐号和密码原创 2016-05-14 13:27:34 · 2255 阅读 · 0 评论 -
编译模块时遇到Invalid module format
加载模块:sudo insmod dnw_usb.koinsmod: error inserting 'dnw_usb.ko': -1 Invalid module format查看内核版本:uname –aLinux ubuntu 3.2.0-29-generic-pae #46-Ubuntu SMP Fri Jul 27 17:25:43 UTC 2012 i686 i686 i3转载 2016-05-21 00:05:31 · 10163 阅读 · 0 评论 -
Bootloader架构设计
此部分为Uboot第一阶段,后期陆续补上第二阶段。1.Bootloader核心初始化(硬件初始化)在这部分还和开发板没关系,只和处理器有关1.1 异常处理start.S.text.global _start_start: b reset原创 2016-05-21 00:00:46 · 1163 阅读 · 0 评论 -
tftp_nfs_samba搭建
tftp服务器搭建[1] 基本原理tftp服务器最好搭建在Linux系统上面,这里是在虚拟机(ubuntu)上搭建tftp服务器,搭建步骤如下:1.确认虚拟机和外网连通2.安装tftp服务软件并启动3.配置tftp服务软件权限和参数4.本机验证tftp服务[2] 具体过程1.确认网络连通在ubuntu上,安装软件需要网络的支持,所以安装...原创 2016-05-20 23:51:39 · 609 阅读 · 0 评论 -
程序烧写方法详细讲解
同时支持S3C2410、S3C2440、s3c6410同时支持OpenJTAG、并口JTAG、支持所有Nor、Nand Flash的烧写工具oflash发布,并口JTAG分dongle、wiggler两种,如果不确定是哪种可以都试试。一.windows版本:oflash.exe把FTD2XX.dll放到C:\WINDOWS\system32目录下,或是放在oflash.exe同一个目录原创 2016-05-20 23:38:56 · 14487 阅读 · 0 评论 -
arm-linux交叉编译环境搭建及交叉工具链 (JZ2440v2)
1. 交叉编译环境搭建:(1)caihuanming@ubuntu:/home/caihuanming# #不是root用户tar xvf arm-linux-gcc-3.4.5-glibc-2.3.6.tar.bz2 -C ./ #注意是xvf不是xvzf(2)caihuanming@ubuntu:/home/caihuanming#export PA原创 2016-05-14 15:33:22 · 1935 阅读 · 0 评论 -
Makefile编写
Makefile的组成:目标(规则):依赖(变量)objs := head.o init.o nand.o main.onand.bin : $(objs)arm-linux-ld -Tnand.lds -o nand_elf $^ #ld 连接 $^ 所有依赖文件# $^ ==> head.o init.o nand.o main.oarm-linux-objcopy原创 2016-05-14 15:02:33 · 489 阅读 · 0 评论 -
Linux网络配置
一、修改IP地址手动改/etc/sysconfig/network-scripts/ifcfg-eth0文件 #第二块网卡:vi /etc/sysconfig/network-scripts/ifcfg-eth1DEVICE=eth0 #物理设备名IPADDR=192.168.1.10 #IP地址NETMASK=255.255.255.0 #掩码值N原创 2016-05-14 15:00:00 · 379 阅读 · 0 评论 -
Linux内核移植
本文是基于JZ2440板进行内核移植,结合了《嵌入式Linux应用开发完全手册》内核移植和其他文章的总结出的。一、利用打补丁的方式实现内核移植$ tar xjflinux-2.6.22.6.tar.bz2 –C ./$ cdlinux-2.6.22$ patch -p1 $ mv …/4.3寸LCD_mach-smdk2440.c arch/arm/mach-s3c2440/m原创 2016-05-20 22:40:10 · 338 阅读 · 0 评论 -
总结单片机软件抗干扰的几种办法
在提高硬件系统抗干扰能力的同时,软件抗干扰以其设计灵活、节省硬件资源、可靠性好越来越受到重视。下面以MCS-51单片机系统为例,对微机系统软件抗干扰方法进行研究。1、软件抗干扰方法的研究在工程实践中,软件抗干扰研究的内容主要是:一、消除模拟输入信号的噪声(如数字滤波技术);二、程序运行混乱时使程序重入正轨的方法。本文针对后者提出了几种有效的软件抗干扰方法。1.1 指令冗余 CPU转载 2016-07-02 20:20:24 · 840 阅读 · 0 评论 -
嵌入式系统中看门狗的使用总结
一、看门狗原理 在产品化的嵌入式系统中,为了使系统在异常情况下能自动复位,一般都需要引入看门狗。 看门狗其实就是一个可以在一定时间内被复位的计数器。当看门狗启动后,计数器开始自动计数,经过一定时间,如果没有被复位,计数器溢出就会对CPU产生一个复位信号使系统重启(俗称“被狗咬”)。系统正常运行时,需要在看门狗允许的时间间隔内对看门狗计数器清零(俗称“喂狗”),不让复位信号产生。转载 2016-07-05 10:41:20 · 1010 阅读 · 0 评论 -
Android应用程序访问linux驱动第三步:实现并向系统注册Service
文中讲到向系统注册Service ,为“Android程序访问linux驱动”这一实践走近了步。文中对原博主相关部分做了补充和修改,并便于大家完整学习“Android应用程序访问linux驱动”本文链接了原博主优秀博客。文中有不足之处,大家也请和我聊聊,我将其完善,方便大家学习。转载 2017-06-24 21:26:06 · 841 阅读 · 0 评论 -
SourceInsight代码工程
1.将Linux平台下原压缩文件在Linux平台压缩(在Windows下不区分大小写,可能覆盖文件)u-boot-1.1.6包。(caihuanming@ubuntu:~$ tar xjfu-boot-1.1.6.tar.bz2 -C ./)2.将压缩的文件传到Windows指定位置F:\Embedded\S3C2440\arm_proj\u-boot-1.1.6,在SourceInsight原创 2016-05-21 00:06:59 · 463 阅读 · 0 评论 -
环境变量的访问及设置
1、在Windows 系统下,很多软件安装都需要配置环境变量,比如安装 jdk ,如果不配置环境变量,在非软件安装的目录下运行javac 命令,将会报告找不到文件,类似的错误。 2、那么什么是环境变量?简单说,就是指定一个目录,运行软件的时候,相关的程序将会按照该目录寻找相关文件。 设置变量对于一般人最实用的功能就是: 不用拷贝某些dll文件到系统目录中了,而path这一系统变量就是系统搜原创 2016-05-21 00:09:12 · 583 阅读 · 0 评论 -
Linux下静态库和动态库
1. Linux下静态库与动态库的生成与调用 首先,这里有3个概念,静态库,动态库. 静态库:是程序在链接时将静态库拷贝到可执行文件里,即生成可执行文件后,即使删除静态库,可执行文件仍可正常执行。 动态库:也叫共享库,程序只是在链接时在可执行文件时保存了该库的信息,可执行文件执行时候需要到LD_LIBRAY_PATH或者/etc/ld.so.config里指定的原创 2016-05-21 00:40:07 · 397 阅读 · 0 评论 -
Vi 编辑器的三种模式
一、简介Vi 编辑器是一个命令行编辑器,类似于我们windows下的记事本。它有以下三种模式。命令模式:vi界面默认进入的模式,可以输入命令来执行多种功能。例如:光标的 移动,字符、行的移动等。当有文本中有内容的时候,在命令模式下:h-------表示光标向左移动 l-------表示光标向右移动j-------表示光标向下移动k---原创 2016-05-14 13:12:23 · 19925 阅读 · 0 评论 -
sizeof的详尽计算结构体字节数方法
Sizeof用法本文主要包括二个部分,第一部分重点介绍在VC中,怎么样采用sizeof来求结构的大小,以及容易出现的问题,并给出解决问题的方法,第二部分总结出VC中sizeof的主要用法。1、 sizeof应用在结构上的情况请看下面的结构:struct MyStruct{double dda1;char dda;int type};对结构MyStruct采用转载 2016-05-14 14:37:07 · 1237 阅读 · 0 评论 -
嵌入式C语言实例(达内2013)
1.Switch练习#includeint main(){int shu_zi=0;printf("请输入一个数:");scanf("%d",&shu_zi);switch(shu_zi%2){case 0:printf("结果为假\n");break;case 1:printf("结果为真\n");break;default:pri原创 2016-05-14 14:26:58 · 3207 阅读 · 0 评论 -
利用VisuAlgo通过动画学习算法和数据结构
VisuAlgo是由Steven Halim博士在2011年发布的一款可视化学习算法的工具,用于帮助其学生更好地理解数据结构和算法,可以让学生按自己的步骤来学习。VisuAlgo不仅支持暂停、单步、回退等功能,演示算法的时候,还可查看算法代码的执行过程。更多详细,大家可以访问其官网: http://zh.visualgo.net/(中文) http://原创 2016-05-21 17:07:20 · 1282 阅读 · 0 评论 -
不要做浮躁的嵌入式系统工程师
浮躁的人容易问:我到底该学什么?----别问,学就对了!浮躁的人容易问:有钱途吗?----建议你去抢银行算了!浮躁的人容易说:我要中文版!我英文不行!----不行?学呀!浮躁的人分两种:只观望而不学的人;只学而不坚持的人。浮躁的人永远不是(也成不了)一个高手。转载 2016-04-30 11:30:46 · 656 阅读 · 0 评论 -
socket属性设置
//设置socket属性int getsockopt(intsockfd, int level, int optname,void *optval, socklen_t *optlen);int setsockopt(intsockfd, int level, int optname,const void *optval, socklen_t optlen); 功能: 获原创 2016-05-21 16:57:28 · 932 阅读 · 0 评论 -
链接器脚本lds
链接器把多个输入文件链接为一个输出文件。输出文件和每个输入文件都拥有一种特殊的数据格式,称作目标文件格式。每个文件的都被叫做目标文件,输出文件通常叫做可执行文件,不过这儿出于我们的目的,我们仍然称呼它为目标文件。每个目标文件有一系列的段。我们用输入段来引用输入文件中的段,用输出段来引用输出文件中的段。vim led.ldsSECTIONS {. = 0x0; //. 当前位置,设置起始原创 2016-05-21 16:46:57 · 528 阅读 · 0 评论 -
stdin/STDIN_FILENO区别和重定向
1.STDIN_FILENO的作用STDIN_FILENO属于系统API接口库,其声明为 int 型,是一个打开文件句柄,对应的函数主要包括 open/read/write/close 等系统级调用。操作系统一级提供的文件API都是以文件描述符来表示文件。STDIN_FILENO就是标准输入设备(一般是键盘)的文件描述符。 2.区别1)数据类型不一致:stdin类型为 FI原创 2016-05-21 16:22:43 · 782 阅读 · 0 评论 -
Linux 内存使用方法详细解析
我是一名程序员,那么我在这里以一个程序员的角度来讲解Linux内存的使用。一提到内存管理,我们头脑中闪出的两个概念,就是虚拟内存,与物理内存。这两个概念主要来自于linux内核的支持。Linux在内存管理上份为两级,一级是线性区,类似于00c73000-00c88000,对应于虚拟内存,它实际上不占用实际物理内存;一级是具体的物理页面,它对应我们机器上的物理内存。这里要提到一个很重要的概念转载 2016-05-21 00:17:15 · 385 阅读 · 0 评论 -
文件权限详解
本文省略了对linux文件权限和umask基本知识的介绍,有需要的了解的博友可以参看其他资料。刚开始接触Linux时对于文件权限的理解并不是很透彻,这里详细介绍一下数字文件权限和字母文件权限的对应关系,以帮助Linux入门初学者尽快的完成对文件权限的理解,尽快学习Linux系统更深层次内容。Linux下,查看某路径下用(ls -l)查看所有文件的详细属性列表时,会看到文件的操作权限,类似“原创 2016-05-28 14:33:29 · 1939 阅读 · 0 评论 -
不可忽略的面试题
一、什么叫可重入?可重入函数主要用于多任务环境中,一个可重入的函数简单来说就是可以被中断的函数,也就是说,可以在这个函数执行的任何时刻中断它,转入OS调度下去执行另外一段代码,而返回控制时不会出现什么错误;而不可重入的函数由于使用了一些系统资源,比如全局变量区,中断向量表等,所以它如果被中断的话,可能会出现问题,这类函数是不能运行在多任务环境下的。二、tcp/I转载 2016-05-28 12:07:32 · 521 阅读 · 0 评论