hercules产品架构采用已经验证的armcortex-rcpu,此

hercules产品架构采用已经验证的armcortex-rcpu,此

ID:21815177

大小:1.72 MB

页数:9页

时间:2018-10-24

hercules产品架构采用已经验证的armcortex-rcpu,此_第1页
hercules产品架构采用已经验证的armcortex-rcpu,此_第2页
hercules产品架构采用已经验证的armcortex-rcpu,此_第3页
hercules产品架构采用已经验证的armcortex-rcpu,此_第4页
hercules产品架构采用已经验证的armcortex-rcpu,此_第5页
资源描述:

《hercules产品架构采用已经验证的armcortex-rcpu,此》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、Hercules产品架构采用已经验证的ARMCortex™-R4FCPU,此CPU使用紧密耦合存储器配置。此Cortex-R4fCPU由一个锁步配置内的检测器Cortex-R4FCPU实现。这一配置在提供正确CPU运行逐周期检查的同时保持一个简单、易用的方法来使用单核程序设计者模型。三级64位紧密耦合存储器(TCM)接口实现对主CPU存储器的访问。目标应用:    HerculesMCU系列针对通用安全应用。在概念阶段,对多重安全应用进行过分析。目标应用示例包括:    •车辆刹车系统,包括轮胎

2、防锁死系统(ABS)、带有牵引控制的轮胎防锁死系统(ABS+TC)、和电子稳定性控制系统(ESC)    •电机控制系统,特别是电子助力转向(EPS)系统和电动汽车(EV)动力传动系统    •通用安全计算,例如主动安全系统中的集成传感器集群处理和车辆策略生成    •工业自动化,例如用于安全流程控制的可编程逻辑控制器(PLC)和可编程自动化控制器(PAC)接下来给大家介绍个人认为TI做的最牛B的一款软件:HALCodeGenerator,也就硬件驱动库代码自动生成的软件,非常人性化的一款软件。

3、现在很多芯片生产厂家为了降低开发难度,都提供了驱动库,比如SST、NXP等。这些驱动库都是直接以源码形式提供。虽然使用上比直接使用寄存器的难度要低很多,但是仍然不够直观,并且为了综合各方面的考虑,驱动库函数会设计的比较复杂。我个人认为在使用某个芯片的模块时,难度最大的部分在于如何对该模块进行初始化配置。TI很牛,直接将硬件整个TMS570的硬件框图给做成了界面,并且细化到各个模块的内部结构上。这样用户就不需要去查手册了解有哪些寄存器,寄存器的各个位含义是什么。通过界面就能很容易的进行配置,并且了

4、解相应的配置如何影响模块的工作流程。下图是TMS570芯片内部内核和外设的结构框图。点击相应的模块,即可进入该模块的配置页面。比如我们要配置GPIOA端口,看下面的结构框图和弹出的配置提示,很容易知道DIR、PDR、PSL各个位代表什么含义,配置后端口的工作流程是怎么的。另外这款软件还支持FreeRTOS,FreeRTOS的配置选项也以图形化的界面呈现出来。在配置完成后,软件自动生成驱动库的源码、启动文件、链接脚本。然后将可以将这些代码加入到Keil、CCS环境中使用。下面是生成的I2C驱动文件

5、I2C.c的源码。如果拿这段代码和STM32驱动库对应源码进行比较,TI的驱动库是直接根据界面上的配置生成相应的初始化配置数值,而STM32的则要求传入一个包含初始化参数的结构体,然后根据结构体中的参数进行初始化。无论是在效率还是简洁度上,TI的驱动库都是更加优秀的。/**@fnvoidI2CInit(void)*@briefInitializestheI2CDriver**ThisfunctioninitializestheI2Cmodule.*/voidi2cInit(void){/**@b

6、intialize@bI2C1*//**-I2Coutofreset*/i2cREG1->MDR=(1<<5);/*I2Creset*//**-SetI2Cmode*/i2cREG1->MDR=/*nackmode*/(0<<15)/*freerunning*/

7、(0<<14)/*startcondtion-mastermodeonly*/

8、(I2C_START_COND)/*stopcondtion*/

9、(I2C_STOP_COND)/*Master/Slavemode*/

10、(1)/*Tran

11、smitter/receiver*/

12、(I2C_TRANSMITTER)/*xpandedaddress*/

13、(I2C_7BIT_AMODE)/*repeatmode*/

14、(0<<7)/*digitalloopback*/

15、(0<<6)/*startbyte-masteronly*/

16、(0<<4)/*freedataformat*/

17、(0)/*bitcount*/

18、(0x0003);/**-SetI2Cextendedmode*/i2cREG1->EMDR=(0<<25);/**-Disable

19、allinterrupts*/i2cREG1->IMR=0x7FU;/**-setprescale*/i2cREG1->PSC=9;/**-setclockrate*/i2cREG1->CLKH=0x1E;i2cREG1->CLKL=0x1E;/**-seti2cpinsfunctionalmode*/i2cREG1->FUN=(0);/**-seti2cpinsdefaultoutputvalue*/i2cREG1->DOUT=(0<<1)/*sdapin*/

20、(0);/*sclpin*//*

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

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

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