当前位置:首页 > 实时处理器
  • TI Hercules实时处理器初接触——RM57L843 LaunchPad评测(上)

    TI Hercules实时处理器初接触——RM57L843 LaunchPad评测(上)

    引言: 不久前ARM官方发布了最新的Cortex-R8内核,同时网上流传的一篇《摸不到,又离不开的ARM Cortex-R系列处理器》,再次将ARM Cortex-R系列单片机推到了群众眼前;说起ARM处理器,大家肯定都会想到作为手机处理器的Cortex-A系列,同时还有极受嵌入式工程师推崇的Cortex-M系列,但一直低调行事的Cortex-R系列实时处理器却不怎么多见。 实际上Cortex-R处理器的应用还是非常广的,比如硬盘控制器、手机基带处理器等等,无时无刻不在为我们提供服务,今天有幸拿到一块TI的Hercules系列MCU-RM57L843的launchpad,让我们一起来看看Cortex-R处理器的表现吧。 一、TI Hercules系列处理器RM57L843简介   TI的Hercules系列处理器RM57L843属于ARM® Cortex®- R5F系列的 32 位 RISCCPU,内部设计有双核锁步CPU,具有 ECC 保护缓存、闪存和RAM,带有错误引脚的错误信令模块(ESM)和电压和时钟监视系统,同时具有单精度和双精度FPU,16 区域存储器保护单元 (MPU),并配有 32KB 的指令和 32KB 的数据缓存(支持ECC),并带有第三方支持的开放式架构。 RM57L843内核最高运行频率高达330MHz,内核支持电压(VCC):1.14V 至 1.32V,I/O 电压 (VCCIO): 3.0V 至 3.6V,内部集成支持ECC的4MB程序闪存,512KBKB 的 RAM(支持 ECC),以及用于仿真的 128KB的EERPOM数据闪存(支持ECC)。 二、RM57L843 LaunchPad 开发板简介 RM57L843 LaunchPad 具有 IEEE 1588 精确时间以太网 PHY DP83630 之类的连接选项,还可以使用高密度 MCU 并行接口 - EMIF、RTP 和 DMM 的连接器扩展到 FPGA 或外部 SRAM;RM57L843还包含许多诊断功能,比如 CPU 缓存和其他存储器的 ECC 保护以及一组丰富的外设,比如两个 12 位 ADC、可编程高端计时器、电机控制外设(eQEP、eCAP、ePWM)、以太网、FlexRay、MibSPI、EMIF 及多种串行通信接口。 来几张靓图欣赏一下(自己焊接了插针)。     TI的RM57L843 LAUNCH并不属于开源项目,因此没有公开PCB文件,甚至连原理图都没有,好在TI还公开了一部分应用资料,所以我们结合数据手册,也可以推断得出板子的引脚定义,完全不影响使用。 RM57L843 LAUNCH BOOSTER引脚图 RM57L843 LAUNCH扩展引脚图 三、RM57L843应用介绍 板子自带的功能还是非常丰富的,因此也支持很多外设应用,如下图是RM57L843内部集成的外设功能,可以看到芯片内部集成了众多的校验模块,具有极强的ECC校验功能,并采用双核锁步模式运行,尽最大可能保证处理器的可靠性。 同时处理器针对嵌入式系统的实时应用进行了准们的优化处理,相较于Cortex-A处理器应用更多的标准外设,相较于Cortex-M等低端处理器,又具有更强的系统处理能力及应用的针对性。 从官方提供的应用手册,我们可以更直观的看到RM57L843集成的各种外设功能,所有高亮的图形表示处理器内部集成的外设。 板载的RM57L843处理器采用BGA337封装,除了基本的最小系统以及内存扩展引脚外,该处理器拥有高达145个通用IO口,其中多数与外设功能复用,尽最大可能得方便了用户后期的产品应用开发,出色的系统性能及稳定性使得该处理器广泛应用在工业自动化、工业电机驱动、安全可编程逻辑控制器 (PLC)、发电和配电传输、涡轮机和风力发动机、电梯和自动扶梯等对系统稳定性要求极高的场合。 [!--empirenews.page--] 如下是TI官方提供的两个扩展功能板,分别侧重传感器交互功能、与电机控制方向,可以为用户的开发设计提供极大的便利。 从Hercules TMS570 MCU 工具和软件我们可以知道,TI的Hercules 系列单片机同时支持CCS、IAR的主流的集成开发环境,同时为了帮助工程师能够更全面的了解和学习hecules处理器,TI还推出了更高端功能更全面的开发板套件,并配有高性能的仿真调试器方便用户开发。 为帮助ODM厂商缩短开发周期,提高开发效率以便尽快将产品推向市场,TI还推出了图像化的硬件配置软件HALCoGen,省去了硬件工程师配置设置底层硬件的麻烦,极大的减轻了硬件工程师的压力。 结语: Win10系统下TI的CCS开发环境兼容性不怎么友好,本人测试的CCS7.x系列多个版本均存在闪退问题,具体问题已经提交TI工程师,希望能尽快给出解决办法;鉴于此问题本次测评就先到这里了,等后期有时间我在win7下安装最新的CCS,再给出单独的RM57L843开发测评吧。

    时间:2017-11-30 关键词: TI MCU 安全 launchpad 实时处理器 rm57l843 hercules

  • TI Hercules实时处理器初开发——RM57L843 LaunchPad评测(下)

    TI Hercules实时处理器初开发——RM57L843 LaunchPad评测(下)

    引言: 前面通过《TI Hercules实时处理器初接触——RM57L843 LaunchPad评测(上)》我们对TI的RM57L843 LAUNCH开发板有了简单的了解,不过由于本人电脑的win10系统不兼容最新的CCS开发环境,没能测评一下板子的程序开发,今天又翻出我10年的古董win7来,安装了一下最新的CCS7.3,一次成功,还是老伙计给力啊,下面就一起来体验一下RM57L843的开发吧。 一、开发环境安装 软件准备:CCS7.3.0.00019_win32 HALCoGen-04.07.00 系统环境:win7 64位旗舰版 SP1(硬件就不写了,渣的一地) 先来安装CCS7.3,官方没有64位的,可能是考虑到64位系统就爱内容32位软件,就没开发吧。先解压我们现在的安装文件,解压后如下图。 直接双击打开ccs_setup_7.3.0.00019.exe即可进入安装界面,注意安装文件存放的路径不要有中文,不然会提示错误。 然后就一步一步感觉提示就可以了,同意程序应用协议->选择安装路径->选择我们的Hercules系列处理器,(如下图,此处的选项为Hercules Safety MCU,看来TI还是将其看作是一个控制器来用,而不是一个处理器),然后选择默认的调试器,就可以执行安装了,整个安装过程大约需要5-10分钟,可以抽空考虑一下喝咖啡还是喝茶的问题。 CCS安装完了,就可以进行开发了,不过上一篇文章我们也提到过,TI为了方便硬件工程师快速开发,推出了一款强大的图形配置软件,我们自然也要体验一下了。 HALCoGen的安装文件也比较简单,只有一个exe文件,解压双击打开就可以,一步一步按提示选择安装就可以了。 安装完成后桌面会出现如下两个图标,就说明安装完成了,不过不要高兴的太早,win10也一样会走到这一步,但CCS正常打开,选择工作空间之后就会出现闪退的问题,不过据TI的工程师说CCS7.x是兼容win10系统的,然而我在我的原版win10 64位企业版下,CCS从7.1-7.3全部存在闪退问题,在用着win10的小伙伴也可以尝试一下哦。 二、新建开发工程 双击打开CCS,选择工作空间,默认就可,不过本人建议还是改一下,不要放在C盘。然后在菜单栏NEW一个CCS Project,具体操作步骤都在下面,就不再过多的赘述了,注意第二步调试器一定要选择正确,CCS不能自动识别,只能提前设置好,否则后期无法下载程序。 上面的步骤结束后,我们建立的是一个空工程,并没有任何程序代码,接下来就要轮到我们的图形配置程序闪亮登场了,打开我们的HALCoGen,同样NEW一个Project,步骤如下。 注意一个问题,CCS从V6开始就宣布可以免费使用了(如下图,怀念一下大学撸G2553破解CCS的日子),不需破解也没有代码限制,因此上面可以放心的选用TI自带的编译器,而不用担心版权及代码容量问题了。 配置好工程就要开始进行硬件程序配置了,点击确定后会出来如下界面,我们的RM57L843的所有内部资源模块一览无余。 三、真正的程序开发开始了 走完上面的过程,我们CCS的工程管理界面就会多出来好多文件,如下图。 不过面对RM57K843这么彪悍的处理性能,这么丰富的片内外设,我们开发个什么好呢?? 还是点个灯吧,万丈高楼平地起,所有的程序都是从hello world开始的吗,可是接着问题就来了,TI没有给我们提供板子的原理图啊,那怎么确定LED接到了那个引脚上呢(抓耳挠腮一番)?? 突然我发现上帝给我留了一扇窗户,TI的layout工程师将板子的引脚连接标注在了板子的丝印上,真是天无绝帅哥之路啊,从图片我们可以看到,最左边一个LED6接到了+5V电源上,有边两个LED2、LED3分别接到了GIOB_6、GIOB_7上,对照芯片的BGA337封装的引脚图,可以找到这两个引脚,这就OK了。[!--empirenews.page--] 首先打开我们的图形配置软件,选择Driver Enable标签页,把我们的GIO外设使能,其他的外设可以去掉,可以加快程序编译的速度,出了bug也好查错。 然后选择GIO标签页,点击下属的Port B标签,找到我们的Bit6、Bit7位,配置为输出模式,然后,然后注意,按下键盘上的F5快捷键生成程序代码,这个选项在菜单栏中是没有,因此一定要记住这个按键。 此时会发现我们CCS的工程目录下会多出关于GIO的程序文件HL_GIO.c、HL_GIO.h,还有关于我们需要的HL_sys_main.c文件。 打开HL_GIO.h文件,我们可以找到所有关于引脚的操作函数,如下图,我们要使用的是void gioInit(void);跟void gioSetBit(gioPORT_t *port, uint32 bit, uint32 value);两个。 打开我们的HL_sys_main.c文件,首先要#include一下我们的HL_gio.h,然后在main函数中调用gioInit();初始化一下我们的引脚,然后用 gioSetBit();分别设置一下我们的引脚输出电平就好了,为了方便观察我们好需要简单延时一下,程序如下所示,注意所有自己编写的代码都要放到注释中间,这样在使用HALCoGen生成配置代码的时候才不会被覆盖掉。 程序编写完了就可以下载了,运行结果如下,两个LED灯交替闪烁。 注意,由于我们的RM57L843片内Flash高达4MByte,因此每次仿真下载程序的时候,需要很长的时间来猜出Flash,然后再写入我们的代码文件,所以可以在如下页面选择警察出必要的空间,这样可以节省很多调试时间。

    时间:2017-11-30 关键词: TI MCU 安全 launchpad 实时处理器 rm57l843 hercules

发布文章

技术子站

更多

项目外包

更多

推荐博客