0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用CCS7.0仿真PGA970無(wú)法跳出FaultISR()中斷解決方法

星星科技指導(dǎo)員 ? 來(lái)源:TI ? 作者:Zhou Fang ? 2023-04-04 10:21 ? 次閱讀

PGA970提供單芯片全集成LVDT(線(xiàn)性可變差動(dòng)變壓器)模擬前端采集方案,內(nèi)部集成激勵(lì)信號(hào)發(fā)生器;兩路路獨(dú)立PGA,ADC與數(shù)字解調(diào)單元進(jìn)行SIN/COS信號(hào)調(diào)理;獨(dú)立PGA與ADC獲取溫度環(huán)境溫度。另外內(nèi)部集成ARM M0內(nèi)核可實(shí)現(xiàn)對(duì)傳感器進(jìn)行補(bǔ)償,實(shí)現(xiàn)各種不同接口(OWI,SPI,Analog Output)的通信。

在使用CCS7.0和XDS200對(duì)PGA970進(jìn)行調(diào)試與仿真時(shí),需要參考[1]中步驟進(jìn)行編譯器配置。由于CCS7.0默認(rèn)編譯器版本與PGA970固件開(kāi)發(fā)時(shí)使用的編譯器版本不同,編譯過(guò)程中出現(xiàn)警告,該警告并不會(huì)對(duì)編譯結(jié)果產(chǎn)生直接影響,從而容易會(huì)被忽視,導(dǎo)致PGA970固件程序會(huì)反復(fù)進(jìn)入FaultISR()中斷,固件開(kāi)發(fā)無(wú)法順利進(jìn)行。本篇Blog旨在展示該問(wèn)題現(xiàn)象,幫助開(kāi)發(fā)者順利進(jìn)行PGA970的固件開(kāi)發(fā)。

1. PGA970硬件配置環(huán)境與軟件環(huán)境

TI提供PGA970評(píng)估模塊幫助客戶(hù)進(jìn)行項(xiàng)目前期的評(píng)估和初期開(kāi)發(fā)。PGA970評(píng)估模塊提供兩種調(diào)試模式:

1. 使用USB2ANY轉(zhuǎn)接口和TI PGA970 GUI,通過(guò)USB轉(zhuǎn)SPI通信對(duì)PGA970內(nèi)部寄存器進(jìn)行配置。該調(diào)試方法主要用于PGA970單個(gè)模塊(例如:波形發(fā)生器,濾波器帶寬)調(diào)試。

2. 使用XDS200仿真器,通過(guò)直接對(duì)固件代碼直接進(jìn)行修改和燒錄,實(shí)時(shí)測(cè)試PGA970性能。在該模式下可以進(jìn)行補(bǔ)償算法,軟件狀態(tài)機(jī)流程調(diào)試等。完成后的代碼可以在最后階段燒寫(xiě)進(jìn)PGA970 OTP,形成最終程序。

使用方法2進(jìn)行PGA970開(kāi)發(fā)時(shí),需要使用CCS。下載CCS7.0后,分別根據(jù)[1][2]完成XDS200仿真器鏈接,PGA970工程文件導(dǎo)入,Target Configuration配置,之后對(duì)PGA970 Reference Firmware工程文件進(jìn)行編譯會(huì)得到Figure 1警告:

警告:

“這個(gè)項(xiàng)目是使用當(dāng)前未安裝的編譯器版本創(chuàng)建的:5.2.6 [ARM]。構(gòu)建期間將使用另一個(gè)版本的編譯器:16.9.0.LTS。請(qǐng)參閱“幫助>檢查更新”或訪(fǎng)問(wèn)CCS App Center以獲取最新的編譯器。請(qǐng)參閱“幫助>安裝新軟件...”以安裝較舊的編譯器?;蛘?,通過(guò)調(diào)整項(xiàng)目屬性將項(xiàng)目遷移到可用的編譯器版本之一。

出現(xiàn)該警告的原因是PGA970 Reference Firmware是基于CCS6.0 ti-cgt-arm_5.2.6編譯器進(jìn)行開(kāi)發(fā)。CCS7.0默認(rèn)編譯器為16.9.0.LTS版本。根據(jù)[4]中說(shuō)明,在大多數(shù)情況下,新版本的編譯器應(yīng)該對(duì)老版本編譯器向下兼容。同時(shí),CCS7.0在PGA970工程項(xiàng)目編譯完成之后,并無(wú)錯(cuò)誤提示。在編譯器端,無(wú)重要問(wèn)題出現(xiàn)。

poYBAGQria-AbkNjAAC2QwCN6lM327.png

Figure 1 編譯器編譯器不匹配報(bào)警

在PGA970 Reference Firmware編譯完成后,進(jìn)入Debug仿真。開(kāi)始仿真后,如Figure 2 Firmware程序會(huì)始終運(yùn)行在FaultISR(void)中斷內(nèi),進(jìn)行各種嘗試,始終無(wú)法跳出該中斷。PGA970內(nèi)M0內(nèi)核工作不正常,各個(gè)模塊無(wú)法進(jìn)行正確配置。

pYYBAGQribCACcB3AAQLgO3IOTY717.png

Figure 2 PGA970仿真無(wú)法跳出FAULTISR()中斷

pYYBAGQribGAEfSqAAF2v4X2EkY561.png

Figure 3 PGA970編譯器配置

此時(shí)在Project: PGA970 Reference Firmware -> Properties -> General 目錄下,Compiler version為T(mén)I v16.9.0.LTS,如Figure 3所示。

二. PGA970 CCS7.0 Compiler Version更換

解決上述問(wèn)題的方法就是使用5.2.6 [ARM]替換CCS7.0使用的默認(rèn)編譯器TI v16.9.0.LTS。步驟:

打開(kāi)CCS -> Help -> Install New Software。

如Figure 4所示,在Work with 窗口中選中”All Available Sites”。搜索欄輸入arm Compiler。

必須將選項(xiàng)”Show only the Latest version of available software”撤銷(xiāo)。

勾選”ARM Compiler Tools” 版本5.2.6,然后選擇”Next”進(jìn)行安裝。

poYBAGQribKAV6GpAAHXknWnVS8693.png

Figure 4 ARM5.2.6編譯器下載

安裝完成后,在Project: PGA970 Reference Firmware -> Properties -> General 目錄下將”Compiler Version” 從TI v16.9.0.LTS切換為T(mén)I v5.2.6。

完成編譯器修改后, 先Clean PGA970 Reference Firmware,再重新編譯。編譯完成后,F(xiàn)igure 1中的Warning消失。之后,進(jìn)行Debug仿真,如Figure 5所示,F(xiàn)irmware成功進(jìn)入main.c下的配置函數(shù)CFG_Peripheral_Config()與參數(shù)計(jì)算函數(shù)APP_Calculate_Coeff()。

pYYBAGQribOAYVtBAARrSvBPA30913.png

Figure 5 正常情況下PGA970 Debug運(yùn)行while(1) loop

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 傳感器
    +關(guān)注

    關(guān)注

    2542

    文章

    50241

    瀏覽量

    750099
  • 編譯器
    +關(guān)注

    關(guān)注

    1

    文章

    1607

    瀏覽量

    48977
  • 變壓器
    +關(guān)注

    關(guān)注

    0

    文章

    1079

    瀏覽量

    4010
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    關(guān)于運(yùn)用CCS7.0仿真PGA970無(wú)法跳出FaultISR()中斷解決方案

    環(huán)境溫度。另外內(nèi)部集成ARM M0內(nèi)核可實(shí)現(xiàn)對(duì)傳感器進(jìn)行補(bǔ)償,實(shí)現(xiàn)各種不同接口(OWI,SPI,Analog Output)的通信。 在使用CCS7.0和XDS200對(duì)PGA970進(jìn)行調(diào)試與仿真時(shí),需要
    的頭像 發(fā)表于 06-28 10:15 ?6371次閱讀
    關(guān)于運(yùn)用<b class='flag-5'>CCS7.0</b><b class='flag-5'>仿真</b><b class='flag-5'>PGA970</b><b class='flag-5'>無(wú)法</b><b class='flag-5'>跳出</b><b class='flag-5'>FaultISR</b>()<b class='flag-5'>中斷</b>解決方案

    外部中斷誤觸發(fā)的原因分析和解決方法

    今天在寫(xiě)外部中斷的程序的時(shí)候,發(fā)現(xiàn)中斷特別容易受到干擾,我把手放在對(duì)應(yīng)的中斷引腳上,中斷就一直觸發(fā),沒(méi)有停過(guò)。經(jīng)過(guò)一天的學(xué)習(xí),找到了幾個(gè)解決方法
    的頭像 發(fā)表于 11-23 17:09 ?2691次閱讀
    外部<b class='flag-5'>中斷</b>誤觸發(fā)的原因分析和<b class='flag-5'>解決方法</b>

    CCS 7.0下6678軟件仿真工具移植問(wèn)題求助

    TI工程師你好: 以前一直用CCS5進(jìn)行開(kāi)發(fā),最近軟件更新到了CCS7.0,按照網(wǎng)上的說(shuō)明,CCS6以后就不提供simulation功能了,只能從CCS5的安裝文件中移植進(jìn)去。現(xiàn)在我按
    發(fā)表于 06-21 02:45

    請(qǐng)問(wèn)用ccs7.0為什么從TivaWare導(dǎo)入的9150的官方例程編譯會(huì)出錯(cuò)?

    我用的ccs7.0為什么從TivaWare導(dǎo)入的9150的官方例程編譯會(huì)出錯(cuò)啊,求解答,非常感謝!
    發(fā)表于 08-14 07:11

    板子為tm4c123gh6pm,請(qǐng)問(wèn)ccs7.0及以上版本如何新建工程?

    板子為tm4c123gh6pm,求助ccs7.0及以上版本如何新建工程?謝謝!
    發(fā)表于 08-15 06:21

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

    PGA970仿真無(wú)法跳出FAULTISR()中斷Figure 3 PGA970編譯器配置 此
    發(fā)表于 03-14 06:45

    使用CCS7.0仿真PGA970無(wú)法跳出FaultISR()中斷的解決辦法

    環(huán)境溫度。另外內(nèi)部集成ARM M0內(nèi)核可實(shí)現(xiàn)對(duì)傳感器進(jìn)行補(bǔ)償,實(shí)現(xiàn)各種不同接口(OWI,SPI,Analog Output)的通信。在使用CCS7.0和XDS200對(duì)PGA970進(jìn)行調(diào)試與仿真時(shí),需要
    發(fā)表于 11-11 07:27

    CCS軟件使用時(shí)錯(cuò)誤要點(diǎn)及解決方法

    : code_start 一種解決方法,不用管它,因?yàn)镃入口地址最終是由用戶(hù)的CMD文件覆蓋的,警告不影響使用。 二是,在編譯選項(xiàng)里面link標(biāo)簽頁(yè),把Code Entry Point(-e)編輯框里面的code_start刪除,就不會(huì)產(chǎn)生該警告了。
    發(fā)表于 04-09 10:00 ?1.1w次閱讀

    PGA970 LVDT 傳感器信號(hào)調(diào)節(jié)器

    電子發(fā)燒友網(wǎng)為你提供TI(ti)pga970相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊(cè),更有pga970的引腳圖、接線(xiàn)圖、封裝手冊(cè)、中文資料、英文資料,pga970真值表,pga970管腳等資料,希望可以
    發(fā)表于 08-17 15:53
    <b class='flag-5'>PGA970</b> LVDT 傳感器信號(hào)調(diào)節(jié)器

    PGA970硬件配置環(huán)境與軟件環(huán)境

    不同接口(OWI,SPI,Analog Output)的通信。 在使用CCS7.0和XDS200對(duì)PGA970進(jìn)行調(diào)試與仿真時(shí),需要參考[1]中步驟進(jìn)行編譯器配置。由于CCS7.0
    的頭像 發(fā)表于 12-29 14:12 ?2454次閱讀
    <b class='flag-5'>PGA970</b>硬件配置環(huán)境與軟件環(huán)境

    關(guān)于STM32程序卡在B .即Default_Handler處的解決方法

    關(guān)于STM32程序卡在B .即Default_Handler處的解決方法1.問(wèn)題現(xiàn)象編譯時(shí)沒(méi)有報(bào)錯(cuò),運(yùn)行時(shí)突然就到了這里2.解決方法程序卡死在B.處說(shuō)明有中斷沒(méi)有處理,導(dǎo)致程序進(jìn)入中斷
    發(fā)表于 12-02 19:06 ?20次下載
    關(guān)于STM32程序卡在B  .即Default_Handler處的<b class='flag-5'>解決方法</b>

    STM32 Debug無(wú)法添加斷點(diǎn)的解決方法

    目錄STM32 Debug無(wú)法添加斷點(diǎn)的解決方法1、run to main設(shè)置錯(cuò)誤2、generate assembler SRC file 設(shè)置錯(cuò)誤3、HEX文件命名錯(cuò)誤4、優(yōu)化等級(jí)選擇錯(cuò)誤
    發(fā)表于 01-12 18:48 ?8次下載
    STM32 Debug<b class='flag-5'>無(wú)法</b>添加斷點(diǎn)的<b class='flag-5'>解決方法</b>

    使用CCS7.0仿真PGA970無(wú)法跳出FaultISR()中斷解決方法

    使用CCS7.0仿真PGA970無(wú)法跳出FaultISR()
    發(fā)表于 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'>無(wú)法</b><b class='flag-5'>跳出</b><b class='flag-5'>FaultISR</b>()<b class='flag-5'>中斷</b><b class='flag-5'>解決方法</b>

    微軟Teams無(wú)法登錄解決方法——SDWAN加速服務(wù)

    微軟Teams無(wú)法登錄解決方法——SDWAN加速服務(wù)
    的頭像 發(fā)表于 07-18 14:27 ?1527次閱讀

    PGA970 LVDT傳感器信號(hào)調(diào)節(jié)器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《PGA970 LVDT傳感器信號(hào)調(diào)節(jié)器數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 08-15 10:01 ?0次下載
    <b class='flag-5'>PGA970</b> LVDT傳感器信號(hào)調(diào)節(jié)器數(shù)據(jù)表