自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

转载 ifconfig eth0输出里没有IP地址问题

先用sudo dhclient eth0获取IP地址, 然后运行sudo ifconfig eth0 如果是静态IP 可能获取到的IP不是/etc/sysconfig/network-scripts/ifcfg-eth0 配置的IP 用dhclient eth0 获得IP之后。reboot一下 应该就OK 了。。切换到root用户,dhclient eth0,能够获取到

2016-03-14 09:43:02 1963

转载 C++中,内存5个区

C++中,内存分为5个区:堆、栈、自由存储区、全局/静态存储区和常量存储区。栈:是由编译器在需要时自动分配,不需要时自动清除的变量存储区。通常存放局部变量、函数参数等。堆:是由new分配的内存块,由程序员释放(编译器不管),一般一个new与一个delete对应,一个new[]与一个delete[]对应。如果程序员没有释放掉,资源将由操作系统在程序结束后自动回收。自由存储区:

2016-03-07 14:07:17 3466

原创 Linux操作系统的主要组成部分

Linux系统一般有4个主要部分:内核、shell、文件系统和应用程序。内核、shell和文件系统一起形成了基本的操作系统结构,它们使得用户可以运行程序、管理文件并使用系统。一.Linux内核内核是操作系统的核心,具有很多最基本功能,如虚拟内存、多任务、共享库、需求加载、可执行程序和TCP/IP网络功能。Linux内核的模块分为以下几个部分:存储管理、CPU和进程管理、文件系统、设备管理和

2016-02-24 10:45:28 6334

原创 c与c++区别

C++是C发展来的!C++是面向对象的语言,而C是结构化的语言! C的所有代码在C++上都能应用,而C++的代码在C上不能应用!C++是功能更强大的C!c++在c的基础上增添类还有C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制),而对于C++,首要考虑的是如何构造一个

2016-02-23 11:47:41 472

转载 VMware虚拟机文件夹中各文件作用详解

虚拟机的文件管理由VMware Workstation来执行。一个虚拟机一般以一系列文件的形式储存在宿主机中,这些文件一般在由workstation为虚拟机所创建的那个目录中。这里列出了这些关键文件及其扩展名。在以下说明例子中,表示创建的虚拟机名字。---------------------------------------------------------

2016-01-24 15:43:46 1217

原创 c程序练习,求0—7 所能组成的奇数个数

摘:算法思想:这个问题其实是一个排列组合的问题,设这个数为sun=a1a2a3a4a5a6a7a8,a1-a8表示这个数的某位的数值,当一个数的最后一位为奇数时,那么这个数一定为奇数,不管前面几位是什么数字。如果最后一位数为偶数,则这个数一定为偶数。a1-a8可以取0-7这个八个数字,首位数字不为0。从该数为一位数到该数为8位数开始统计奇数的个数:1.当只有一位数时也就是该

2015-11-25 09:57:09 3184

转载 内核启动流程分析之Makefile

分析Makefile:第一个文件、链接脚本 1、子目录下面的makefile:  obj-y  += mem.o random.o tty_io.o n_tty.o tty_ioctl.o  obj-m    += s3c24xx_leds.o 2、make uImage,发现uImage位于:linux-2.6.22.6_jz2440\linux-2.6.22.6\arch\ar

2015-11-19 12:11:07 609

转载 内核启动流程分析之配置

配置结果:生成.config .以配置项config_DM9000为例。/linux-2.6.22.6$ vi .config;查看配置项:CONFIG_DM9000定义的位置book@book-desktop:/work/other_board/linux-2.6.22.6$ grep "CONFIG_DM9000" * -nwR 1 c源码中定义 arch/arm/mach

2015-11-06 15:25:06 342

原创 内核启动流程分析之编译体验

1,解压缩;book@book-desktop:/work/other_board$rm -rf linux-2.6.22.6book@book-desktop:/work/other_board$ tar -xjflinux-2.6.22.6.tar.bz2 2,打补丁;book@book-desktop:/work/other_board/linux-2.6.22.6$patch

2015-11-02 21:09:15 406

原创 u-boot启动内核学习总结

1、分区pc:每个硬盘都有分区表;嵌入式linux:Flash没有分区表,所以分区信息需要在程序里面写死,如下:boot-1.1.6\include\configs目录下的100ask24x0.h中:#define MTDPARTS_DEFAULT "mtdparts=nandflash0:256k@0(bootloader)," \                     

2015-11-01 16:31:20 423

转载 u-boot 分析(转自360doc)

首先,我们应该理解Bootloader是什么?它有什么作用?其实它就是系统上电后运行的和小段程序。1 BootLoader的概念   在系统上电后,需要一段程序来进行初始化:关闭WATCHDOG,改变系统时钟,初始化存储控制器,将更多的代码复制到内存中。并将操作系统内核复制到内 存中运行,这就段程序代码就叫做Bootloader。没有一个Bootloader完全支持所有CPU,所以我们要想

2015-11-01 15:41:28 249

原创 u-boot命令分析&命令实现

u-boot打补丁、编译、烧写、实验  打补丁:patch命令 patch -p1(省略第一个目标地址)   u-boot分析  配置: make 100ask24x0_config  编译:make  u-boot要实现的功能   核心功能: 1.关看门狗                                            开发功能:1.烧Flash

2015-10-30 11:19:34 315

原创 GPIO实验 位操作

位操作的目的:不影响其他位清零:& 比如:清bit3, a=a&(~(1置1:位|比如:bit3=1,a=a|(1

2015-10-19 18:21:54 627

转载 ARM中断返回SUB pc lr-irq #4

因为ARM指令是三级流水线就是说取指,译指,执行时同时执行的 这样说吧,现在PC指向的是正在取指的地址,那么cpu正在译指的指令地址是PC-4(假设在ARM状态下,一个指令占4个字节),cpu正在执行的指令地址是PC-8.也就是说PC所指向的地址和现在所执行的指令地址相差8当突然发生中断的时候,保存的是PC的地址这样你就知道了,如果返回的时候返回PC,那么中间就有一个指令没有执行所以

2015-10-19 12:17:32 962

转载 汇编调用C函数之前要设置好栈??

C语言还是要转换成汇编指令的,处理比较复杂时,就要利用到栈来保存中间结果之类的,这时候,在你进入C语言程序之前,就要设置好栈了。函数调用是通过栈来实现的。。。调用完函数返回时,需要通过栈里的地址来返回。 同时,函数的参数也是通过栈来传递。 总的来说,栈的作用就是:保存现场/上下文,传递参数,保存临时变量1.保存现场/上下文现场/上下文,意思就相当于案发现场,总有一些现场的情

2015-10-15 14:49:42 1783

转载 ARM外设flash及SDRAM的地址连接

先提一下位宽的概念,对于具体器件而言,它的位宽是一定的,所谓位宽,指的是“读/写操作时,最小的数据单元”──别说最小单元是“位”,一般设备上没有单独的“位操作”,修改位时通过把整个字节、字或双字读出来、修改,再回写。AM29L800BB这种nor flash位宽是16位。K4S561632C这种SDRAM位宽是32位。        对于CPU来说,一个地址对应的是一个字节(8位),也就是

2015-10-12 09:18:20 2829

转载 S3C2440的存储器映射(27根地址线如何寻找1G的地址)

S3C2440有27根地址线ADDR[26:0],8根片选信号ngcs0-ngcs7,对应bank0-bank7,当访问bankx的地址空间,ngcsx引脚为低电平,选中外设。2^27=2^7 * 2^10 * 2^10 = 128Mbyte8*128Mbyte = 1Gbyte所以S3C2440总的寻址空间是1Gbyte

2015-10-11 09:32:45 554

转载 ARM MOV和LDR 和 LDR伪指令区别

Mov 是把立即数赋给一个寄存器,但对立即数的范围有要求。只能是由8bit连续有效位通过偶数次移位能得到的数。如果立即数超出这个范围,就没办法用一条MOV指令给寄存器赋值。 LDR除了普通的读数之外,也有给寄存器赋立即数的功能。 你只要写 LDR R0,=0xabcdef 它没有立即数范围的限制。因为这是一条伪指令。如果立即数在MOV的要求内,那就用一条汇编来实现。如果不在Mov的范围内,就用

2015-10-10 21:53:28 461

原创 arm汇编—str,mov等指令

STR指令的格式为:STR{条件}  源寄存器,STR指令用亍从源寄存器中将一个32位的字数据传送到存储器中。该指令在程序设计中比较常用,寻址方式灵活多样,使用方式可参考指令LDR。指令示例:STR R0,[R1],#8             ;将R0中的字数据写入以R1为地址的存储器中,并将新地址R1+8写入R1。STR R0,[R1,#8]

2015-10-10 20:31:41 7387 1

原创 ROM、RAM、DRAM、SRAM和FLASH的区别

ROM和RAM指的都是半导体存储器,ROM是Read Only Memory的缩写,RAM是Random Access Memory的缩写。ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据,典型的RAM就是计算机的内存。     RAM  有两大类,一种称为静态RAM(StaticRAM/SRAM),SRAM速度非常快,是目前读写最快的存储设

2015-10-10 15:06:31 363

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除