SH-3系列单片机的程序设计关键技术

[09-12 17:57:27]   来源:http://www.88dzw.com  单片机学习   阅读:8919

文章摘要:int i="l":编译器实际上为初始化的变量分配了两块空间,在ROM中的D段和在RAM中的R段,D段保存的是变量的初始值,而变量对应的地址在R段。上电后,需要把D段中的数据搬到R段中,这是嵌入式系统初始化过程中非常重要的一部分。B段中保存的是未赋初值的变量,例如按如下定义的变量b。int b:可以在开始时把B段中变量全部初始化为0。首先要给出D、R和B段的起始和结束地址,如下:然后在初始化过程中把D段中的初始值搬运到R段,并给B段中变量赋一个初始值。下面是用C编写的程序。3 上电初始化过程SH-3上电初始化过程如图2中所示,按箭头指向的顺序进行,同一级中各个部分初始化时无

SH-3系列单片机的程序设计关键技术,标签:单片机开发,单片机原理,单片机教程,http://www.88dzw.com

  int i="l":

  编译器实际上为初始化的变量分配了两块空间,在ROM中的D段和在RAM中的R段,D段保存的是变量的初始值,而变量对应的地址在R段。上电后,需要把D段中的数据搬到R段中,这是嵌入式系统初始化过程中非常重要的一部分。B段中保存的是未赋初值的变量,例如按如下定义的变量b。

  int b:

  可以在开始时把B段中变量全部初始化为0。首先要给出D、R和B段的起始和结束地址,如下:

程序

  然后在初始化过程中把D段中的初始值搬运到R段,并给B段中变量赋一个初始值。下面是用C编写的程序。

程序

  3 上电初始化过程

  SH-3上电初始化过程如图2中所示,按箭头指向的顺序进行,同一级中各个部分初始化时无先后顺序。

SH-3上电初始化过程

上电后,先使状态寄存器SR中阻塞位BL=1,禁示接受异常和中断,再开始初始化过程。系统时钟由上电时。MD0、MDl、MD2的电平和FRQCR寄存器的设置来决定,跳线选择时钟源和总线时钟倍频,FRQCR设置内核和外设时钟倍频。

  SH-3的地址空间一般分为7个区,Area0-Area6,每区占64MB的地址,Areal由系统使用,其他6个区由用户使用。Area0-Area6(除ATeal)都能接普通的ROM和RAM,每区可以分别设置从8~32bit的总线位宽和读写等待周期数,此外Area2和Area3有SDRAM接口,Aera5和Area6有PCMCIA和burst ROM接口。Aera0的总线位宽由上电时管脚MD3、MD4电平决定,其他几个区中总线宽度由总线状态控制器BSC(Bus State Controller)中寄存器设定。初始化BSC要设定每个区接入的存储器类型、总线位宽和读写等待周期,如果在Area2或Area3接有SDRAM,还要初始化BSC中的SDRAM控制器。

  SH-3内置有缓存,可以通过CCR寄存器设置成Write-through(直接写到内存中)和Write-back(先写到Cache中)两种使用摸式。设置成Write-back模式会显著提升系统的速度。没有专用的堆栈指针SP,用R15代替。初始化R15后,一般不要在程序中

 
改变R15的值。

  D段到R段的数据搬运和初始化VBR在1、2部分中已详细介绍。SH-3的可屏蔽中断分为O~15个优先级,只有优先级高于SR中断屏蔽位IO~13的中断才能被响应。在初始化时,要给使用到的中断设定优先级。之后是用户初始化使用到功能模块。

  完成初始化后,解除中断屏蔽,把SR中BL位设为0,跳转到用户程序(一般是C语言中的main()函数),初始化过程完成。


上一页  [1] [2] 


Tag:单片机学习单片机开发,单片机原理,单片机教程单片机学习

《SH-3系列单片机的程序设计关键技术》相关文章

分类导航
最新更新
热门排行