- 博客(29)
- 资源 (36)
- 收藏
- 关注
转载 C语言中exit(0)与exit(1)有什么区别
exit好象在stdio.h里面,所以要有包含头文件 return是语言级别的,它表示了调用堆栈的返回;而exit是系统调用级别的,它表示了一个进程的结束。 return是返回函数调用,如果返回的是main函数,则为退出程序 exit是在调用处强行退出程序,运行一次程序就结束 ----------------------------------------
2016-12-27 09:29:27 1411
转载 Linux 终端下颜色的输出
在命令行下也能产生五颜六色的字体和图案,只需要加上一些颜色代码,例如 echo -e "\033[41;36m 红底绿字\033[0m" 其中41的位置代表底色, 36的位置是代表字的颜色 那些ascii code 是对颜色调用的始末. \033[ ; m …… \033[0m 字背景颜色范围:40----49 40:黑
2016-12-27 00:53:34 1103
转载 linux shell数据重定向(输入重定向与输出重定向)详细分析
在了解重定向之前,我们先来看看linux 的文件描述符。linux文件描述符:可以理解为linux跟踪打开文件,而分配的一个数字,这个数字有点类似c语言操作文件时候的句柄,通过句柄就可以实现文件的读写操作。 用户可以自定义文件描述符范围是:3-num,这个最大数字,跟用户的:ulimit –n 定义数字有关系,不能超过最大值。 linux启动后,会默认打开3个文件描述符,分
2016-12-27 00:14:07 1075
转载 理解adr,ldr指令
在阅读u-bootstart.S时,对adr和ldr指令有些疑惑,经韦老师指点,在参阅了一些网上的博文后,做了这个实验:参照韦老师的代码和Makefile写了test_adr.S:.text.globl _start_start: ldr r0,test adr r0,test ldr r0,=test nop
2016-12-26 18:24:19 1701
转载 ARM系列之“什么是体系结构”
什么是体系结构? 所谓“体系结构”,也可以称为“系统结构”,是指程序员在为特定处理器编制程序时所“看到”从而可以在程序中使用的资源及其相互间的关系。体系结构最为重要的就是处理器所提供的指令系统和寄存器组。指令系统分为CISC(Complex Instruction Set Computer,复杂指令集计算机)和RISC(Reduced Instruction Set C
2016-12-26 06:44:35 2189
转载 ARM协处理器命令MCR-MRC
ARM协处理器cp15,有16个寄存器,详细看《ARM体系结构与编程》这里我大概说一下MRC与MCR这两个协处理器操作,参考《s3c2440》元件手册P140页这两个命令是用于ARM寄存器与协处理器寄存器之间操作的,一个协处理器与寄存器之前操作的例子就是,一个浮点值在协处理器中转换成32位整型,然后它的结果传送到ARM920T的寄存器中MRC。相反则为MCR。最重要的应用就
2016-12-26 05:41:37 1126
转载 s3c2440时钟分频
如果cpu是计算机的大脑,电流是计算机的血液,那么时钟则是计算机的心脏,时钟频率决定了处理器运算的快慢,它的每一次“跳动”都驱动着处理器不停的执行命令。不同的是,人的各个部位心率是一样的,但计算机却有多个频率,而且每个部位可能有不同的频率,比如“大脑”有一个频率,“手“有一个频率,“脚”使用的是另外一个频率,这样就产生了两个问题:怎么产生这些不同的频率?处理器怎么与自己不同频率的外设实现交互?
2016-12-25 22:50:46 1889
转载 MRS,MSR指令详解
在ARM处理器中,只有MRS(Move to Register from State register)指令可以对状态寄存器CPSR和SPSR进行读操作。通过读CPSR可以获得当前处理器的工作状态。读SPSR寄存器可以获得进入异常前的处理器状态(因为只有异常模式下有SPSR寄存器)。例如:MRS R1,CPSR ; 将CPSR状态寄存器读取,保存到R1中MRS
2016-12-25 22:29:48 2929
转载 arm汇编—bic ,orr
Rd, Rn, Oprand2BIC(位清除)指令对 Rn 中的值 和 Operand2 值的反码按位进行逻辑“与”运算。 (注意:ARM官方网站有误, 写的是补码)BIC 是 逻辑”与非” 指令, 实现的 Bit Clear的功能举例:BIC R0, R0 , #0xF0000000#将 R0 高4位清零BIC R1, R1, #
2016-12-25 22:29:11 1559
转载 ARM处理器工作模式
ARM有7种处理器模式,其由CPSR的[4:0]位决定。用户模USR:正常程序动行的工作模式。只能读CPSR不能写系统模式sys:与用户模式共用一套寄存器。用于支持操作系统的特权任务模式,但它具有直接切换到其它模式的特权。管理模式svc:操作系统的特权任务模式。系统复位和软件中断时才进入这个模式中止abt:在ARM7中没多大做用.另外还有未定义und中断(irq),
2016-12-25 22:06:07 1238
原创 u-boot-1.1.6分析之makefile
本文在上文基础上进行分析,http://blog.csdn.net/qq_33160790/article/details/538670131.在u-boot-1.1.6下找到Makefile2.分析$make 100ask24x0_config打开Makefile文件,搜索100ask24x0_config可找到:100ask24x0_config:unconfig@$(MK
2016-12-25 06:52:26 1269
原创 shell中-参数
关系运算符:-eq 检测两个数是否相等,相等返回True-ne 检测两个数是否相等,不相等返回True-gt 检测左边的数是否大于右边,如果是,则返回True-lt 检测检测左边的数是否小于右边的,如果是,则返回True-ge 检测左边的数是否大等于右边的,如果是,则返回True-le 检测左边的数是否小等于右边的,如果是,则返回True布尔运算符! 非运算,表达式
2016-12-25 06:12:32 1025
原创 ubuntu下解压缩文件
.tar 解包:tar xvf FileName.tar打包:tar cvf FileName.tar DirName(注:tar是打包,不是压缩!) ---------------------------------------------.gz 解压1:gunzip FileName.gz解压2:gzip -d FileName.gz压缩:gzip FileNa
2016-12-25 04:23:51 1128
原创 ARM汇编必知必会
ARM指令集:ADC 带进位的32位数加法ADD 32位数相加AND 32位数的逻辑与B 在32M空间内的相对跳转指令BIC 32位数的逻辑位清零BKPT 断点指令BL 带链接的相对跳转指令BLX 带链接的切换跳转BX 切换跳转CDP\CDP2 协处理器数据处理操作CLZ 零计数CMN 比较两个数的相反数CMP 32位数比较EOR 3
2016-12-25 04:20:19 1474
原创 ARM汇编学习的总结
ARM汇编指令的一些总结ARM汇编指令很多,但是真正常用的不是很多,而且需要认真琢磨的又更少了。比较有用的是MOV B BL LDR STR还是通过具体汇编代码来学习吧。 @ disable watch dog timer mov r1, #0x53000000 //立即数寻址方式 mov r2, #0x0
2016-12-25 04:17:50 1205
原创 编写bootloader(一)
BootLoader功能:初始化nandflash,启动内核(转到其入口地址)。BootLoader要求:BootLoader启动内核时还需要传递给内核一些信息(tag),其中有两个必不可少的内存标记和命令行参数,当然还有一个机器ID,BootLoader传递的机器ID必须和内核支持的机器ID匹配。需要知道的信息:1.内核在nandflash中的地址。如果内核是uImage映像文件,跳
2016-12-23 16:53:04 1365
原创 vsftp配置
sudo apt-get install vsftpd安装了之后会在/home/下建立一个ftp目录。这时候你可以试着访问下ftp://IP地址。应该可以看到一个空白内容的ftp空间。默认设置下匿名用户可以下载,但不能写入或是上传设置 vsftpd.conf文件现在我们要让匿名用户无法访问,并且得输入linux上的用户密码后才能访问到他们自己目录里的内容。首先找到设置vsftp
2016-12-20 10:46:06 1096
转载 Linux上的ftp配置,及错误500 OOPS: could not bind listening IPv4 socket解决
像其它守护程序一样,vsftpd提供了standalone和inetd(inetd或xinetd)两种运行模式。简单解释一下,standalone一次性启动,运行期间一直驻留在内存中,优点是对接入信号反应快,缺点是损耗了一定的系统资源,因此经常应用于对实时反应要求较高的专业FTP服务器。inetd恰恰相反,由于只在外部连接发送请求时才调用FTP进程,因此不适合应用在同时连接数量较多的系统。此外,i
2016-12-20 10:38:49 5020
原创 嵌入式linux开发ubuntu下常用操作
以树状图显示指定路径结构:tree -x path 显示后台暂停的进程:jobsfg number 将本地文件拷贝至远端scp local_file remote_username@remote_ip:remote_folder 杀死指定程序:killall minicom 登陆ssh:(主机需要安装server,apt-get inst...
2016-12-20 10:33:52 2114
原创 vi小技巧
VIM高亮:用vim时,想高亮显示一个单词并查找的方发,将光标移动到所找单词.1: shift + "*" 向下查找并高亮显示2: shift + "#" 向上查找并高亮显示3: "g" + "d" 高亮显示光标所属单词,"n" 查找!自定义快捷键功能:比如使用以下命令,指定F10键来新建标签页::map <F10> <Esc>:t...
2016-12-13 15:38:56 1862
转载 Segmentation fault到底是何方妖孽
前两天和阿彬扯淡的时候(注意不是扯蛋),他说自己一个礼拜解决了三个Core dump,华丽丽之极,让我对其敬仰、膜拜之情如滔滔之江水,绵绵不绝。今天我也来谈一下Linux环境下开发时经常遇到的“Segmetation fault”的一点点个人看法,也算是抛砖引玉了。 (备注:我的glibc版本是2.12,GCC版本4.4.6,内核版本2.6.32-279) Linux上开发时最
2016-12-03 03:22:04 1055
原创 C语言符号优先级
优先级运算符名称或含义使用形式结合方向说明1[]数组下标数组名[常量表达式]左到右 ()圆括号(表达式)/函数名(形参表) .成员选择(对象)对象.成员名
2016-12-03 02:21:16 1128
原创 C语言中关于float、double、long double精度及数值范围理解
IEEE754浮点数的表示方法。C语言里对float类型数据的表示范围为-3.4*10^38~+3.4*10^38。double为-1.7*10^-308~1.7*10^308,long double为-1.2*10^-4932~1.2*10^4932.类型比特(位)数有效数字数值范围float
2016-12-03 02:17:34 3132
原创 C语言运算中的数据类型自动转换原则
1、隐式转换 C在以下四种情况下会进行隐式转换: 1、算术运算式中,低类型能够转换为高类型。 2、赋值表达式中,右边表达式的值自动隐式转换为左边变量的类型,并赋值给他。 3、函数调用中参数传递时,系统隐式地将实参转换为形参的类型后,赋给形参。 4、函数有返回值时,系统将隐式地将返回表达式类型转换为返回值类型,赋值给调用函数。
2016-12-03 02:03:20 1251
原创 指针作为形参
void swap1(int a,int b){ int t; t=a; //普通的形参 a=b; //不改变外部参数 b=t;}void swap2(int *a,int *b){ int t; t=*a; //用指针作为形参, *a=*b; //通过指针 *b=t; //去改变外部变量 }注意在swap2调用时应该用取地址符:swap1(a,b);swap2(&
2016-12-02 14:30:53 1319
原创 顺序表的实现(未完)
#includetypedef struct _Seqlist{ int data[100]; int length;}Seqlist;void creat_list();void show_list();Seqlist L;void main(){ L.length=0; creat_list(); show_list();}void creat_list()
2016-12-02 13:07:37 1048
转载 linux输入子系统概念介绍
在此文章之前,我们讲解的都是简单的字符驱动,涉及的内容有字符驱动的框架、自动创建设备节点、Linux中断、poll机制、异步通知、同步互斥、非阻塞、定时器去抖动。上一节文章链接:http://blog.csdn.net/lwj103862095/article/details/17589311在这一节里,我们要引入linux的分离分层的概念,linux输入子系统是一个很好的代表,在
2016-12-02 00:10:07 1087
转载 linux驱动面试题二
1.什么是GPIO?general purpose input/output GPIO是相对于芯片本身而言的,如某个管脚是芯片的GPIO脚,则该脚可作为输入或输出高或低电平使用,当然某个脚具有复用的功能,即可做GPIO也可做其他用途。 也就是说你可以把这些引脚拿来用作任何一般用途的输入输出,例如用一根引脚连到led的一极来控制它的亮灭,也可以用一根(一些)引脚连到一个
2016-12-01 01:58:30 1362
转载 linux驱动面试题整理
1、字符型驱动设备你是怎么创建设备文件的,就是/dev/下面的设备文件,供上层应用程序打开使用的文件?答:mknod命令结合设备的主设备号和次设备号,可创建一个设备文件。评:这只是其中一种方式,也叫手动创建设备文件。还有UDEV/MDEV自动创建设备文件的方式,UDEV/MDEV是运行在用户态的程序,可以动态管理设备文件,包括创建和删除设备文件,运行在用户态意味着系统要运行之后。那
2016-12-01 01:55:46 1370
stm32f103超声波测距
2017-12-22
VMwareTools-9.6.0-1294478.tar.gz
2017-10-16
mkbooting和unpackbootimg适用于ubuntu
2017-10-11
dragon board 410c 中文开发文档
2017-10-11
tiny4412内核补丁dm9621
2017-08-31
qemu内核调试环境文件系统
2018-07-25
vim配置for ubuntu
2018-07-22
keil5——51
2018-03-22
STM32F103VET6 usart demo
2018-03-10
Micrium_STM32xxx_uCOS-II
2018-03-08
Cortex™ -A Series Version: 3.0 Programmer’s Guide
2018-03-08
i2c-tools-distrotech-i2c-tools
2018-03-07
2440根文件系统
2018-02-07
glibc-2.23.tar.bz2
2018-02-05
QEMU使用手册
2018-02-03
jz2440 u'boot
2018-01-21
工程文件....
2018-01-13
jz2440使用的kernel
2018-01-13
Jz2440v2对应的uboot
2018-01-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人