嵌入式系统开发学习(1)

嵌入式系统开发流程

嵌入式系统的一般开发流程如下:
图1 嵌入式系统开发流程

嵌入式操作系统

  • 管理资源
  • 提高系统可靠性
  • 硬件虚拟化
  • 实时性能
  • 多任务

现有的嵌入式操作系统
VxWorks pSOS PalmOS QNX OS-9 LynxOS WindowsCE uC/OS 嵌入式Linux FreeRTOS

ARM体系架构

ARM:Advanced RISC Machines
ARM处理器共有37个寄存器,分为若干个组(BANK)。
大多数数据操作都在寄存器中完成。

ARM分类

ARM7: 32bit 冯-诺依曼体系结构
冯-诺依曼体系结构
计算机处理的数据和指令一律用二进制数表示;顺序执行;计算机硬件由运算器、控制器、存储器、输入设备和输出设备五大部分组成。

ARM9: 32bit 哈佛结构
使用两个独立的存储器模块,分别存储指令和数据,每个存储模块都不允许指令和数据并存;
使用独立的两条总线,分别作为CPU与每个存储器之间的专用通信路径,而这两条总线之间毫无关联。

ARM10E:支持DSP指令集

ARM11
SecureCore
StrongARM
Xscale
Cortex-M3

大端格式和小端格式

16bit宽的数0x1234在Little-endian模式(以及Big-endian模式)CPU内存中的存放方式(假设从地址0x4000开始存放)为:

内存地址小端模式存放内容大端模式存放内容
0x40000x340x12
0x40010x120x34

32bit宽的数0x12345678在Little-endian模式以及Big-endian模式)CPU内存中的存放方式(假设从地址0x4000开始存放)为:

内存地址小端模式存放内容大端模式存放内容
0x40000x780x12
0x40010x560x34
0x40020x340x56
0x40030x120x78

大端小端没有谁优谁劣,各自优势便是对方劣势:
小端模式 :强制转换数据不需要调整字节内容,1、2、4字节的存储方式一样。
大端模式 :符号位的判定固定为第一个字节,容易判断正负。

下面这段代码可以用来测试一下你的编译器是大端模式还是小端模式:

short int x; //short int 16bit
char x0,x1; //char 8bit

x=0x1122;

x0=((char*)&x)[0];  //低地址单元
x1=((char*)&x)[1];  //高地址单元

若x0=0x11,则是大端; 若x0=0x22,则是小端……

参考http://blog.youkuaiyun.com/blog_lee/article/details/38926379

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值