【单片机】msp430几种不同开发平台的对比
目錄
TinyOS (moteiv & mica)
編輯器
工程管理
開發(fā)環(huán)境
編譯、運行和下載
make過程分析
TinyOS操作系統(tǒng)設(shè)計思想
MSPGCC
編輯器
工程管理
開發(fā)環(huán)境
編譯、運行和下載
make過程分析
IAR_MSP430
編輯器
工程管理
開發(fā)調(diào)試環(huán)境
編譯、運行和下載
總結(jié):
AVRGCC、ARMGCC和MSPGCC
【IAR編譯和單片機】IAR編譯和單片機的一些積累
IAR配置中遇到的幾個錯誤
IAR配置中遇到的幾個錯誤_happyflovef的博客-CSDN博客
怎樣最好地使用MSP430 編譯器的建議
原文:http://zh200581134.blog.163.com/blog/static/96010202010310536447/
Altium Designer ? http://www.mirrorservice.org/sites/download.sourceforge.net/pub/sourceforge/m/project/ms/mspgcc/mspgcc-win32/http://www.mirrorservice.org/sites/download.sourceforge.net/pub/sourceforge/m/
以m開頭的
一些軟件的下載
GCC toolchain for MSP430 download | SourceForge.net
http://sourceforge.net/develop/?? gcc的官網(wǎng)
TinyOS (moteiv & mica)
編輯器
沒有特定的編輯器,記事本類似的都行,保證所編輯的源文件是“.nc”結(jié)尾的nesC程序。
工程管理
一個目錄即為一個工程,包括一個makefile檔和一個或多個“components”,組件有兩種:
1.?????? 配件(configuration):描述不同組件之間的關(guān)系;
2.?????? 模塊:(module):描述組件提供的接口中的函數(shù)功能的實驗過程。
開發(fā)環(huán)境
在windows下安裝cygwin環(huán)境,并在cygwin下安裝TinyOS的開發(fā)工具包,其中包括
avr-binutils,??????? 二進制代碼工具
avr-gcc,??????????
avr-insight,
avr-libc,????????????
nesC-1.1.2????? ??????? nesC編譯器
…
編譯、運行和下載
TinyOS支持多種硬件平臺,每個硬件平臺在tos/platform有自己的目錄。
在應(yīng)用程序的目錄里/app/Blink下輸入:
make tmote????? //其中tmote代表的是平臺種類。如果target為pc,剛生成的main.exe可
//用于GDB的調(diào)試。
上面的語句實際上是按照當(dāng)前目錄的makefile文件運行的,makefile檔中包含了編譯、連接等。具體的實現(xiàn)如下:
1.ncc編譯鏈接:? #ncc –o main.exe –target=tmote Blink.nc?? //編譯生成了main.exe,可以作
//PC機上的模擬之用。
2.轉(zhuǎn)換: #msp430-objcopy –output-target=ihex main.exe main.ihex? ?//生成了main.ihex
下載:運行:? #make tmote reinstall,1? ????????//設(shè)置網(wǎng)絡(luò)地址為1
其中運行過程中主要的兩個命令如下:
installing tmote bootloader using bsl? ####安裝啟動引導(dǎo)檔,根據(jù)開發(fā)板的不同而不同。
tos-bsl –telosb –c 7 –r –I –p C:/cygwin/opt/moteiv/tos/lib/Deluge/TOSBoot/build/tmote/main.ihex
?????? installing tmote binary using bsl????? #####安裝二進制程序。ihex與ihex.out-1文件相同
tos-bsl –telosb –c 7 –r –I –p build/tmote/main.ihex.out-1
make過程分析
其中提到的目錄說明如下:(具體參照上面的圖)
opt\tinyos-1.x\tos\lib? ----------------------------------------包括了用到的庫函數(shù).
opt\tinyos-1.x\tos\interfaces----------------------------------包括接口函數(shù),
opt\tinyos-1.x\tos\platform----------包括了不同硬件平臺間的配置文件.(啟動引導(dǎo)檔在這里)
opt\tinyos-1.x\tos\sensorboards ------------------------------包括板載傳感器的具體實現(xiàn)
可以看到所有的程序都是調(diào)用了同一個make規(guī)則,除了工程本身所在目錄的makefile文件與本工程相關(guān)外,在\opt\tinyos-1.x\apps目錄下的makerule文件是公用的,其中定義了選用的編譯器及硬件平臺的選擇。
TinyOS操作系統(tǒng)設(shè)計思想
1.輕量級線程技術(shù)(lightweight thread)
2.主動消息通信技術(shù)(active message)
3.事件驅(qū)動模塊(event driver)
4.組件化編程(component-based programming)
nesC語言把組件化/模塊化思想和基于事件驅(qū)動的執(zhí)行模型結(jié)合起來。
組件化:其中的組件即“Configuration”(配件)、“Module”。兩個東西就像零件一樣組合在一起。
模塊化:
MSPGCC
編輯器
可以配置一些IDE(集成開發(fā)環(huán)境),如VIM、UltraEdit、CodeBlocks等,其中VIM是命令行的,用起來很有感覺,CodeBlocks是開源的,UltraEdit為商業(yè)軟件。但不管怎么樣,都是調(diào)用的mspgcc安裝程序里的make.exe,調(diào)試環(huán)境是msp430-insight
工程管理
用UltraEdit可以很好的管理工程文件,在工程目錄里面應(yīng)該有一個makefile檔,告訴make如何去生成所要的目錄文件和文件之間的依賴關(guān)系。同樣,用開源的CodeBlocks也可以自己搭建一個很好的IDE,鑒于對CodeBlocks都比較熟悉,即采用之!
開發(fā)環(huán)境
在windows下安裝mspgcc-2007021.exe,注意,這里最好是安裝最新版的,在之前我下載的是2003版的,又很多工具都不全,導(dǎo)致一個人摸索了好久。
然后在CodeBlocks里的“settings”項里配置相關(guān)的compiler和debugger,最重要的部分是庫函數(shù)所在的目錄位置。
編譯、運行和下載
編譯和鏈接部分基本上和相同,只是分別調(diào)用的是msp430-gcc.exe、msp430-ld.exe
下載是通過msp430-downloader.exe來下載的。
make過程分析
下面是makefile文件的部分分析:
${NAME}.elf: ${OBJECTS}???????? ????? #######################msp430-gcc進行編譯
?????? msp43o-gcc.exe ?-mmcu=${CPU} ?-o $@ ${OBJECTS}? ####生成了 “*.elf”文件
${NAME}.a43: ?${NAME}.elf????????????????? ##################目標(biāo)文件進行轉(zhuǎn)換
?????? msp430-objcopy -O ihex $^ $@???????? ##################將elf文件轉(zhuǎn)換為*.a43文件
${NAME}.lst: ${NAME}.elf??????????? ##################反匯編,生成*.lst文件,其中
msp430-objdump -dSt $^ >$@??? ##################這個文件包含了c源碼,匯?????????????????????????????????? ##################編原碼
download-jtag: all
?????? msp430-jtag -e ${NAME}.elf
download-bsl: all????????????? ?#####這里的下載工具也是bsl,和TinyOS的tos-bsl類似
?????? msp430-bsl -e ${NAME}.elf
其中,*.a43為TI-Text格式, *.hex為Intel-hex格式.
IAR_MSP430
編輯器
IAR Embedded Workbench IDE一個瑞士開發(fā)的商用軟件的,價格好象在6500.00;目前個人感覺相比開源的MSPGCC也沒太大的優(yōu)勢。
工程管理
一個“.eww ”即為一個工程,
開發(fā)調(diào)試環(huán)境
編譯、運行和下載
編譯:調(diào)用“icc430.exe”編譯器和已經(jīng)設(shè)定好的一些參數(shù),包括指定的動態(tài)庫文件,輸出文件所在的目錄,具體的代碼好下:
?icc430.exe -I D:\Program Files\IAR Systems\Embedded Workbench 4.0\430\INC\
-I D:\Program Files\IAR Systems\Embedded Workbench 4.0\430\INC\DLIB\
-o C:\Documents and Settings\Administrator\My Documents\Debug\Obj\
-z3 --no_cse --no_unroll --no_inline --no_code_motion --no_tbaa --debug -e --double=32
-D_DLIB_CONFIG_FILE=D:\ProgramFiles\IARSystems\EmbeddedWorkbench4.0\430\LIB\DLIB\dl430fn.h ?
D:\Program Files\IAR Systems\Embedded Workbench 4.0\430\FET_examples\fet140\C-source\fet140_1.c
運行上面的命令之后,在“..\obj”目錄下生成了“*.r43”文件。(The Obj directory is the destination directory for the object files from the compiler and the assembler. These files have the extension r43 and will be used as input to the IAR XLINK Linker.)
鏈接:這里調(diào)用的是“xlink.exe”,具體的代碼好下:
xlink.exe? C:\Documents and Settings\Administrator\My Documents\Debug\Obj\fet140_1.r43
-o C:\Documents and Settings\Administrator\My Documents\Debug\Exe\SMC4200.d43 –I? D:\Program Files\IAR Systems\Embedded Workbench 4.0\430\LIB\
-f? D:\Program Files\IAR Systems\Embedded Workbench 4.0\430\CONFIG\lnk430F149.xcl
-f D:\Program Files\IAR Systems\Embedded Workbench 4.0\430\config\multiplier.xcl -D_STACK_SIZE=50
-rt D:\Program Files\IAR Systems\Embedded Workbench 4.0\430\LIB\DLIB\dl430fn.r43
-e_PrintfLarge=_Printf
-e_ScanfLarge=_Scanf
-D_HEAP_SIZE=50
-s __program_start
##### -o This option creates a UBROF output file, with a DE>d43DE> filename extension, to be used with the IAR C-SPY Debugger. (The Exe directory is the destination directory for the executable file. It has the extension d43 and will be used as input to the IAR C-SPY Debugger. Note that this
directory will be empty until you have linked the object files.)? <<EW430_UserGuide>> P66
下載:
在下載部分,IAR沒有給出很詳細的,
總結(jié):
下面是和IAR、Jennic及TinyOS平臺做的對比:??
| 開發(fā)工具包 | IAR | Jennic | TinyOS | MSPGCC | |
| compiler 編譯器 | C Compiler | icc430.exe | ba-elf-gcc.exe | ncc.exe msp430-gcc.exe | msp430-gcc.exe |
| C++ Compiler | ba-elf-g++.exe | msp430-g++.exe | |||
| Linker 鏈接器 | 動態(tài)庫的鏈接器 | xlink.exe | ba-elf-ld.exe | msp430-ld.exe | |
| 靜態(tài)庫的鏈接器 | ? | ba-elf-ar.exe | msp430-ar.exe | ||
| Debugger | ba-elf-gdb.exe | msp430-gdb.exe | |||
| make | Make.exe | Make.exe | Make.exe | ||
| Download file | ? | *.bin | *.hex.out-1 (tmote) | *.elf? *.hex? *.txt | |
| downloader | tos-bsl | download-bsl | |||
AVRGCC、ARMGCC和MSPGCC
IAR
ü???????? application and library projects.
ü????????? The Obj directory is the destination directory for the object files from the compiler and the assembler. These files have the extension r43 and will be used as input to the IAR XLINK Linker(<<EW430_UserGuide>> P69)
嵌入式開發(fā),C語言不可或缺。優(yōu)秀的編譯器直如倚天屠龍。讀書時,用過MSP430,編譯器為IAR(盜版),code有2K限制。為此,曾攻讀過專門以此器為背景的C語言書(藍封面,北航社,忘其名)。此器,功能強大,調(diào)試方便,硬件寄存器皆有顯示。窺430之門徑,離Hello World之苦海,伴我?guī)滓缀?#xff0c;初踏嵌入式之地者,正是此器。
后,一直未曾用430。前些天,某任務(wù)要用。我重拾往日之事。IAR終為不完全盜版,破解太煩。懶,不愿做。放狗搜,見mspgcc,版本號:20081230。與gcc一脈傳承,想必不錯。試用幾日,感覺這才是利器!
1. 正版。無限制。
GPL,天下皆知
2. 與gcc系出同源,使用方式極像。
如果用過gcc
?? ?查看mspgcc對gcc的擴展
如果沒有用過gcc
?? ?先了解一下gcc的基本用法,比如
?? ?gcc -o hello hell.c
?? ?gcc -S hell.c
?? ?等
?? ?然后,mspgcc
其它
goto error;
3. 針對430擴展C語言,匯編能做的,他幾乎都能做。
僅在此列出我認為有趣的幾個,詳情,查手冊。
(1)堆棧
mspgcc對堆棧的設(shè)置很靈活。你可以為自己保留一定字節(jié)的RAM不被C占用。如下聲明
int RESERVE_RAM(10) main()
你保留的10字節(jié)RAM。
你也可以自己寫啟動文件,代替標(biāo)準(zhǔn)的啟動文件,自己控制進入C語言時的環(huán)境。
(2)頭文件
在嵌入式開發(fā)中,一般會有針對硬件的頭文件。其中為特殊功能寄存器定義等。不同的硬件環(huán)境,當(dāng)然需要不同的定義。在mspgcc的開發(fā)環(huán)境中只需增加
#include <io.h>
即可。
不同的硬件如何區(qū)別?在Makefile文件中或者在編譯時說明是哪種430芯片就可以了。這一點,和winavr相同。
(3)中斷
中斷是硬件的珍貴資源。標(biāo)準(zhǔn)C中似乎沒有中斷的定義,所以一般采用擴展。mspgcc提供了interrupt關(guān)鍵字,以及控制進入中斷方式的選項。比如,下面的中斷程序中沒有用到諸如R4,R5等其它寄存器,卻仍將其在堆棧中保護。
interrupt (ADC_VECTOR) ADC12ISR(void)
{
?? ?ADCresult = ADC12MEM0;??????????????? // Move results, IFG is cleared
}
屬性naked修飾后,裸奔。不做任何事情,甚至reti都不執(zhí)行,所以,得自己控制返回。
interrupt (ADC_VECTOR) __attribute__ ((naked))? ADC12ISR(void)
{
?? ?ADCresult = ADC12MEM0;??????????????? // Move results, IFG is cleared
?? ?asm("reti");
}
mspgcc中擴展了下面這些屬性(參考mspgcc手冊)。
reserve(x)?? ?When applied to main(), this reserves "x" bytes of RAM above the stack. This cannot be used with C++ (if C++ is supported later on).
interrupt(x)?? ?Make the function an interrupt service routine for interrupt "x".
signal?? ??? ?Make an interrupt service routine allow further nested interrupts.
wakeup?? ??? ?When applied to an interrupt service routine, wake the processor from any low power state as the routine exits. When applied to other routines, this attribute is silently ignored.
naked?? ??? ?Do not generate a prologue or epilogue for the function.
critical?? ?Disable interrupts on entry, and restore the previous interrupt state on exit.
reentrant?? ?Disable interrupts on entry, and always enable them on exit.
saveprologue?? ?Use a subroutine for the function prologue, to save memory.
noint_hwmul?? ?Supress the generation of disable and enable interrupt instructions around hardware multiplier code.
(4)匯編
mapgcc支持行間匯編。只是,gcc的匯編語言似乎與TI的不盡相同。
4. 燒寫
有三種方式
(1) gdb
(2) msp430-downloader.exe
(3) msp430-jtag.exe
5. 調(diào)試
當(dāng)前,最新版mspgcc沒有insight,只有g(shù)db。個人感覺不如IAR直觀
前些天接了個任務(wù),要把原來在MCU430x149里面的程序移植并燒寫到MCU430x1611里面去,以前沒用過430,但它的鼎鼎大名早有耳聞,許多論文、報告上都提到過430。大概的搜了些資料,覺得它最突出的地方莫過于功耗小、速度快,據(jù)說以前RAM有點小,現(xiàn)在出了16xx,應(yīng)該是可以滿足一些需求了。雖說430聲名在外,可上網(wǎng)搜了一通,卻發(fā)現(xiàn)有用的資料不多,其實我主要是想找一下開發(fā)環(huán)境,至少程序方面并沒有什么太
大的期望,一來有源代碼,二來有手冊和用戶指南,所以在代碼上問題應(yīng)該不大。 430的開發(fā)工具一般都是用的IAR,我問了周圍的同事,也都這么說,于是就上網(wǎng)費了n大的勁下了一個IAR For 430 3.41A版的,然后破解、建工程、編譯代碼,誰知道這時候出問題了,原來代碼是用MSPGCC環(huán)境編譯的,在IAR下錯誤一大堆。于是就又放棄了IAR,開始搜索MSPGCC,誰知道這個東西的資料少的可憐,按理說是開源軟件,用戶應(yīng)該多些,可情景正好相反,鮮有詳細的資料,只在利達爾的論壇上有些資料,還都是一兩年前的,可能是考慮到開發(fā)環(huán)境的兼容性,用IAR的占了絕大多數(shù),反正國內(nèi)用MSPGCC的不多。在摸索了幾天,查了n多資料,上了n多網(wǎng)站后(基本上是E文的),終于建立了MSPGCC的編譯與仿真環(huán)境,下面就是小弟的搭建過程,希望對像我這樣的初學(xué)者或者對MSPGCC感興趣的朋友有點用處。 1、從網(wǎng)上下載MSPGCC的安裝包(For Windows),可以從這兒下載最新版: GCC toolchain for MSP430 download | SourceForge.net?? 然后再下載20030506版本: Download GCC toolchain for MSP430 from SourceForge.net 因為新版中沒有insight 工具。 2、下載一個WinAVR,主要是為了在Windows下建立一個Linux環(huán)境,然后就不用怎么修改Makefile文件了,因為原來程序的環(huán)境就是這樣建的,所以我也就裝了一個,其實WinAVR對MSPGCC來說不是必須的,不過用了它的話會方便一些,并且從AVR上移植程序也方便。 3、先看一下網(wǎng)上的資料,像Asnake兄的Mspgccgo、yfzhcn的MSPGCC學(xué)習(xí)筆記、finewei的博客,利爾達論壇上都有,看了這些就會有個大概的了解。 4、把MSPGCC和WinAVR都裝上,注意MSPGCC要先裝老版本的,再裝新版,這樣就可以支持新MCU,比如說1611,網(wǎng)上也有說先裝新版再裝舊版的,但我裝了之后就識別不了新的MCU,但如果要想用Insight的話,舊版的是一定要裝的,只有舊版的才有,新版的沒有GUI的調(diào)試程序。我在裝了舊版的以后,就不再支持1611,如果不裝的話沒有問題,后來不得不一個一個文件的對比,然后用新版的覆蓋。還有就是在裝完MSPGCC和WinAVR以后,一定要把cygwin1.dll版本統(tǒng)一,直接用新的覆蓋舊的就行了。 5、這些完成之后,打開WinAVR安裝時自帶的Programmer Notepad 2,然后打開原來的工程,也不用配置(我沒有配置,就用的默認菜單配置),然后Makeall就可以了,但我在用MSPGCC的make.exe替換掉WinAVR里的make.exe以后,或者修改菜單配置以后就再也通不過編譯,不知道為什么,或者是我那樣做根本就不對,還請用過的前輩指點一下。 6、程序make成功以后,就可以下載或者調(diào)試了,這個可以參考Asnake兄的Mspgccgo,里面說的很詳細,也有圖片,我想說的就是在點擊了Run?? 或下載以后,下載的過程很慢,并且Insight看起來像是沒有響應(yīng)一樣,但在右上角會有一個綠色的下載進度條,這些都是正常的,千萬不要以為程序死掉了。 啰唆了這么久,其實過程也很簡單的,只是一個人摸索的話費點時間罷了,感覺MSPGCC還是很好用的,用過Linux或用慣了命令行的會覺得很方便的,上手也很容易,并且是免費的,最重要的是現(xiàn)在已經(jīng)有了AVRGCC、ARMGCC和MSPGCC,程序程序移植起來很方便,呵呵,各位如果感興趣的話,不妨也試一下,大家也可以相互交流,共同學(xué)習(xí)。
MSP430單片機問答
Q 1: 如何將msp430與5v 的系統(tǒng)作連結(jié)?
A 1: 可以參考我們的一份Application note:slaa148。
Q 2: 除了使用于pda 或smart phone 外,430可否使用在其它的應(yīng)用中?
A 2: msp430 是一顆混合信號處理能力相當(dāng)優(yōu)秀的mcu,為16bit、flash架構(gòu),超低功耗的特性使其非常適合用于可攜式外圍,另外在于一般的meter、傳感器應(yīng)用及低耗電量的應(yīng)用也非常合適。
Q 3: 在目前的430于數(shù)字相機及pda 中,430的主要功能為何?使用到哪些模塊?
A 3: 主要使用的是timer_a 及i/o,另外隨著功能的強化您可以使用adc及比較器及其它相關(guān)模塊。
Q 4: 在中國是否有經(jīng)銷點及技術(shù)支持人員?
A 4: 有的,您可以與我們蘇子杰先生聯(lián)絡(luò)。電話是:21-58369345。
Q 5: 我想要學(xué)習(xí)msp430,請問在軟件及硬件設(shè)計上有沒有更完整的范例?
A 5: 可以與我們聯(lián)絡(luò)或是至ti 網(wǎng)站:http://www.ti.com/msp430。訪問網(wǎng)址超出本站范圍,不能確定是否安全繼續(xù)訪問 取消訪問www.ti.com/msp430。
Q 6: 我能夠使用msp430 中的adc做為voice 的codec 嗎?
A 6: 有的,我們有些范例就是實現(xiàn)voice codec,您可以與我們聯(lián)絡(luò)取得此范例。
Q 7: 我的系統(tǒng)中有一顆dsp 作為主要的運算核心,msp430 與它們的溝通能力好嗎?
A 7: 相當(dāng)優(yōu)秀,您可以使用i2c或spi 或uart 與dsp 溝通,我們亦用范例是利用msp430做為dsp 之boot rom 做為更安全之外部程序保護。
Q 8: 聽說c 語言的程序效能較為低落,msp430 的c compiler 的效能好嗎?如果我想使用msp43的匯編語言作開發(fā)會不會很難學(xué)?可以在同一個項目中同時使用c 及匯編語言呢?
A 8: 可以在同一個項目中使用c及asm,其效率相當(dāng)不錯,您可以自行將c code轉(zhuǎn)換成asm code便可以發(fā)現(xiàn)其除了效率外,code size 也相當(dāng)?shù)男 ?br /> Q 9: 我對于貴公司的產(chǎn)品很感興趣,但是不知道價格及交期怎么樣?
A 9: 關(guān)于價格及其它產(chǎn)品的詢問及技術(shù)支持,請直接與我們聯(lián)絡(luò)方便得到更多更好的服務(wù)。
Q 10: 我目前使用8051 作開發(fā),不知道這個IC 會不會很少人用?會不會不好用,模擬功能會不會不強?還要另外增加其它的硬件及線路?
A 10: 無論是在亞洲或是歐美,430均有顯注的成長,另外msp430是一顆功能強大的soc,整合了模擬及數(shù)字的處理能力,所以您可以放心。
Q 11: 我有遙控器的案子要開發(fā),但是不知道用哪一顆比較合適?在挑選ic上有沒有好的建議?
A 11: 我們從最低階的f1101到高階的f440 均可以完成ir 的編譯碼,另外如果您有更多需求,如adc、如lcd 您可以選擇其它的msp430 來做為您最適合的解決方案。
Q 12: 我想在儀器設(shè)計中采用mps430及有關(guān)配套組件和顯示系統(tǒng).不知道該片的更新時間大約是多少? 如果有相關(guān)的應(yīng)用資料請寄來.謝謝北京大學(xué)姜天仕
A 12: 如果您使用MSP430F4xx 內(nèi)的LCD Driver,請參考data sheet,如果使用lcm,請參考供應(yīng)商的資料。
Q 13: 能否將此次的演示文稿給大家一份,好讓我們有時間時仔細學(xué)習(xí)一下?
A 13: 您可以于EEPlace 上取得本次投影片,如果需要進一步的支持,請與我們聯(lián)絡(luò)。
Q 14: 我們一直使用PC104 嵌入式PC 或DIMM 式PC,以及單片機等開發(fā)產(chǎn)品。我們想用DSP來作產(chǎn)品。請問用DSP 來作(或開發(fā))產(chǎn)品,首先需要作哪些準(zhǔn)備工作(例如開發(fā)平臺所需的軟件和硬件等),大約需要多少資金。能否提供這方面的建議和方案。并提供幫助。謝謝!易碧金呈上2003.6.24
A 14: 關(guān)于DSP 的部份,歡迎您直接與我們聯(lián)絡(luò)。
Q 15: MSP430 可能支持MP3解碼?
A 15: 目前不能,需另外搭配dsp。
Q 16: 支持的操作系統(tǒng)有哪些?
A 16: 目前您可以在Windows 及Linux 下開發(fā),至于MSP430您可以使用在各種手持設(shè)備中。
Q 17: How many the most uart can be used by MSP430? How much one piece?
A 17: 硬件uart 最高到2組,另外亦可使用sw uart。
Q 18: IAR 4k c-compiler 是表示不能compiler 超過4k 的C code 嗎?
A 18: 是指linker 最大只會link 4k的c source code,而在assembler 中并無此限,另外,尚有全功能的30天試用版,如果您有需要請與我們聯(lián)絡(luò)。
Q 19: 我在使用TI 的產(chǎn)品(msp-us-trf6900)遇到了一個問題。
A 19: 這蠻奇怪的,也許與您的硬件有關(guān),請直接與我們聯(lián)絡(luò)來共同研究解決。
Q 20: 我無法將寫好的程序重新download到msp430 上。
A 20: 這蠻奇怪的,也許與您的硬件有關(guān),請直接與我們聯(lián)絡(luò)來共同研究解決。
Q 21: 我想請問一下MSP430 是否可以用軟件規(guī)劃呢?
A 21: 新版的iar有提供此功能。
Q 22: 請問msp430F149 的復(fù)位電路如何解決?
A 22: 使用svs ic或是直接將您的電路與我們工程師一起來研究,蠻多的情況均
是reset 電路設(shè)計不良造成reset 失效。
Q 23: msp430 與sygnal 的性能方面的對比如何?您用什么打動我放棄sygnal,使
用msp430?
A 23: MSP430 為16bit CPU核心,Flash base 的mcu,整合了數(shù)字及模擬信號的
處理能力,在強大的功能下,又具備了超低功耗的特性。所以您可以從耗電量、
數(shù)字模擬整合能力、Signal chain/SoC、Total cost 等各方向來評估MSP430 對于
您目前的設(shè)計上的幫助了。
Q 24: 我有一電路需求要偵測一電壓5v~20v 及溫度并記錄數(shù)據(jù)且與pc 連
線監(jiān)看.請問msp 430 可適用否? msp430 單價大約多少錢?
A 24: 沒有問題,您可以使用MSP430 內(nèi)部的ADC12 或是ADC10或是SlopeADC 搭配硬件或軟件UART,MSP430 的價格從0.49 美金開始,針對您所需求
的。
Q 25: 1)Is there MMU can provide? 2) Can it support OS? 3) How to program the internel Flash? 4) Have a large code space to store datas?
A 25: 1) Please discuss with us 2) Yes,you can program it as an OS 3) very
easy, NO special instruction ,we can give you some examples for your reference.
4)Yes,Up to 60K.
Q 26: 可以問您一下關(guān)于TI的其它芯片的信息嗎?
A 26: 請隨時與我們聯(lián)絡(luò),我們將會提供最好的支持及服務(wù)給您。
Q 27: 我同事設(shè)計的一個MSP430F1121電路上電復(fù)位不可靠, 麻煩講述一下430
系列上電復(fù)位硬件設(shè)計注意事項。
A 27: 在F1121 上并沒有SVS 的功能(在4XX系列及新推出的1XX 系列具有),
所以您可以使用具Power good 的LDO或SVS IC 以增加Reset 電位的可靠。一
般說來使用外部的RC即可,當(dāng)然也可以利用簡單的電路就可增加此部份的可靠
度,如果您需要此部份線路,請與我們聯(lián)絡(luò)。
Q 28: 低功耗是否用在工業(yè)控制場合有致命的問題,如強電磁干擾,應(yīng)如何處
理? 謝謝。
A 28: 除了msp430 本身的抗ESD能力外,您亦可利用外部的線路來將外部干擾
信號濾除,如果您有需要這些線路的協(xié)助,請與我們聯(lián)絡(luò)。
Q 29: 請問msp430 Flash系列仿真器在原理上有什么不同嗎?有沒有能仿真全系
列的?
A 29: 我們MSP430 內(nèi)部具有JTAG Interface,透過這個接口,您可以直接的去
access ram/rom/register 等,所以您看到的是真實的msp430 狀況,包含有ADC、
Timer等。所以對430 而言,您使用的是Emulator而非Simulator,另外在MSP430
flash 家族中均具有此一功能。
Q 30: 請問FET IDE的c-complier只能complier4K嗎?會不會太小呢?
A 30: 另外亦有30 天全功能的試用版本可以提供給使用者使用。您可以與我們
聯(lián)系以取得更完整的數(shù)據(jù)。
Q 31: 使用C 語言超過4kb 怎么辦?
A 31: 購買正式版本的C Compiler或使用免費的GCC for MSP430http://mspgcc.sourceforge.net。訪問網(wǎng)址超出本站范圍,不能確定是否安全繼續(xù)訪問 取消訪問http://mspgcc.sourceforge.net。
Q 32: 請問在使用430 時,特別要注意哪些問題?
A 32: MSP430 是一個模塊化的16 bit CPU 核心、Flash 的SoC,實現(xiàn)了Signal Chain on Chip,也就是說與過去其它的8bit MCU相比,您不再需要使用許多外部零件、不再需要許多額外的指令周期、不再需要外掛eeprom或占用許多的code size。所以建議您能夠以設(shè)計系統(tǒng)的概念來使用MSP430,我想這是最重要的。
Q 33: 請告訴我,編譯器的網(wǎng)址,我的Email:bird_mc958@163.com, 謝謝!
A 33: http://www.quadravox.com訪問網(wǎng)址超出本站范圍,不能確定是否安全繼續(xù)訪問 取消訪問http://www.quadravox.com
Q 34: MSP430 的I/O是否帶抗靜電ESD保護功能。抗干擾能力如何?
A 34: 有,您可以與我們聯(lián)絡(luò)取得更完整的測試報告。
Q 35: msp430 有中文資料嗎,在哪里可以得到?
A 35: 目前在中國有三本的MSP430 中文書可以購買。此外如果您有需要也可以
與我們進行在線的討論:網(wǎng)址是www.vpdsp.com,我們提供了豐富的DSP 參考資
料及TI產(chǎn)品的在線討論區(qū)。
Q 36: MSP430 I2C 接口是否可以實現(xiàn)Master 能力?
A 36: 可以。
Q 37: msp430 系列單片機目前的產(chǎn)品沒有除法功能,請問以后的新產(chǎn)品,有沒有
可能集成除法的運算功能?
A 37: 目前暫無規(guī)畫,但是我們未來的產(chǎn)品會提升我們整體運算的效能至30mips
以上。
Q 38: MSP430 可否提供多重中斷的Example code ? Web 尚未提供...
A 38: 請與我們直接聯(lián)絡(luò),我們可以提供范例程序給您作參考。
Q 39: 430 該如何連接802.11A/B 做數(shù)據(jù)收集?
A 39: 在ti 的網(wǎng)站上,我們有提供一個關(guān)于MSP430 于internet 應(yīng)用的范例,或
許您可以參考它并應(yīng)用于您的案子上。該文件編號為:slaa137。
Q 40: 內(nèi)建DAC 的MSP430 什么時候可以量產(chǎn)?
A 40: 2003 年第3Q。
Q 41: MSP430F1122 有否計劃出mask type?
A 41: 目前沒有,如果您有此方面的需求請與我們聯(lián)絡(luò),我們可以給您相關(guān)的解
決方案。
Q 42: 有沒有背板開發(fā)包(for VxWorks)或者是嵌入式LINUX的編譯器提供?
A 42: MSP430GCC 有提供Linux 的編譯器,http://mspgcc.sourceforge.net,您可以自行參考研究。
Q 43: 可以應(yīng)用在有USB的產(chǎn)品嗎? 如何應(yīng)用Thanks?
A 43: 在20004 年我們會有關(guān)于MSP430 5xx 系列更完整的數(shù)據(jù),希望您能與我
們保持聯(lián)絡(luò)。
Q 44: 請問現(xiàn)在有支持C 語言的MSP430 編程調(diào)試環(huán)境嗎?
A 44: 有,目前有許多廠商為MSP430 開發(fā)高效能的C compiler。
Q 45: 初學(xué)者應(yīng)該從那方面著手,應(yīng)該注意那些問題?
A 45: 建議您可以從使用FET及參閱MSP430 相關(guān)程序開始著手。利用FET本身所提供的功能,您可以在這個平臺上完成開發(fā)、模擬、燒錄、除錯等功能,其次MSP430 為一個模塊化的SoC,也就是說您要使用何種功能,您在去分別學(xué)習(xí)及開發(fā)相關(guān)的模塊即可。
Q 46: 請問當(dāng)它設(shè)計在DC to DC converter 時, 效率如何?
A 46: 在實際使用上與您的電路設(shè)計會有關(guān)系,請直接與我們聯(lián)絡(luò)取得更完整的
資料。
Q 47: 我可不可只買FET tool 中的Emulation Cable。多少錢呢?
A 47: FET套件中含有JTAG Interface、Target board及2 個msp430 的芯片,如果
您僅需要JTAG Interface,您可以向TI的3rd party購買,價格為49 元美金。網(wǎng)
址是www.softbaugh.com。
【IAR編譯和單片機】IAR編譯和單片機的一些積累
?1、2012.4.12: IAR C編譯器中如何選擇才能不初始化片內(nèi)RAM
?????????????? 程序復(fù)位不清除變量值
用__no_init 實現(xiàn):__no_init 是一個SEGMENT,是給LINKER用的,定義到不初始化的塊中去。
__no_init用于禁止系統(tǒng)啟動時的變量初始化,什么情況下需要用這個關(guān)鍵字使系統(tǒng)禁止變量的初始化,禁止變量初始化用在什么場合,為什么要這樣做,有什么意義嗎?
1、看門狗復(fù)位的現(xiàn)場恢復(fù),如果初始化了就完全不可恢復(fù)了
2、使用nvram保存數(shù)據(jù),需要連續(xù)記錄的。
給一簡單的程序,例如你做一個時鐘,不希望在狗復(fù)位時丟失時間,可如此定義
__no_init unsigned char month,day,hour,minute,second;
例子:http://bbs.ednchina.com/BLOG_ARTICLE_1986896.HTM?
IAR配置中遇到的幾個錯誤
IAR配置中遇到的幾個錯誤_happyflovef的博客-CSDN博客
怎樣最好地使用MSP430 編譯器的建議
?為了避免使用低效的語言結(jié)構(gòu)理解MSP430 結(jié)構(gòu)的限制是重要的下面是有關(guān)怎樣最好地
使用MSP430 編譯器的建議
因為在MSP430 上位域類型執(zhí)行緩慢所以應(yīng)當(dāng)僅在為了保存數(shù)據(jù)存儲器空間時才使用它
用unsigned char 或unsigned int 的位屏蔽代替位域如果用戶必須使用位域那么為了提高
效率使用unsigned
在其模塊之外不使用的變量應(yīng)當(dāng)被聲明為靜態(tài)的static 這是因為這樣將改善把它們暫
時保存在寄存器中的可能性
?1 在可能時 使用無符號unsigned 數(shù)據(jù)類型某些時候unsigned 無符號操作比signed
有符號操作執(zhí)行效率更高這特別適用于除法和求模運算
?2使用 ANSI 原型對ANSI 函數(shù)的調(diào)用比對K&S 樣式K&S-style 函數(shù)的調(diào)用能效率更
高地被執(zhí)行參見K&S 和ANSI C 語言定義一節(jié)
?3對 16 位數(shù)據(jù)類型例如short 和unsigned short MSP430 的工作效率更高通常8 位
數(shù)據(jù)類型的使用節(jié)省數(shù)據(jù)空間但不減少代碼大小MSP430 的結(jié)構(gòu)不直接支持32 位數(shù)
據(jù)類型因而其效率較低
?4自動比例(scalar auto)變量常被分配在寄存器中所以只要有可能就應(yīng)使用自動而
不是靜態(tài)變量
?5函數(shù)的頭兩個參數(shù) parameters 在寄存器中傳送參見調(diào)用約定一節(jié)能因此以
參數(shù)parameters 而不是靜態(tài)變量方式把自變量(arguments)傳送給函數(shù)是更為有裝
的
?6復(fù)制結(jié)構(gòu) structs 和聯(lián)合unions 是耗費較大的操作應(yīng)避免運行時結(jié)構(gòu)/聯(lián)合的
賦值帶結(jié)構(gòu)/聯(lián)合參數(shù)的函數(shù)以及返回結(jié)構(gòu)/聯(lián)合的函數(shù)只要有可能應(yīng)采取指向結(jié)
構(gòu)/聯(lián)合的指針操作
?7每當(dāng)調(diào)用了函數(shù)時 聲明在這些函數(shù)中具有初始值的非自動比例Non-scalar auto
變量結(jié)構(gòu)聯(lián)合和數(shù)組將引起運行時run-time 復(fù)制對于常數(shù)變量使用儲存
類靜態(tài)常量the storage class static const” 可避免這種情況
總結(jié)
以上是生活随笔為你收集整理的【单片机】msp430几种不同开发平台的对比的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 两军对垒问题及个人的思考
- 下一篇: 12_STM32Cubeide开发_US