网站大量收购独家精品文档,联系QQ:2885784924

ARMCortex-RCPU,此CPU使用紧密耦合存储器配置.docx

ARMCortex-RCPU,此CPU使用紧密耦合存储器配置.docx

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ARMCortex-RCPU,此CPU使用紧密耦合存储器配置.docx

Hercules产品架构采用已经验证的 ARMCortex?-R4F CPU,此 CPU使用紧密耦合存储器配置。 此Cortex-R4fCPU 由一个锁步配置内的检测器 Cortex-R4FCPU 实现。 这一配置在提供正确 CPU运行逐周期检查的同时保持一个简单、易用的方法来使用单核程序设计者模型。三级 64 位紧密耦合存储器(TCM)接口实现对主CPU 存储器的访问。 目标应用: ? ?? ? HerculesMCU 系列针对通用安全应用。 在概念阶段,对多重安全应用进行过分析。目标应用示例包括: ? ?? ? ? 车辆刹车系统,包括轮胎防锁死系统(ABS)、带有牵引控制的轮胎防锁死系统(ABS+TC)、和电子稳定性控制系统(ESC) ? ?? ? ? 电机控制系统,特别是电子助力转向(EPS) 系统和电动汽车(EV) 动力传动系统 ? ?? ? ? 通用安全计算,例如主动安全系统中的集成传感器集群处理和车辆策略生成 ? ?? ? ? 工业自动化,例如用于安全流程控制的可编程逻辑控制器(PLC) 和可编程自动化控制器(PAC) 接下来给大家介绍个人认为TI做的最牛B的一款软件:HAL Code Generator,也就硬件驱动库代码自动生成的软件,非常人性化的一款软件。现在很多芯片生产厂家为了降低开发难度,都提供了驱动库,比如SST、NXP等。这些驱动库都是直接以源码形式提供。虽然使用上比直接使用寄存器的难度要低很多,但是仍然不够直观,并且为了综合各方面的考虑,驱动库函数会设计的比较复杂。 我个人认为在使用某个芯片的模块时,难度最大的部分在于如何对该模块进行初始化配置。TI很牛,直接将硬件整个TMS570的硬件框图给做成了界面,并且细化到各个模块的内部结构上。这样用户就不需要去查手册了解有哪些寄存器,寄存器的各个位含义是什么。通过界面就能很容易的进行配置,并且了解相应的配置如何影响模块的工作流程。 下图是TMS570芯片内部内核和外设的结构框图。点击相应的模块,即可进入该模块的配置页面。 比如我们要配置GPIO A端口,看下面的结构框图和弹出的配置提示,很容易知道DIR、PDR、PSL各个位代表什么含义,配置后端口的工作流程是怎么的。 另外这款软件还支持FreeRTOS,FreeRTOS的配置选项也以图形化的界面呈现出来。 在配置完成后,软件自动生成驱动库的源???、启动文件、链接脚本。然后将可以将这些代码加入到Keil、CCS环境中使用。 下面是生成的I2C驱动文件I2C.c的源码。如果拿这段代码和STM32驱动库对应源码进行比较,TI的驱动库是直接根据界面上的配置生成相应的初始化配置数值,而STM32的则要求传入一个包含初始化参数的结构体,然后根据结构体中的参数进行初始化。无论是在效率还是简洁度上,TI的驱动库都是更加优秀的。 /** @fn void I2CInit(void) * @brief Initializes the I2C Driver * * This function initializes the I2C module. */ void i2cInit(void) { /** @b intialize @b I2C1 */ /** - I2C out of reset */ i2cREG1-MDR = (1 5); /* I2C reset */ /** - Set I2C mode */ i2cREG1-MDR = /* nack mode */ (0 15) /* free running */ | (0 14) /* start condtion - master mode only */ | (I2C_START_COND) /* stop condtion */ | (I2C_STOP_COND) /* Master/Slave mode */ | (1) /* Transmitter/receiver */ | (I2C_TRANSMITTER) /* xpanded address */ | (I2C_7BIT_AMODE) /* repeat mode */ | (0 7) /* digital loopback */ | (0 6) /* start byte - master only

您可能关注的文档

文档评论(0)

youbika + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档