【嵌入式Linux学习之路】序列之7:裸板认识初步

  • 冰山一角
  • LV5工程师
  • |      2015-12-24 21:25:22
  • 浏览量 949
  • 回复:0

【嵌入式Linux学习之路】序列之7:裸板认识初步

 

************************************************************************

          转载请注明: 版权所有!否则后果自负,谢谢合作!!

************************************************************************

       本节我们主要是从下面2个方面进行讲解:

1.准备工作

2.裸板初步

************************************************************************

 

一、准备工作

1.电脑一台;

2.VMare软件;

3.已经安装好了ubuntu的虚拟机;

4.SecureCRT远程连接管理工具;

5.Winscp软件。

 

二、裸板初步

1.裸板

启动内核(bootloader):初始化其他部件(如:时钟,LCD等) ——> 初始化内存 ——> 操作Flash ——> 从Flash读出内核放到内存 ——> 启动它

U-boot:①硬件操作,②启动内核。

 

2.怎么学习U-boot

①记住主要目的,启动内核;

②把设计的硬件自学单独学习(如:时钟,Nand Flash、SDRAM、IIC、UART等);

③组合起来就是一个u-boot。


3.重定位

假设CPU是4KRAM,SDRAM64k:

启动过程:

①上电时,CPU把NandFlash前4K内容全部复制到片内内存并执行。

②假设uboot超过了4k 咋办:那么在4k代码里面必须要加入

这部分代码:①设置时钟,让速度更快。②初始化SDRAM;③读Nand到SDRAM

问:把uboot读到SDRAM哪里去?答:链接地址(你运行前,“应该”在那里)。

链接地址:是一个基地址;其他变量。

如:int a = 123;

void main()

{

int i = a;

}

如果基地址是:0x30000000那么a的地址是0x30000028(基地址+123的值)




*********************************************

@File crtos.s

@功能:通过它转入C程序

*********************************************

 

.text

.global_start

_start:

             Ldr   sp = 1024 * 2;@设置堆栈;注意:不能超过2k;因为现在可用的内存只有2k

/* 重定位 */

/* 把代码Flash读到内存“链接地址”处 */

b1 main         @调用C程序中的main函数

halt_loop:

    b      halt_loop

 

4.要不要学习汇编

①要不要学习汇编

Ldr:load 读内存

ldr r0,  :r1里存放的是地址值,去这个地址读取4字节的内容,存入r0

Str:store 写内存

str r0,   :r1里存放的是地址值,把r0里的4字节数据存入到这个地址

所有的汇编、C语言也好,终极目标就是:读写某个地址

②程序为何要分为代码段、数据段、BSS段

③栈的作用

④重定位/链接地址

⑤位置无关码

 

***********************************************************************

第  0  篇:    【原创】【嵌入式Linux学习之路】序列之1 虚拟机上挂载ubuntu

第  1  篇:       【嵌入式Linux学习之路】序列之2 嵌入式linux的一些底层知识

第  2  篇:       【嵌入式Linux学习之路】序列之3:Linux常用命令之说一

第  3  篇:       【嵌入式Linux学习之路】序列之4:Linux常用命令之说二

第  4  篇:       【嵌入式Linux学习之路】序列之5:Linux常用命令之说三

第  5  篇:       【嵌入式Linux学习之路】序列之6:Linux常用命令之说四


************************************************************************

  • 0
  • 收藏
  • 举报
  • 分享
我来回复

登录后可评论,请 登录注册

所有回答 数量:0
x
收藏成功!点击 我的收藏 查看收藏的全部帖子