1. 程式人生 > >如何在CCS上生成.txt檔案並燒錄到MSP430

如何在CCS上生成.txt檔案並燒錄到MSP430

1,在CCS上正確建立工程檔案。

新建工程:File-New-CCS Project

2,在main.c檔案中編寫程式並儲存。

 1 #include <msp430f169.h>
 2 /*
 3  * 軟體延時
 4  */
 5 #define CPU_F1 ((double)1000000)
 6 #define delay_us1M(x) __delay_cycles((long)(CPU_F1*(double)x/1000000.0))
 7 #define delay_ms1M(x) __delay_cycles((long)(CPU_F1*(double)x/1000.0))
 8 
 9 /**
10  * main.c
11 */ 12 int main(void) 13 { 14 unsigned char j,k; 15 WDTCTL = WDTPW + WDTHOLD;//關看門狗 16 P6DIR = 0xff;//設定P4埠為輸出埠 17 while(1) 18 { 19 k = 1; 20 for(j=0;j<8;j++)//迴圈8次,即D1~D8輪流點亮 21 { 22 P6OUT = ~k;//反相輸出,低電平點亮LED 23 delay_ms1M(300);//延時 24 k=k<<1
;//左移一位 25 } 26 } 27 28 }

3編譯程式:Project-Build All

4,配置CCS使其產生.hex可執行檔案(用Protues模擬時下載晶片的時.hex檔案)

Project-Properties-MSP430 Hex Utility 

勾選 Enable MSP430 Hex Utility 再 Apply and Close 運用並關閉

5,此時再次去編譯程式,會產生.hex檔案

結果:

**** Build of configuration Debug for project LCD ****

"D:\\TI\\ccsv8\\utils\\bin\\gmake" -k -j 4 all -O gmake[1]: 'LCD.out' is up to date.Building files: "LCD.out"Invoking: MSP430 Hex Utility"D:/TI/ccsv8/tools/compiler/ti-cgt-msp430_18.1.2.LTS/bin/hex430" --memwidth=8 --romwidth=8 -o "LCD.hex"

"LCD.out" Translating to Extended Tektronix format... "LCD.out" .text ==> .text "LCD.out" DACDMA ==> DACDMA "LCD.out" PORT2 ==> PORT2 "LCD.out" USART1TX ==> USART1TX "LCD.out" USART1RX ==> USART1RX "LCD.out" PORT1 ==> PORT1 "LCD.out" TIMERA1 ==> TIMERA1 "LCD.out" TIMERA0 ==> TIMERA0 "LCD.out" ADC12 ==> ADC12 "LCD.out" USART0TX ==> USART0TX "LCD.out" USART0RX ==> USART0RX "LCD.out" WDT ==> WDT "LCD.out" COMPARATORA ==> COMPARATORA "LCD.out" TIMERB1 ==> TIMERB1 "LCD.out" TIMERB0 ==> TIMERB0 "LCD.out" NMI ==> NMI "LCD.out" .reset ==> .resetFinished building: "LCD.out"

**** Build Finished ****

6,再次對CCS進行配置,將.hex檔案轉換成.txt檔案,具體步驟如下:

a、 點選Project ,選擇Properties; b、選擇  Build - Steps c、在Post-build steps中加入下列語句,運用並關閉即可:"${CG_TOOL_HEX}" --ti_txt "${BuildArtifactFileName}" -o "${BuildArtifactFileBaseName}.txt" -order MS -romwidth 16

7,再次編譯程式,將產生.txt檔案(可能會有編譯無效,再進去看看配置的情況,然後在編譯。也可以去工程資料夾中看看是否生成.txt檔案)

結果:

**** Build of configuration Debug for project LCD ****

"D:\\TI\\ccsv8\\utils\\bin\\gmake" -k -j 4 all -O gmake[1]: 'LCD.out' is up to date.Building files: "LCD.out"Invoking: MSP430 Hex Utility"D:/TI/ccsv8/tools/compiler/ti-cgt-msp430_18.1.2.LTS/bin/hex430" --memwidth=8 --romwidth=8 -o "LCD.hex" "LCD.out" Translating to Extended Tektronix format... "LCD.out" .text ==> .text "LCD.out" DACDMA ==> DACDMA "LCD.out" PORT2 ==> PORT2 "LCD.out" USART1TX ==> USART1TX "LCD.out" USART1RX ==> USART1RX "LCD.out" PORT1 ==> PORT1 "LCD.out" TIMERA1 ==> TIMERA1 "LCD.out" TIMERA0 ==> TIMERA0 "LCD.out" ADC12 ==> ADC12 "LCD.out" USART0TX ==> USART0TX "LCD.out" USART0RX ==> USART0RX "LCD.out" WDT ==> WDT "LCD.out" COMPARATORA ==> COMPARATORA "LCD.out" TIMERB1 ==> TIMERB1 "LCD.out" TIMERB0 ==> TIMERB0 "LCD.out" NMI ==> NMI "LCD.out" .reset ==> .resetFinished building: "LCD.out" "D:/TI/ccsv8/tools/compiler/ti-cgt-msp430_18.1.2.LTS/bin/hex430" --ti_txt "LCD.out" -o "LCD.txt" -order MS -romwidth 16Translating to TI-TXT format... "LCD.out" .text ==> .text "LCD.out" DACDMA ==> DACDMA "LCD.out" PORT2 ==> PORT2 "LCD.out" USART1TX ==> USART1TX "LCD.out" USART1RX ==> USART1RX "LCD.out" PORT1 ==> PORT1 "LCD.out" TIMERA1 ==> TIMERA1 "LCD.out" TIMERA0 ==> TIMERA0 "LCD.out" ADC12 ==> ADC12 "LCD.out" USART0TX ==> USART0TX "LCD.out" USART0RX ==> USART0RX "LCD.out" WDT ==> WDT "LCD.out" COMPARATORA ==> COMPARATORA "LCD.out" TIMERB1 ==> TIMERB1 "LCD.out" TIMERB0 ==> TIMERB0 "LCD.out" NMI ==> NMI "LCD.out" .reset ==> .reset

**** Build Finished ****

8,我們用BSL430來進行程式的燒錄,就是講=將我們得到的.txt檔案傳錄到晶片,控制CPU工作

SF_BSL430下載軟體連結:https://pan.baidu.com/s/1tumqUGFZhx_83ynXRS3Ugw

 下載好後我們以管理員身份執行應用程式。

(1),選擇串列埠號(此前還需安裝USB轉串列埠驅動 CH340或CH341 連結:https://pan.baidu.com/s/1DvtcWuatTF9EtwSaBLhbog)

 進計算機管理系統-裝置管理器 -埠查詢串列埠號(必須連結開發板並上電開啟)

(2),裝載燒錄檔案。

到工程資料夾中-Debug資料夾找到.txt檔案

(3),執行(可能會程式設計失敗,重新裝載檔案試試)

結果: