Hercules产品架构采用已经验证的ARMCortexRCPU此.docxVIP

Hercules产品架构采用已经验证的ARMCortexRCPU此.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Hercules产品架构采用已经考证的ARMCortex?-R4FCPU,此CPU使用紧密 耦合存储器配置。此Cortex-R4fCPU由一个锁步配置内的检测器Cortex-R4FCPU实现。这一配置在提供正确CPU运行逐周期检查的同时保持一个简单、易用的方法来使用单核程序设计者模型。三级64位紧密耦合存储器(TCM)接口实现对主CPU存储器的接见。 目标应用: HerculesMCU系列针对通用安全应用。在观点阶段,对多重安全应用进行过剖析。目标应用示例包括: 车辆刹车系统,包括轮胎防锁死系统(ABS)、带有牵引控制的轮胎防锁死系统(ABS+TC)、和电子稳定性控制系统(ESC) 电机控制系统,特别是电子助力转向(EPS)系统和电动汽车(EV) 动力传动系统 通用安全计算,比如主动安全系统中的集成传感器集群办理和车 辆策略生成 工业自动化,比如用于安全流程控制的可编程逻辑控制器(PLC)和可编程自动化控制器(PAC) 接下来给大家介绍个人认为  TI  做的最牛  B的一款软件:HALCodeGenerator  , 也就硬件驱动库代码自动生成的软件,特别人性化的一款软件。现在好多芯片生产厂家为了降低 开发难度,都提供了驱动库,比方SST、NXP等。这些驱动库都是直接以源码形式提供。虽然使 用上比直接使用存放器的难度要低好多,可是仍旧不够直观,并且为了综合各方面的考虑,驱动 库函数会设计的比较复杂。 我个人认为在使用某个芯片的模块时,难度最大的部分在于怎样对该模块进行初始化配置 TI很牛,直接将硬件整个TMS570的硬件框图给做成了界面,并且细化到各个模块的内部构造上。 这样用户就不需要去查手册认识有哪些存放器,存放器的各个位含义是什么。经过界面就能很容 易的进行配置,并且认识相应的配置怎样影响模块的工作流程。  。 下列图是  TMS570芯片内部内核和外设的构造框图。  点击相应的模块,即可进入该模块的配置 页面。 比方我们要配置GPIOA端口,看下面的构造框图和弹出的配置提示,很容易知道DIR、PDR、PSL 各个位代表什么含义,配置后端口的工作流程是怎么的。 此外这款软件还支持FreeRTOS,FreeRTOS的配置选项也以图形化的界面体现出来。 在配置达成后,软件自动生成驱动库的源码、启动文件、链接脚本。然后将能够将这些代 码加入到Keil、CCS环境中使用。 下面是生成的  I2C  驱动文件  I2C.c  的源码。如果拿这段代码和  STM32驱动库对应源码进行 比较,  TI  的驱动库是直接根据界面上的配置生成相应的初始化配置数值,而  STM32的则要求传 入一个包含初始化参数的构造体,  然后根据构造体中的参数进行初始化。  不论是在效率仍是简短 度上,  TI  的驱动库都是更为优异的  。 /@fnvoidI2CInit(void)*@briefInitializestheI2CDriverThis functioninitializestheI2Cmodule.*/ voidi2cInit(void) { /@bintialize@bI2C1*/ /-I2Coutofreset*/i2cREG1-MDR=(15);  /*I2Creset*/ /-SetI2Cmode*/ i2cREG1-MDR=/*nackmode*/ (015) /*freerunning*/ |(014) /*startcondtion-mastermodeonly*/| (I2C_START_COND) /*stopcondtion*/|(I2C_STOP_COND) /*Master/Slavemode*/|(1) /*Transmitter/receiver*/|(I2C_TRANSMITTER) /*xpandedaddress*/|(I2C_7BIT_AMODE) /*repeatmode*/|(07) /*digitalloopback*/|(06) /*startbyte-masteronly*/|(04) /*freedataformat*/|(0) /*bitcount*/|(0x0003); /-SetI2Cextendedmode*/ i2cREG1-EMDR=(025); /-Disableallinterrupts*/ i2cREG1-IMR=0x7FU; /-setprescale*/ i2cREG1-PSC=9; /-setclockrate*/ i2cREG1-CLKH=0x1E; i2cREG1-CLKL=0x1E; /-seti2cpinsfunctionalmode*/ i2cREG1-FUN=(0); /-seti2cpinsdefault

文档评论(0)

187****5701 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档