嵌入式——01基本知识

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

一、什么是嵌入式

专用的可裁剪的专用的计算机系统,可裁剪包括硬件软件。

二、计算机系统

(1)
1)概述:内存的类型:RAM/ROM/SOAM/SROM/SDRAM
ROM(read only memory): 只读存储器,掉电保护。
分类:
PROM:可编程的ROM
EPROM:可编程可擦出的ROM
EEPROM:电子擦除的ROM
RAM(read random memory):掉电数据会丢失,一般的计算机就是RAM。
2)RAM分类:
(1)SRAM(static RAM):掉电不丢失
(2)DRAM(dynamic RAM):掉电丢失
分类:-
最常用的DDR RAM(date-rate RAM):也称作DDR SDRAM
优势:
区别:DRAM速度比ROM快,比SRAM慢。价格比SRAM便宜,主要用于计算机内存。
3)什么是FLASH(闪存):
优势:结合了RAM和ROM的长处,不仅具备电子可擦除的性能EEPROM的性能而且有掉电保护,
同时可以快速读取数据
用途:用于存储bootloader以及操作系统或者代码,或者直接当U盘使用
4)FLASH分类:
NOR FLASH的读取和我们常见的SDRAM的读取是一样,用户可以直接运行装载在NOR FLASH 里面的代码,
这样可以减少SDRAM的容量从而节约了成本。生产厂家:Intel、AMD、Fujitsu和Toshiba。

	NAND FLASH 没有采取内存的随机读取技术,它的读取是以一次读取512字节,采用这种技术的FLASH比较廉价。
	用户不能直接运行NAND FLAH上的代码,因此好多使用NAND FLASH的开发板除了使用NAND FLASH 以外,
	还用了一块小的NOR FLASH来运行启动代码。生产厂家:Samsung和Toshiba。
	本质区别:NOR连接在cpu的地址总线,直接跟cpu交互,当板子上电之后cpu可以直接读取norfalsh上的数据。
		NAND链接在控制总线
		三星公司:制造的NAND FLASH可以读取前4k。
(2)有软件系统 	和	硬件系统结合
      |			       |
			
windows			cpu:处理数据(执行程序)			寄存器 :硬件操作接口				
linux			内存:程序 数据 外接内存掉电会丢失	   	内存:寄存器无法于FLASH直接进行交流		内存的类型:RAM/ROM/SOAM/SROM/SDRAM
unix			存储器:硬盘掉电数据会保存。			外存(flash)				外存的类型:
			固态:提升硬盘的读取数据			NORFLASS
(3)
单片机最小系统:晶振,		复位,		单片机,    	电源
	             |			   |
	提供脉冲信号		程序调试需要
arm最小系统:在单片机最小系统的基础上添加了内存和flash
嵌入式linux系统组成:
bootloader: 加载和引导代码,为整个系统的运行做初始化准备初始化时钟,初始化内存     Uboot-->编译生成bootloader
	初始化硬盘,从硬盘拷贝系统到内存,跳转到内存。
	1)存储在flash,运行在内核,为内核运行做前期准备
kernal:内核代码
	2)进程、设备管理、内存管理、文件管理、网络协议                              gnu内核源码:  www.kernel.org
rootf:根文件系统(被内核挂载的第一个文件系统)
	系统的配置文件:文件系统是一堆文件,文件的组织形式
	(ext3 yaffs jiffs):文件存储的标准格式,遵守怎样的协议。
	内核自动挂载根文件系统
运行过程:初始化cpu,内存,从flash拷贝代码到内存,跳转到内存执行。		BUSYBOS
嵌入式驱动开发:电路:将电信号转换为数据信号
(4)什么是x86:
区别一个系统是多少位:可以看一下数据类型Long 的大小
在32位系统是4字节,64位系统是8字节
为啥是32位:因为数据和地址是32位
总线系统:
地址总线:
数据总线:
控制总线:
(5)系统的初始化运行:
首先将内核代码加载到内存中,然后cpu运行内存代码,完成系统的运行。
但是刚开始他们三者之间是没有办法进行交互的,在x86平台上需要一个第四方硬件
平台bios(上电之后就会运行)
完成cpu,内存以及硬盘的的以及时钟电路的初始化将内核加载到内存中之后
cpu才可以将系统运行起来
1)x86系统:
引入一个第四方平台;bios固件代码《启动设备的初始化,执行代码,初始化时钟,初始化内存
	初始化硬盘,从硬盘拷贝系统到内存,跳转到内存。
bios:为系统的运行做前期的初始化准备
iamge:内核镜像
2)嵌入式系统:
因为x86相对比较成熟,硬件组成比较完善所以会设计一个专用的bios来完成cpu,内存,
硬盘以及时钟电路的初始化,但是嵌入式系统有很多中平台,各种硬件组成也不同,所以
没有办法像x86一样设计一个bios来完成初始化,所以会有一个boradloader。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值