2023.7.15:在步驟加入重新打開VSCode的提示(感謝學弟提醒)。
前言
在撰寫一款單晶片韌體,單晶片廠家通常都會附贈配套開發工具(如:IDE,SDK…等),其中IDE(Integrated development environment,整合式開發環境)的出現會讓新手或者韌體工程師可以省下環境建置的麻煩,更能夠快速地開發一個Project。
通常單晶片所配套的IDE很多種,但大部分常見的會是Arm的Keil MDK(最近官方好像在推廣使用VS Code核心的Keil MDK 6)、IAR的Embedded Workbench、以及Eclipse基金會的Eclipse IDE。
其中,由於Eclipse的開放原始碼特性,許多廠商會基於Eclipse IDE,往上疊加自身的功能,改成可以撰寫與偵錯自家單晶片的IDE工具。本文下面所介紹的CCS(Code Composer Studio)也是基於Eclipse IDE 修改而來。
但是,有使用過Eclipse IDE的工程師或者使用者,不難免都會遇到一種情況:如果在C/C++的環境下,不會像其他的IDE(如:IDE,SDK…等)沒有「很完全的」代碼提示的功能。僅僅是在撰寫Structure與Class這兩個資料型態時才會出現。
如果需要更完全的代碼提示功能,兩種方式都可以:
- 一是:修改Eclipse CDT的原始碼,並重新編譯。
- 另一種方式:就是使用其他款帶有代碼提示功能的編輯器做程式碼的撰寫,下面的介紹會使用這種方法。
前置作業
- 確保電腦上已經安裝編輯MSP430的IDE軟體(筆者使用Ti官方提供的Code Composer Studio作為示範)
- 下載Visual Studio Code,並根據安裝工具的提示,一步步將VS Code安裝到電腦上。
- 打開VS Code,點左邊Plugins按鈕,安裝C/C++開發插件。
PS: 如果看不懂英文,可以另外安裝繁體中文語言插件。
- 等待兩個插件都安裝完畢後,關閉且重新啟動Visual Studio Code。
步驟
- 打開Code Composer Studio,按照往常新建一個Project / 選擇現有Project。
- 點選Includes資料夾,把原先匯入的兩個資料夾目錄記錄下來。
- 打開VS Code,開啟當前CCS所打開的Project的所在目錄。
- 鍵盤按下
Ctrl + Shift + P
,叫出上方快捷功能欄,輸入C/C++ Edit Configurations (UI)
,進入C/C++設定介面。 - 在設定介面裡面,將Compiler path修改成當前MSP430的編譯器位置。
PS: 可以在CCS按一次編譯(Build),在Console視窗中會出現當前調用哪個編譯器。
- 將設定介面的Include path額外新增兩行剛才的Include目錄,並在目錄後加入
/**
讓VS Code可以讀到子目錄的.h
與.c
檔案。 - 將設定介面的Defines新增一行預編譯指令。
由於筆者使用的MSP430晶片型號為MSP430FR5994,則須在這裡輸入__MSP430FR5994__
。
如果使用不同晶片,則輸入的預編譯指令也會不同,但基本上只要修改型號為你的晶片即可。 - 上述操作完成之後,按下
Ctrl + S
保存設定,之後可以在左邊的檔案瀏覽中找到.vscode
資料夾,
資料夾內有一個C/C++插件的設定檔案,可以將其打開,並跟我下方提供的設定檔對照看看:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**",
"C:/ti/ccs1230/ccs/tools/compiler/ti-cgt-msp430_21.6.1.LTS/include/**",
"C:/ti/ccs1230/ccs/ccs_base/msp430/include/**"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE",
"__MSP430FR5969__"
],
"compilerPath": "C:\\ti\\ccs1230\\ccs\\tools\\compiler\\ti-cgt-msp430_21.6.1.LTS\\bin\\cl430.exe",
"cStandard": "c17",
"cppStandard": "gnu++17",
"intelliSenseMode": "gcc-x64"
}
],
"version": 4
} - 若操作都正常,請記得 「重新打開VScode載入設定檔」,之後開啟原先在CCS編輯的程式碼,之後就可以愉快的編輯程式了~
注意事項
- 如果沒有在設定介面的Defines輸入晶片型號,則後續在VS Code編輯程式碼的時候,會因為沒有定義晶片型號,而無法讓代碼提示的功能生效。
- 如果在VS Code編輯一部分並有按下保存,則切換到CCS的時候,CCS「有機率」會提示需要重新載入檔案,這個時候千萬要按Yes,否則你的程式碼還是舊的。
- 這種方法不僅適用於MSP430 CCS,也可以用在使用其他不帶代碼提示 / 「很完全的」代碼提示功能的IDE上面,僅需配置好相關設定即可。
好久沒更新了,上來清一下灰塵www
Comments