tms320f2812学习总结

tms320f2812学习总结

ID:32507977

大小:560.90 KB

页数:24页

时间:2019-02-09

tms320f2812学习总结_第1页
tms320f2812学习总结_第2页
tms320f2812学习总结_第3页
tms320f2812学习总结_第4页
tms320f2812学习总结_第5页
资源描述:

《tms320f2812学习总结》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、TMS320F2812学习总结一、复位2812复位后,芯片会采样XMPNMC引脚的状态,这个脚的状态决定了2812复位后是从内部的BootRom引导还是从外部接口区域7引导,如果XMPNMC=1(微处理模式),那么复位的中断向量将会指向外部的存储区域7,当然这种模式下必须保证外部的存储区域可用,同时引导程序必须由程序员事先写好,才能保证芯片的正常启动。如果XMPNMC=0(微计算机模式),那么外部存储区域7将被禁止而内部的BootRom使能,在这种情况下,芯片复位后将会从内部的BootRom获得复位向量。一般情况下我们都是采用微计算机模式,因此对这一引

2、导方式做详细地说明。在微计算机模式下,芯片复位后从内部的BootRom0x3fffc0处读取0z3ffc00这个地址,因此程序就从这个地址开始执行。图1.1是BootRom图1.1片上BootRom的存储器映射表,可以看出0x3fffc0处正好是2812的复位向量,跳转后的地址0x3ffc00正好是芯片的引导加载函数的入口,因此芯片复位后将会执行引导加载函数,然后该函数根据芯片的特殊GPIO口的状态确定芯片的引导模式。表1.1给出了4个GPIO引脚的状态来确定所要使用的引导模式。表1.1由4个GPIO引脚选择的引导模式GPIOF4GPIOF12GPIO

3、F3GPIOF2(SCITXDA)(MDXA)(SPISTEA)(SPICLK)模式选择PUNOPUNOPUNOPU1xxx跳转到Flash0x3F7FF6地址处调用SPI_Boot函数,利用SPI口从外部串行01xxEEPROM中引导0011调用SCI_Boot函数从SCI_A口进行引导0010跳转到H0SARAM中0x3F8000地址处0001跳转到OTP中0x3D7800地址处0000调用Parallel_Boot函数从GPIO口B进行引导注:1、PU代表该引脚内部被拉高,NOPU则表示该引脚没有被内部拉高。2、必须要得别注意SPICLK可能具有

4、外部逻辑。3、如果引导模式选择Flash、H0或者OTP,那么引导加载器不加载外部代码。由于通常情况下我们都使用的是Flash引导。下面着重介绍Flash引导模式:在这种模式下,BootRom会将芯片配置成28x操作模式,并直接跳转到Flash存储器的0x3f7ff6处,这个地址恰好位于128位密码所在的地址前面,只要在这个地址处事先写好一条跳转指令就可以把程序的执行重新定位到包含自定义引导加载器函数或者用户的应用代码的存储区域中(我的理解:通过ccs3.1编译的时候,编译器会自动生成这样一句指令LB_c_int00,放在0x3f7ff6处,执行完这句

5、指令之后,程序会跳到_c_int00这个函数,这个函数也是ccs自动生成的,目的是建立一个c程序运行的环境,等建立完这个环境之后,又会执行这样一句指令LB_main,mian函数就是用户的应用程序,芯片的复位引导完成)二、初始化2812完成复位引导之后,执行用户的应用程序之前必须对器件进行配置,也就是一个初始化的过程,该过程包括看门狗、时钟模块、外设时钟、Flash、以及中断向量初始化。(1)看门狗2812的看门狗是一个8位的计数器,当8位的计数器计数到最大值的时候,看门狗模块会产生一个输出脉冲(512个振荡器时钟宽度)。如果不希望产生脉冲信号,必须在

6、计数最大值之前给看门狗复位控制寄存器依次写“0x55、0xAA”。用户可以通过看门狗控制寄存器使能或者屏蔽看门狗,使能后必须周期性写看门狗复位控制寄存器,屏蔽后看门狗不起作用。(2)时钟模块2812的处理器上有基于PLL的时钟模块,为器件以及各种外设提供时钟信号,这个时钟模块提供两种操作模式。内部振荡器:在X1/XCLKIN和X2两个引脚之间连接一个石英晶体。外部时钟源:将输入时钟信号直接接到X1/XCLKIN引脚上,X2悬空,这种情况下不使用内部振荡器。外部的XPLLDIS引脚的状态可以选择是否需要进行倍频。当XPLLDIS为低电平,系统直接采用外部

7、时钟或晶振直接作为系统时钟;当XPLLDIS为高电平时外部的时钟经过PLL倍频后为系统提供时钟。图2.1晶体振荡器及锁相环模块因此当使能PLL单元时,就必须对锁相环控制寄存器进行配置,选择相应的时钟频率。同时通过高低速外设时钟寄存器对外设时钟进行定标(也就是根据所选外设以及系统的要求,对CPU时钟进行分频,满足外设的要求)。(3)Flash一般情况下可以不对Flash进行初始化,但是对于时序要求比较高的系统通过对Flash的初始化可以提高程序的运行速度,所以对Flash的初始化显得比较重要,下面着重介绍Flash的初始化过程。在Flash引导模式下,由

8、于程序代码是烧写在Flash中,当然这些代码中间也包括Flash的初始化程序,因此这样的初始化

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。