![]() |
發(fā)布時(shí)間: 2011-5-8 22:59
正文摘要:CooCox CoIDE特征: 1. 支持ARM Cortex M3/M0系列芯片的編譯、下載、鏈接和調試 2. 285個(gè)組件for ARM Cortex M3/M0系列芯片,包括SPI,SSP,CAN和其他外設模塊 3. 152個(gè)例程for ARM Cortex M3/M0系列芯片,充分 ... |
路過(guò) 看看 |
了解一下 |
頂。。。。。。。。。。。。。。 |
感覺(jué)很好用,試試看 |
標記一個(gè),呵呵。。 |
不懂 |
Coos 很好用 ,頂 |
![]() |
不錯,謝謝樓主 |
看這樣不錯啊 |
盡管用不到,還是要支持以下 |
及時(shí)雨 |
![]() |
CooCox論壇上時(shí)不時(shí)有人問(wèn):CoIDE是否支持C++? CoIDE默認支持C語(yǔ)言,工程中的*.cpp或*.C(大寫(xiě)的C,會(huì )默認為cpp文件)不參與編譯。這讓不少慣用C++的用戶(hù)覺(jué)得可惜。 好在這個(gè)世界上解決問(wèn)題的方法永遠比問(wèn)題多得多,感謝用戶(hù)Yury Kuchura的貢獻和分享,現在只需要幾處改動(dòng),CoIDE中就能使用C++了。步驟如下: 1. 修改build.xml文件,使*.cpp文件能被編譯 2. 修改link.ld文件,使連接時(shí)C++所需的段能被識別 /* Section Definitions */ SECTIONS { .text : { KEEP(*(.isr_vector .isr_vector.*)) *(.text .text.* .gnu.linkonce.t.*) *(.glue_7t) *(.glue_7) *(.rodata .rodata* .gnu.linkonce.r.*) /* C++ Static constructors/destructors (eabi) */ . = ALIGN(4); KEEP(*(.init)) . = ALIGN(4); __preinit_array_start = .; KEEP (*(.preinit_array)) __preinit_array_end = .; . = ALIGN(4); __init_array_start = .; KEEP (*(SORT(.init_array.*))) KEEP (*(.init_array)) __init_array_end = .; . = ALIGN(4); KEEP(*(.fini)) . = ALIGN(4); __fini_array_start = .; KEEP (*(.fini_array)) KEEP (*(SORT(.fini_array.*))) __fini_array_end = .; /* C++ Static constructors/destructors (elf) */ . = ALIGN(4); _ctor_start = .; KEEP (*crtbegin.o(.ctors)) KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors)) KEEP (*(SORT(.ctors.*))) KEEP (*crtend.o(.ctors)) _ctor_end = .; . = ALIGN(4); KEEP (*crtbegin.o(.dtors)) KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors)) KEEP (*(SORT(.dtors.*))) KEEP (*crtend.o(.dtors)) } > rom .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } > rom … … /* stack section */ .co_stack (NOLOAD): { . = ALIGN(8); *(.co_stack .co_stack.*) } > ram __exidx_start = .; .ARM.exidx : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) } > rom __exidx_end = .; . = ALIGN(4); _end = . ; } 3. 修改啟動(dòng)代碼,使構造和析構函數能被正確調用 … extern unsigned long __preinit_array_start; extern unsigned long __preinit_array_end; extern unsigned long __init_array_start; extern unsigned long __init_array_end; extern unsigned long _ctor_start; extern unsigned long _ctor_end; static void call_constructors(unsigned long *start, unsigned long *end) __attribute__((noinline)); static void call_constructors(unsigned long *start, unsigned long *end) { unsigned long *i; void (*funcptr)(); for ( i = start; i < end; i++) { funcptr=(void (*)())(*i); funcptr(); } } … void Default_Reset_Handler(void) { … /* Setup the microcontroller system. */ SystemInit(); //Initialize CoOS (in order the new/delete operators to work properly //prior to calling constructors). Comment it out if you don't use CoOS! CoInitOS(); //Call C++ global constructors call_constructors(&__preinit_array_start, &__preinit_array_end); call_constructors(&__init_array_start, &__init_array_end); call_constructors(&_ctor_start, &_ctor_end); /* Call the application's entry point.*/ main(); } 4. 在組件頁(yè)勾選C Library和Retarget printf,之后注釋掉printf.c文件中的如下語(yǔ)句,以避免重定義_impure_ptr struct _reent *_impure_ptr = &r; 5. 在工程配置(Project configuration)中添加Linked Libraries libstdc++和libsupc++,它們可以從GCC tool chain的庫中找到 來(lái)源: http://www.coocox.org/Forum/topic.php?id=730 http://www.coocox.org/Forum/topic.php?id=873 例程: ![]() STM32103vb + CoIDE 1.3.1 + 閃燈 說(shuō)明——因CoIDE 1.4.0存在bug“修改build.xml文件后無(wú)法保存”,故使用CoIDE 1.3.1版本。此bug在新版CoIDE中將被修復。 歡迎大家常來(lái)CooCox論壇交流討論~ |
用用看先 |
與CoFlash V1.4.0同時(shí)發(fā)布的還有MDK調試插件CoMDKPlugin V1.4.0。 新設備支持方面CoMDKPlugin與CoFlash同步,均添加了對如下芯片的支持: Mini51LAN, Mini51ZAN, Mini52LAN, Mini52ZAN, Mini54LAN, Mini54ZAN NUC122LC1AN, NUC122LD2AN, NUC122SC1AN, NUC122SD2AN, NUC122ZC1AN, NUC122ZD2AN CoLinkEx方面,不僅提升了Flash燒寫(xiě)速度,還新增支持在MDK中的trace功能。 從12月起,所有新版的CooCox軟件,支持下載和調試功能的,都要求CoLinkEx使用新版本的固件和驅動(dòng)了。 新版的固件和驅動(dòng)的下載頁(yè)面:http://www.coocox.com/CN/Colinkex.htm 固件更新方法如下: 1. 短接JP1。 2. 上電(ColinkEX連接到PC)。 3. 等待PC枚舉出卷標為"CRP2 ENABLD"的可移動(dòng)磁盤(pán),如果沒(méi)有出現,請多按幾次復位鍵(BP1)或重新上電。 4. 把CRP2 DISABLD可移動(dòng)磁盤(pán)中的firmware.bin刪除。 5. 把下載好的CoLinkEx固件復制到此可移動(dòng)磁盤(pán)中。 6. 斷開(kāi)JP1,重新上電后即可使用 推薦的驅動(dòng)更新方法如下: 1. 根據使用的Windows系統的版本下載驅動(dòng) 2. 卸載舊驅動(dòng) 3. 連上固件更新后的CoLinkEx 4. 安裝新版驅動(dòng)。 CoLinkEx安裝好后,設備管理器中可以看到CoLinkEx Debug Interface,USB Composite device和一個(gè)CooCox 虛擬串口。 |
CooCox于本周發(fā)布了CoFlash V1.4.0。 新版CoFlash添加了對新唐Mini51系列及NUC122系列芯片的支持,具體有: Mini51LAN, Mini51ZAN, Mini52LAN, Mini52ZAN, Mini54LAN, Mini54ZAN NUC122LC1AN, NUC122LD2AN, NUC122SC1AN, NUC122SD2AN, NUC122ZC1AN, NUC122ZD2AN 此外,本次發(fā)布的CoFlash還進(jìn)一步改善了Flash燒寫(xiě)速度,添加了復位模式選擇功能,歡迎體驗~ 從雙十二開(kāi)始,新唐 NuMicro Mini51 技術(shù)巡回研討會(huì )將陸續于全國十個(gè)城市舉辦。會(huì )上將贈送CooCox工具組特別制作的光盤(pán)和彩頁(yè),CoFans&新唐用戶(hù)都不可錯過(guò)哦~活動(dòng)介紹見(jiàn)http://www.nuvoton.com/nuvotonMOSS/event/Mini51/Microsite.aspx。 欲了解CooCox更多信息及動(dòng)態(tài),請訪(fǎng)問(wèn)http://www.coocox.org/CN/。 |