从大方面来说,u-boot的启动分成两个阶段,第一个阶段主要的职责是准备初始化的环境,主要有以下几点 ①设置异常向量表 ②把CPU的工作模式设置为SVC32模式 ③关闭中断、MMU和cache ④关闭看门狗 ⑤初始化内存、时钟、串口 ⑥设置堆栈 ⑦代码搬移 ⑧清bss段 ⑨跳转到c语言中执行(第二阶 ...
分类:
其他好文 时间:
2016-10-25 09:43:46
阅读次数:
356
【编译安装Nginx】 为了顺利安装Nginx,先安装下面这些: 【CentOS 编译 nginx 前要做的事情】 yum install gcc gcc-c++ kernel-devel yum -y install pcre-devel openssl openssl-devel 【Ubuntu ...
分类:
其他好文 时间:
2016-10-24 15:57:44
阅读次数:
209
静态链接分两步,(1)空间与地址分配,(2)符号解析与重定位。 1 空间与地址分配。空间域地址分配有两个含义,一个是输出的可执行文件的空间,一个是装载后的虚拟地址的空间。在这里我们指的是后者。在将多个目标文件(静态)链接成可执行文件的时候,链接器会将所有的代码段放在一起,会将所有的数据段放在一起。放 ...
分类:
其他好文 时间:
2016-10-23 14:04:11
阅读次数:
225
一、NAND FLASH的特点 S3C6410的NAND FLASH控制器有如下特点 1、自导入模式:复位后,引导代码被送入到8KB的STEPPINGSTONE中,引导代码移动完毕,引导代码将在STEPPINGSTONE中执行。导入期间,NAND FLASH控制器不支持ECC矫正。 2、NAND F ...
分类:
其他好文 时间:
2016-10-22 20:34:03
阅读次数:
284
linux下的目标文件(.o文件)采用ELF格式。目标文件里采用段section的格式存储,比如代码段啊(存代码),数据段啊(初始化了的全局变量和局部静态变量),BSS段啊(未初始化的全局和局部静态变量),只读数据段啊(程序中用到的字符串)等。在所有的段外,有一个重要的结构叫做文件头。所以这里从文件 ...
分类:
其他好文 时间:
2016-10-22 14:23:32
阅读次数:
180
不同的数据在内存中的存储位置是不同的,总体来说内存中存储数据的地方主要有四部分:栈、堆、数据段、bss段,这些地方分别存放着不同的数据,比如栈一般用来存储局部变量,堆内存需要程序员字自己申请以及释放,主要用来存放比较大的数据;数据段主要用来存放显示初始化的全局..
分类:
编程语言 时间:
2016-10-21 01:55:55
阅读次数:
276
Oracle Update 语句语法与性能分析 - 多表关联 为了方便起见,建立了以下简单模型,和构造了部分测试数据: 在某个业务受理子系统BSS中, SQL 代码 --客户资料表 create table customers ( customer_id number(8) not null, -- ...
分类:
数据库 时间:
2016-10-20 22:03:25
阅读次数:
235
1.内存分为5大区:栈区,堆区,Bss段,数据区,代码区(排序方式:由高地址-->低地址) 其中注意:栈区对象的地址分配是先分配高地址,再分配低地址,(通俗讲就是在栈区中存的变量,先从地址高的开始往下存) 堆区是从低地址开始分配,再分配到高地址 如下图; 栈区:存储局部变量 堆区:存储程序运行的过程 ...
分类:
其他好文 时间:
2016-10-15 19:01:56
阅读次数:
122
在Linux中的c程序的典型内存分布中,之前提到的有 text段、data段、bss段、堆和栈这几部分,在笔记“麦子学院c语言->典型c语言程序的c内存分布”中介绍了。但是其实一个c语言进程的内存分布中不止是有这些区域,还有命令行参数、环境变量以及共享库和mmap映射区等区域。如下图所示 环境变量区 ...
分类:
系统相关 时间:
2016-10-01 16:48:24
阅读次数:
232
一个程序本质上都是由 BSS 段、data段、text段三个组成的。可以看到一个可执行程序在存储(没有调入内存)时分为代码段、数据区和未初始化数据区三部分。 BSS段(未初始化数据区):在采用段式内存管理的架构中,BSS段(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区 ...
分类:
系统相关 时间:
2016-09-08 18:23:26
阅读次数:
234