0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用CCS7.0仿真PGA970无法跳出FaultISR()中断解决方法

星星科技指导员 来源:TI 作者:Zhou Fang 2023-04-04 10:21 次阅读

PGA970提供单芯片全集成LVDT(线性可变差动变压器)模拟前端采集方案,内部集成激励信号发生器;两路路独立PGA,ADC与数字解调单元进行SIN/COS信号调理;独立PGA与ADC获取温度环境温度。另外内部集成ARM M0内核可实现对传感器进行补偿,实现各种不同接口(OWI,SPI,Analog Output)的通信

在使用CCS7.0和XDS200对PGA970进行调试与仿真时,需要参考[1]中步骤进行编译器配置。由于CCS7.0默认编译器版本与PGA970固件开发时使用的编译器版本不同,编译过程中出现警告,该警告并不会对编译结果产生直接影响,从而容易会被忽视,导致PGA970固件程序会反复进入FaultISR()中断,固件开发无法顺利进行。本篇Blog旨在展示该问题现象,帮助开发者顺利进行PGA970的固件开发。

1. PGA970硬件配置环境与软件环境

TI提供PGA970评估模块帮助客户进行项目前期的评估和初期开发。PGA970评估模块提供两种调试模式:

1. 使用USB2ANY转接口和TI PGA970 GUI,通过USB转SPI通信对PGA970内部寄存器进行配置。该调试方法主要用于PGA970单个模块(例如:波形发生器,滤波器带宽)调试。

2. 使用XDS200仿真器,通过直接对固件代码直接进行修改和烧录,实时测试PGA970性能。在该模式下可以进行补偿算法,软件状态机流程调试等。完成后的代码可以在最后阶段烧写进PGA970 OTP,形成最终程序。

使用方法2进行PGA970开发时,需要使用CCS。下载CCS7.0后,分别根据[1][2]完成XDS200仿真器链接,PGA970工程文件导入,Target Configuration配置,之后对PGA970 Reference Firmware工程文件进行编译会得到Figure 1警告:

警告:

“这个项目是使用当前未安装的编译器版本创建的:5.2.6 [ARM]。构建期间将使用另一个版本的编译器:16.9.0.LTS。请参阅“帮助>检查更新”或访问CCS App Center以获取最新的编译器。请参阅“帮助>安装新软件...”以安装较旧的编译器。或者,通过调整项目属性将项目迁移到可用的编译器版本之一。

出现该警告的原因是PGA970 Reference Firmware是基于CCS6.0 ti-cgt-arm_5.2.6编译器进行开发。CCS7.0默认编译器为16.9.0.LTS版本。根据[4]中说明,在大多数情况下,新版本的编译器应该对老版本编译器向下兼容。同时,CCS7.0在PGA970工程项目编译完成之后,并无错误提示。在编译器端,无重要问题出现。

poYBAGQria-AbkNjAAC2QwCN6lM327.png

Figure 1 编译器编译器不匹配报警

在PGA970 Reference Firmware编译完成后,进入Debug仿真。开始仿真后,如Figure 2 Firmware程序会始终运行在FaultISR(void)中断内,进行各种尝试,始终无法跳出该中断。PGA970内M0内核工作不正常,各个模块无法进行正确配置。

pYYBAGQribCACcB3AAQLgO3IOTY717.png

Figure 2 PGA970仿真无法跳出FAULTISR()中断

pYYBAGQribGAEfSqAAF2v4X2EkY561.png

Figure 3 PGA970编译器配置

此时在Project: PGA970 Reference Firmware -> Properties -> General 目录下,Compiler version为TI v16.9.0.LTS,如Figure 3所示。

二. PGA970 CCS7.0 Compiler Version更换

解决上述问题的方法就是使用5.2.6 [ARM]替换CCS7.0使用的默认编译器TI v16.9.0.LTS。步骤:

打开CCS -> Help -> Install New Software。

如Figure 4所示,在Work with 窗口中选中”All Available Sites”。搜索栏输入arm Compiler。

必须将选项”Show only the Latest version of available software”撤销。

勾选”ARM Compiler Tools” 版本5.2.6,然后选择”Next”进行安装。

poYBAGQribKAV6GpAAHXknWnVS8693.png

Figure 4 ARM5.2.6编译器下载

安装完成后,在Project: PGA970 Reference Firmware -> Properties -> General 目录下将”Compiler Version” 从TI v16.9.0.LTS切换为TI v5.2.6。

完成编译器修改后, 先Clean PGA970 Reference Firmware,再重新编译。编译完成后,Figure 1中的Warning消失。之后,进行Debug仿真,如Figure 5所示,Firmware成功进入main.c下的配置函数CFG_Peripheral_Config()与参数计算函数APP_Calculate_Coeff()。

pYYBAGQribOAYVtBAARrSvBPA30913.png

Figure 5 正常情况下PGA970 Debug运行while(1) loop

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2548

    文章

    50617

    浏览量

    751576
  • 编译器
    +关注

    关注

    1

    文章

    1618

    浏览量

    49038
  • 变压器
    +关注

    关注

    0

    文章

    1096

    浏览量

    4010
收藏 人收藏

    评论

    相关推荐

    关于运用CCS7.0仿真PGA970无法跳出FaultISR()中断解决方案

    环境温度。另外内部集成ARM M0内核可实现对传感器进行补偿,实现各种不同接口(OWI,SPI,Analog Output)的通信。 在使用CCS7.0和XDS200对PGA970进行调试与仿真时,需要
    的头像 发表于 06-28 10:15 6425次阅读
    关于运用<b class='flag-5'>CCS7.0</b><b class='flag-5'>仿真</b><b class='flag-5'>PGA970</b><b class='flag-5'>无法</b><b class='flag-5'>跳出</b><b class='flag-5'>FaultISR</b>()<b class='flag-5'>中断</b>解决方案

    外部中断误触发的原因分析和解决方法

    今天在写外部中断的程序的时候,发现中断特别容易受到干扰,我把手放在对应的中断引脚上,中断就一直触发,没有停过。经过一天的学习,找到了几个解决方法
    的头像 发表于 11-23 17:09 3060次阅读
    外部<b class='flag-5'>中断</b>误触发的原因分析和<b class='flag-5'>解决方法</b>

    CCS 7.0下6678软件仿真工具移植问题求助

    TI工程师你好: 以前一直用CCS5进行开发,最近软件更新到了CCS7.0,按照网上的说明,CCS6以后就不提供simulation功能了,只能从CCS5的安装文件中移植进去。现在我按
    发表于 06-21 02:45

    请问用ccs7.0为什么从TivaWare导入的9150的官方例程编译会出错?

    我用的ccs7.0为什么从TivaWare导入的9150的官方例程编译会出错啊,求解答,非常感谢!
    发表于 08-14 07:11

    板子为tm4c123gh6pm,请问ccs7.0及以上版本如何新建工程?

    板子为tm4c123gh6pm,求助ccs7.0及以上版本如何新建工程?谢谢!
    发表于 08-15 06:21

    使用CCS7.0仿真PGA970不能跳出FaultISR()中断解决方法

    PGA970仿真无法跳出FAULTISR()中断Figure 3 PGA970编译器配置 此
    发表于 03-14 06:45

    使用CCS7.0仿真PGA970无法跳出FaultISR()中断的解决办法

    环境温度。另外内部集成ARM M0内核可实现对传感器进行补偿,实现各种不同接口(OWI,SPI,Analog Output)的通信。在使用CCS7.0和XDS200对PGA970进行调试与仿真时,需要
    发表于 11-11 07:27

    CCS软件使用时错误要点及解决方法

    : code_start 一种解决方法,不用管它,因为C入口地址最终是由用户的CMD文件覆盖的,警告不影响使用。 二是,在编译选项里面link标签页,把Code Entry Point(-e)编辑框里面的code_start删除,就不会产生该警告了。
    发表于 04-09 10:00 1.1w次阅读

    PGA970 LVDT 传感器信号调节器

    电子发烧友网为你提供TI(ti)pga970相关产品参数、数据手册,更有pga970的引脚图、接线图、封装手册、中文资料、英文资料,pga970真值表,pga970管脚等资料,希望可以
    发表于 08-17 15:53
    <b class='flag-5'>PGA970</b> LVDT 传感器信号调节器

    PGA970硬件配置环境与软件环境

    不同接口(OWI,SPI,Analog Output)的通信。 在使用CCS7.0和XDS200对PGA970进行调试与仿真时,需要参考[1]中步骤进行编译器配置。由于CCS7.0
    的头像 发表于 12-29 14:12 2526次阅读
    <b class='flag-5'>PGA970</b>硬件配置环境与软件环境

    关于STM32程序卡在B .即Default_Handler处的解决方法

    关于STM32程序卡在B .即Default_Handler处的解决方法1.问题现象编译时没有报错,运行时突然就到了这里2.解决方法程序卡死在B.处说明有中断没有处理,导致程序进入中断
    发表于 12-02 19:06 20次下载
    关于STM32程序卡在B  .即Default_Handler处的<b class='flag-5'>解决方法</b>

    STM32 Debug无法添加断点的解决方法

    目录STM32 Debug无法添加断点的解决方法1、run to main设置错误2、generate assembler SRC file 设置错误3、HEX文件命名错误4、优化等级选择错误
    发表于 01-12 18:48 8次下载
    STM32 Debug<b class='flag-5'>无法</b>添加断点的<b class='flag-5'>解决方法</b>

    使用CCS7.0仿真PGA970无法跳出FaultISR()中断解决方法

    使用CCS7.0仿真PGA970无法跳出FaultISR()
    发表于 11-01 08:26 0次下载
    使用<b class='flag-5'>CCS7.0</b><b class='flag-5'>仿真</b><b class='flag-5'>PGA970</b><b class='flag-5'>无法</b><b class='flag-5'>跳出</b><b class='flag-5'>FaultISR</b>()<b class='flag-5'>中断</b><b class='flag-5'>解决方法</b>

    微软Teams无法登录解决方法——SDWAN加速服务

    微软Teams无法登录解决方法——SDWAN加速服务
    的头像 发表于 07-18 14:27 1620次阅读

    PGA970 LVDT传感器信号调节器数据表

    电子发烧友网站提供《PGA970 LVDT传感器信号调节器数据表.pdf》资料免费下载
    发表于 08-15 10:01 0次下载
    <b class='flag-5'>PGA970</b> LVDT传感器信号调节器数据表