随笔分类 -  linux嵌入式

1
linux和嵌入式底层相关
ubuntu redis 自启动配置文件(关机有密码)
摘要:#!/bin/bash # chkconfig : 2345 99 10 ### BEGIN INIT INFO # Provides: redis-server # Required-Start: $syslog $remote_fs # Required-Stop: $syslog $remote_fs # Default-Start:... 阅读全文
posted @ 2017-03-09 18:27 一路前行 阅读(610) 评论(0) 推荐(0) 编辑
ubuntu下postgreSQL安装配置
摘要:一、安装并配置,并设置远程登陆的用户名和密码 1、安装postgreSQL sudo apt-get update sudo apt-get install postgresql-9.4 在Ubuntu下安装Postgresql后,会自动注册为服务,并随操作系统自动启动。 在Ubuntu下安装Pos 阅读全文
posted @ 2016-05-06 10:15 一路前行 阅读(30658) 评论(0) 推荐(5) 编辑
Open-Drain与Push-Pull
摘要:GPIO的功能,简单说就是可以根据自己的需要去配置为输入或输出。(General Purpose Input Output,简称为GPIO或总线扩展器,利用工业标准I2C、SMBus?或SPI?接口简化了I/O口的扩展。当微控制器或芯片组没有足够的I/O端口,或当系统需要采用远端串行通信或控制时,GPIO产品能够提供额外的控制和监视功能。)但是在配置GPIO管脚的时候,常会见到两种模式:开漏(open-drain,漏极开路)和推挽(push-pull)。对此两种模式,有何区别和联系,下面整理了一些资料,来详细解释一下:【Push-Pull推挽输出】原理:输出的器件是指输出脚内部集成有一对互补的 阅读全文
posted @ 2014-04-03 17:39 一路前行 阅读(40164) 评论(1) 推荐(1) 编辑
tiny210裸机第1课(启动原理)
摘要:软硬件环境宿主机系统:ubuntu板子芯片:S5PV210(Contex-A8),512MDDR2,512MSLCNand交叉编译器:arm-linux-gcc-4.5.1手册:S5PV210的S5PV210_UM_REV1.1(老版本居然连内存地址空间都不同)1.写在前面的话 虽然现在主要做应用层软件,还是想学一下底层的东东,弄清楚cpu的启动原理。内容多为摘抄《Linux平台下Mini210S裸机程序开发指南》--友善之臂和他人博客,作为日后翻阅的笔记之用。2.S5PV210介绍S5PV210的datasheet中有对它的基本架构的一些介绍,里面有这么一幅图 从这张图中我们可以看... 阅读全文
posted @ 2014-03-22 17:05 一路前行 阅读(3992) 评论(0) 推荐(1) 编辑
协处理器CP15
摘要:在基于ARM的嵌入式应用系统中,存储系统通常是通过系统控制协处理器CP15完成的。ARM处理器使用协处理器15(CP15)的寄存器来控制cache、TCM和存储器管理。CP15包含16个32位的寄存器,其编号为0~15。CP15访问CP15寄存器的指令MCR ARM寄存器到协处理器寄存器的数据传送MRC 协处理器寄存器到ARM寄存器的数据传送MCR指令和MRC指令只能在处理器模式为系统模式时执行,在用户模式下执行MCR指令和MRC指令将会触发未定义指令的异常中断。MCR指令MCR指令将ARM处理器的寄存器中的数据传送到协处理器寄存器中。如果协处理器不能成功地执行该操作,将产生未定义的指令异常中 阅读全文
posted @ 2014-03-17 23:47 一路前行 阅读(6339) 评论(0) 推荐(0) 编辑
arm-linux-objdump
摘要:一.arm-linux-objdump常用来显示二进制文件信息,常用来查看反汇编代码二.常用选项:1.-b bfdname 指定目标码格式2.—disassemble或者-d 反汇编可执行段3.—dissassemble-all或者-D 反汇编所有段4.-EB,-EL指定字节序5.—file-headers或者-f 显示文件的整体头部摘要信息6.—section-headers,--headers或者-h 显示目标文件中各个段的头部摘要信息7.—info 或者-I 显示支持的目标文件格式和CPU架构8.—section=name或者-j name显示指定section 的信息9.—archit 阅读全文
posted @ 2014-03-16 00:44 一路前行 阅读(5433) 评论(0) 推荐(0) 编辑
*(volatile unsigned long *) 语法
摘要:#define GPJ2CON (*(volatile unsigned long *) 0xE0200280)开始对于上面的语法不太理解,但通过拆分,我们可以看的更明白:1、(unsigned long *)变量,代表“变量”是一个unsigned long类型的指针;例如:(unsigned long *)i ,语句中 i 即为(unsigned long *)的一个指针;2、volatile是一个修饰符,告诉编译器此段代码不要优化;因此,(volatile unsigned long *)变量,意思是未优化指针类型的变量;例如:(volatileunsigned long *)i ,语句 阅读全文
posted @ 2014-03-13 00:17 一路前行 阅读(10811) 评论(0) 推荐(1) 编辑
名词解释:DRAM, SRAM, SDRAM等
摘要:SRAM:静态RAM,不用刷新,速度可以非常快,像CPU内部的cache,都是静态RAM,缺点是一个内存单元需要的晶体管数量多,因而价格昂贵,容量不大。 DRAM:动态RAM,需要刷新,容量大。 SDRAM:同步动态RAM,需要刷新,速度较快,容量大。DDR SDRAM:双通道同步动态RAM,需要刷新,速度快,容量大具体解释:什么是DRAM DRAM 的英文全称是'Dynamic RAM',翻译成中文就是'动态随机存储器'。DRAM用于通常的数据存取。我们常说内存有多大,主要是指DRAM的容量。什么是SRAMSRAM 的英文全称是'Static RAM& 阅读全文
posted @ 2014-03-12 00:04 一路前行 阅读(4240) 评论(0) 推荐(0) 编辑
更换ubuntu apt-get 源
摘要:为了优化ubuntu软件安装/更新速度,我测试了国内几家apt源的速度,发现北京交大的apt源速度相对最快,然后可以通过以下步骤更新ubuntu源1) 备份默认的apt源1 $ cd /etc/apt2 $ sudo cp sources.list sources.list.backup2) 编辑$ sudo gedit sources.list复制粘贴以下列表: 1 deb http://archive.ubuntu.com/ubuntu/ raring main restricted universe multiverse 2 deb http://archive.ubuntu.com/u 阅读全文
posted @ 2014-03-10 11:22 一路前行 阅读(68626) 评论(3) 推荐(0) 编辑
arm-linux-objcopy
摘要:被用来复制一个目标文件的内容到另一个文件中,可用于不同源文件的之间的格式转换示例:arm-linux-objcopy –O binary –S file.elf file.bin常用的选项(大写):input-file , outflie输入和输出文件,如果没有outfile,则输出文件名为输入文件名2.-l bfdname或—input-target=bfdname用来指明源文件的格式,bfdname是BFD库中描述的标准格式名,如果没指明,则arm-linux-objcopy自己分析3.-O bfdname 输出的格式4.-F bfdname 同时指明源文件,目的文件的格式5.-R sec 阅读全文
posted @ 2014-03-09 20:26 一路前行 阅读(8969) 评论(0) 推荐(0) 编辑
arm-linux-gcc 常用参数讲解 gcc编译器使用方法
摘要:我们需要编译出运行在ARM平台上的代码,所使用的交叉编译器为arm-linux-gcc。下面将arm-linux-gcc编译工具的一些常用命令参数介绍给大家。在此之前首先介绍下编译器的工作过程,在使用GCC编译程序时,编译过程分为四个阶段:1. 预处理(Pre-Processing)2. 编译(Compiling)3. 汇编(Assembling)4. 链接(Linking)Linux程序员可以根据自己的需要让 GCC在编译的任何阶段结束,以便检查或使用编译器在该阶段的输出信息,或者对最后生成的二进制文件进行控制,以便通过加入不同数量和种类的调试代码来为 今后的调试做好准备。和其它常用的编译器 阅读全文
posted @ 2014-03-08 12:29 一路前行 阅读(31246) 评论(0) 推荐(3) 编辑
嵌入式字节(空间)转换
摘要: 阅读全文
posted @ 2014-03-07 16:43 一路前行 阅读(290) 评论(0) 推荐(0) 编辑
嵌入式小知识(累积更新)
摘要:1、1个WORD等于多少个字节?答:在不同的系统中,一个字WORD占据的空间不同。你所说的在32位嵌入式系统中,一个字WORD占32bit,即4个字节;半字Half-word占16bit;字节Byte占8位。2、SLCFlash和MLCFlash区别答:存储单元分为两类:SLC(Single Lev... 阅读全文
posted @ 2014-03-07 14:16 一路前行 阅读(313) 评论(0) 推荐(0) 编辑
Ubuntu 13.10 安装 ia32-lib
摘要:Ubuntu 13.10下面不参直接安装ia32-libs,直接安装的时候会提示下面的信息:output$ sudo apt-get install ia32-libsReading package lists... DoneBuilding dependency treeReading state information... DonePackage ia32-libs is not available, but is referred to by another package.This may mean that the package is missing, has been obso 阅读全文
posted @ 2014-03-05 23:00 一路前行 阅读(1045) 评论(0) 推荐(0) 编辑
vim扩展配置
摘要:在用户根目录下新建 “.vimrc”文件,键入一下代码:set syntax=on "高亮语法set fenc=utf-8 "设定默认解码 set fencs=utf-8,usc-bom,euc-jp,gb18030,gbk,gb2312,cp936 set nocp "或者 set nocompatible 用于关闭VI的兼容模式 set number "显示行号 set ai "或者 set autoindent vim使用自动对齐,也就是把当前行的对齐格式应用到下一行 set si "或者 set smartindent 依据上 阅读全文
posted @ 2014-03-03 00:58 一路前行 阅读(890) 评论(0) 推荐(0) 编辑
微处理器引脚定义
摘要: 阅读全文
posted @ 2014-02-25 14:47 一路前行 阅读(453) 评论(0) 推荐(0) 编辑
C语言位运算符及作用:与、或、异或、取反、左移和右移
摘要:一、& 按位与如果两个相应的二进制位都为1,则该位的结果值为1,否则为0应用:(1)清零 若想对一个存储单元清零,即使其全部二进制位为0,只要找一个二进制数,其中各个位符合一下条件:原来的数中为1的位,新数中相应位为0。然后使二者进行&运算,即可达到清零目的。 a 00101011 b 10010100 c 00000000 //c = a & b(2)取一个数中某些指定位 若有一个整数a(2byte),想要取其中的低字节,只需要将a与8个1按位与即可。 a 00101100 10101100 b 00000000 11111111 c 00000000 1010110 阅读全文
posted @ 2014-02-10 15:56 一路前行 阅读(24488) 评论(2) 推荐(3) 编辑
chkconfig : No such file or directory
摘要:sys_version:12.04LTSFor example:#chkconfig --level mysql on/sbin/insserv:No such file or directoryFix:# ln -s /usr/lib/insserv/insserv /sbin/insservPS:在debian和ubuntu中可以使用sysv-rc-conf来代替chkconfig,使用方法很简单,和chkconfig类似sudo sysv-rc-conf --level 12345 samba4 on 阅读全文
posted @ 2014-01-16 00:22 一路前行 阅读(1999) 评论(0) 推荐(0) 编辑
ubuntu13.10下安装samba
摘要:1、现在的ubuntu系统都默认安装了samba服务,如果是精简系统的话,可以通过apt-get进行安装sudo apt-get install samba sudo apt-get cifs-utils 2、给你要共享的目录添加权限# /home路径下新建一个文件夹,名为sharemkdir /home/share# 给文件夹增加读写等权限(777代表所有权限)sudo chmod 777 /home/share3、创建samba账户(如果用已经有的系统账户,可以跳过3,直接看步骤4)# zhangps 为新建的账户名sudo useradd zhangps4、为已有的账户设置samba密码 阅读全文
posted @ 2014-01-15 23:09 一路前行 阅读(341) 评论(0) 推荐(0) 编辑
Ubuntu下删除配置错误或者失败的安装包
摘要:aptitude purge $(dpkg -l|grep ^rc|awk '{ print $2 }')解释:dpkg -l 列出系统中所有安装的软件,如果是已经删除的软件(有残存的配置文件),那么该的软件包的状态是rc,即开头显赫为rc 然后是空格,然后是软件包的名称|grep ^rc 的用处就是找出状态为rc的所有软件包,即以rc开头的行;|awk '{ print $2 }' awk可以将输入的字符串用指定的分隔符进行分解,缺省情况下是空格,$2是表示第二个字段,也就是软件包的名称,因为第一个字段是 rc$(......)是一个shell表示法,即里面包 阅读全文
posted @ 2014-01-15 21:03 一路前行 阅读(1383) 评论(0) 推荐(0) 编辑

1