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工程項目編譯完成之后,并無錯誤提示。在編譯器端,無重要問題出現。
Figure 1 編譯器編譯器不匹配報警
在PGA970 Reference Firmware編譯完成后,進入Debug仿真。開始仿真后,如Figure 2 Firmware程序會始終運行在FaultISR(void)中斷內,進行各種嘗試,始終無法跳出該中斷。PGA970內M0內核工作不正常,各個模塊無法進行正確配置。
Figure 2 PGA970仿真無法跳出FAULTISR()中斷
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”進行安裝。
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()。
Figure 5 正常情況下PGA970 Debug運行while(1) loop
審核編輯:郭婷
-
傳感器
+關注
關注
2550文章
51035瀏覽量
753067 -
編譯器
+關注
關注
1文章
1623瀏覽量
49108 -
變壓器
+關注
關注
0文章
1126瀏覽量
4010
發布評論請先 登錄
相關推薦
評論