首页 > 评测 > 带你触摸安全微控制器——TMS570LS12x LaunchPad评测

带你触摸安全微控制器——TMS570LS12x LaunchPad评测

TMS57012   安全   TI   汽车应用   
  • 作者:Airwill
  • 来源:21ic
  • [导读]
  • Hercules TMS570LS12x LaunchPad 是一种价格低廉的评估平台,旨在帮助您快速掌握如何使用 Hercules 微控制器系列进行评估和开发。

开发环境搭建&上电测试

 


1. 根据手册,上电之前,需要先安装一个开发环境。由于TMS570LS12x LaunchPad使用的微控制器是TMS570LS1224,ARM  CortexR4 内核,可以使用Keil,但 TI 推荐Code Composer Studio 6.01以上,所以我就装了这个开发环境。

2. 首次连接电脑,会先有USB XDS110 调试器驱动安装。一共有四个设备,驱动程序的下载下载见附录的资料下载区。

TMS570LS12x开发环境配置.jpg

图7:TMS570LS12x LaunchPad开发板调试器设备安装

完成安装这些设备后,便可以正常进行实验和试用了。

上电实验:测试Demo PROJECT的功能。

1. 板载光传感器测试,上电后 USER_LED_B 闪烁,如果靠近亮光,会闪烁变快,远离或遮光,则闪烁变慢。

2. 短路跳线器JP1, 会将振荡器 OSC 短路到地,导致 MCU 检测到振荡器失效,芯片监控器会检测到错误信号,并点亮红色故障灯 ERR  LED。

3. 按下按钮 USER SWITCH B, 会给 MCU 注入比较错误,芯片监控器会检测到错误信号,并点亮红色故障灯 ERR LED。

4. 每按下按钮 USER SWITCH A一次, 会给 MCU 注入单个位错误,ECC 校验器会检测到并计数这个错误,USER LED  A闪烁会变快,当检测达到6次会触发并点亮红色故障灯 ERR LED。

 

 



自定义测试

这里先推荐安装Hercules HAL  代码生成器工具HALCoGen,这是一个功能强大的外设配置代码自动生成工具,说到配置代码自动生成工具,可能大家会想到STM32  的STM32CubeMX,Freescale 的Processor Expert,但比它们,HALCoGen  的功能其实要更为强大!所有外设各功能分支都能详细地配置,而且分类清晰详尽。

代码生成器工具界面.jpg

图8: 代码生成器工具界面

如果是功能介绍手册,也许会写成轻松点击鼠标,就生成的全部初始化代码。可是我没有决定轻松,一方面是是这个HALCoGen  真的太专业太详细了,当然还有是对这个芯片还不熟悉,查阅芯片资料反复对照,好长时间大体弄明白了自己比较关注的一些模块的功能和设置。当然生成代码很简单,  F5键是一键秒速完成。

代码生成器生成代码.jpg

图9: 代码生成器生成的代码

接下来是初步分析和使用这些代码了。按照习惯,我们会最先关心main() 函数,在生成的 sys_main.c 中。打开一看:

void main(void)

{

/* USER CODE BEGIN (3) */

/* USER CODE END */

}

不要失望,没有调用初始化代码,那有可能在启动代码中完成,于是找到打开sys_startup.c 文件。这些都不难找,做过c 语言开发的人,一看这些文件名大体就知道它们是干什么用的。嗯,好长的_c_int00() 函数。不过注释还是比较详细的,从内核初始化到RAM 的 ECC  初始化,最后是内核部分的外设初始化,最终处调用 main()。井井有序哪!不过其他外设的如GIO, 定时器和 PWM 等的初始化需要在main()  里加入代码了。

那么先试试这个初始化的代码直接工作的效果怎么样呢?HALCoGen的手册好象没有找到例程怎么导入CCS 的说明,不要紧,那就先创建一个CCS  的Cortex R4工程退出,再将那些已经生成的例程复制到新工程文件夹,并删除原来工程中的main.c文件,重新启动CCS,  配置一下编译参数,cmd文件和包含路径,运行库和大小端模式(注意要使用be32),编译成功。

CCS集成开发环境.jpg

图10: CCS集成开发环境

点击调试工具栏按钮,发现下载失败,那是CCS 没有安装XDS110调试器,可以点击菜单 Help->Check for Updates,选择仿真器  “TI Emulators”,完成更新后,在工程的 General Setup - Connection 里就能使用 Texas Instruments  XDS110 USB Debug Probe,便可以下载和调试了。

在 main() 里增加外设初始化代码,注意:为了让下次使用HALCoGen 不至于改掉你的代码,请把你的代码放在下面的这个结构之间。

/* USER CODE BEGIN (x) */

/* USER CODE END */

加入头文件包含和初始化代码后,调试,观测输出波形。

运行波形图.png

图11: 运行波形图

 

  • 本文系21ic原创,未经许可禁止转载!

网友评论