Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1084260
  • 博文数量: 121
  • 博客积分: 2021
  • 博客等级: 上尉
  • 技术积分: 1467
  • 用 户 组: 普通用户
  • 注册时间: 2009-06-29 21:47
个人简介

简约而不简单。

文章分类

全部博文(121)

文章存档

2017年(1)

2016年(4)

2015年(2)

2014年(24)

2013年(33)

2012年(13)

2011年(25)

2010年(13)

2009年(6)

分类: LINUX

2009-12-21 18:56:27

一.ADS
1.保存文件名要全名(即包括扩展名)
2.*.tdt文件删除则整个工程都会重新编译
3.*.axf为工程的调试文件
4.*.scf  分散加载描述文件
5.ADS的RelinFLASH版本设置了JTAG的加密,下载这个版本的代码之后,JTAG调试就不能用了,通过周立功提供的LCP的ISP软件,擦除掉芯片内的程序就OK了。

二.ARM指令
6.小端方式:较低字节存放在较低地址(arm7)
  大端方式:较低字节存放在较高地址
7.通过对一个单元执行两次相同的写操作,可保证复位后数据的写入。因为人SRAM控制器包含一下回写缓冲区,要在进行第二次写时上一次的数据才真正被写入SRAM
8.VHB:0xffe00000~0xffffffff,每个外设16KB
  VPB:0xe0000000~0xe01fffff,第个外设16KB
9.存储器映射的基本概念是:每个存储器组在存储器映射中都有有下“物理上的”位置.
10.BOOT Block是芯片设计厂家在LPC2000系列ARM内部固化的一段代码,它在芯片复位后被首先运行,其功能主要是判断运行哪个存储器上的程序、检查用户代码是否有效、判断芯片是否被加密、芯片的在应用编程(IAP)以及在系统编程功能(ISP)。这其中有些程序是可以被用户调用的,比如擦写片内FLASH的IAP代码。为了增加用户代码的可移植性,所以最好能把BOOT Block的代码固定在某个地址上。但是因为各个芯片的片内FLASH大小不尽相同,如果把BOOT Block的地址安排在片内FLASH结束的位置上,那么就无法实现BOOT Block地址的固定。所以芯片生产商就把BOOT Block的地址重映射到片内存储器空间的最高处,即接近2G(0x80000000)的地方,这样无论片内存储器大小如何,都不会影响BOOT Block的地址。可以让包含有IAP操作的用户代码,不用修改IAP操作地址,就可以在不同的LPC2000系列ARM上运行。
11.
 — MRS 程序状态寄存器到通用寄存器的数据传送指令
 — MSR 通用寄存器到程序状态寄存器的数据传送指令
MSR 指令的格式为:
MSR{条件} 程序状态寄存器(CPSR 或SPSR);域,操作数
MSR 指令用于将操作数的内容传送到程序状态寄存器的特定域中。其中,操作数可以为通用寄存器或立即数。域用于设置程序状态寄存器中需要操作的位,32 位的程序状态寄存器可分为4 个域:
位[31:24]为条件标志位域,用f 表示;
位[23:16]为状态位域,用s 表示;
位[15:8]为扩展位域,用x 表示; 
位[7:0]为控制位域,用c 表示;
该指令通常用于恢复或改变程序状态寄存器的内容,在使用时,一般要在MSR 指令中指明将要操作的域。
12.BIC 指令用于清除操作数1 的某些位,并把结果放置到目的寄存器中。
13.SPACE 伪指令用于分配一片连续的存储区域并初始化为0。其中表达式为要分配的字节数。
阅读(2138) | 评论(0) | 转发(0) |
0

上一篇:PCB制作总结

下一篇:组合逻辑电路化简

给主人留下些什么吧!~~