![]() |
發(fā)布時間: 2011-5-8 22:59
正文摘要:CooCox CoIDE特征: 1. 支持ARM Cortex M3/M0系列芯片的編譯、下載、鏈接和調(diào)試 2. 285個組件for ARM Cortex M3/M0系列芯片,包括SPI,SSP,CAN和其他外設(shè)模塊 3. 152個例程for ARM Cortex M3/M0系列芯片,充分 ... |
路過 看看 |
了解一下 |
頂。。。。。。。。。。。。。。 |
感覺很好用,試試看 |
標記一個,呵呵。。 |
不懂 |
Coos 很好用 ,頂 |
![]() |
不錯,謝謝樓主 |
看這樣不錯啊 |
盡管用不到,還是要支持以下 |
及時雨 |
![]() |
CooCox論壇上時不時有人問:CoIDE是否支持C++? CoIDE默認支持C語言,工程中的*.cpp或*.C(大寫的C,會默認為cpp文件)不參與編譯。這讓不少慣用C++的用戶覺得可惜。 好在這個世界上解決問題的方法永遠比問題多得多,感謝用戶Yury Kuchura的貢獻和分享,現(xiàn)在只需要幾處改動,CoIDE中就能使用C++了。步驟如下: 1. 修改build.xml文件,使*.cpp文件能被編譯 2. 修改link.ld文件,使連接時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. 修改啟動代碼,使構(gòu)造和析構(gòu)函數(shù)能被正確調(diào)用 … 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. 在組件頁勾選C Library和Retarget printf,之后注釋掉printf.c文件中的如下語句,以避免重定義_impure_ptr struct _reent *_impure_ptr = &r; 5. 在工程配置(Project configuration)中添加Linked Libraries libstdc++和libsupc++,它們可以從GCC tool chain的庫中找到 來源: http://www.coocox.org/Forum/topic.php?id=730 http://www.coocox.org/Forum/topic.php?id=873 例程: ![]() STM32103vb + CoIDE 1.3.1 + 閃燈 說明——因CoIDE 1.4.0存在bug“修改build.xml文件后無法保存”,故使用CoIDE 1.3.1版本。此bug在新版CoIDE中將被修復。 歡迎大家常來CooCox論壇交流討論~ |
用用看先 |
與CoFlash V1.4.0同時發(fā)布的還有MDK調(diào)試插件CoMDKPlugin V1.4.0。 新設(shè)備支持方面CoMDKPlugin與CoFlash同步,均添加了對如下芯片的支持: Mini51LAN, Mini51ZAN, Mini52LAN, Mini52ZAN, Mini54LAN, Mini54ZAN NUC122LC1AN, NUC122LD2AN, NUC122SC1AN, NUC122SD2AN, NUC122ZC1AN, NUC122ZD2AN CoLinkEx方面,不僅提升了Flash燒寫速度,還新增支持在MDK中的trace功能。 從12月起,所有新版的CooCox軟件,支持下載和調(diào)試功能的,都要求CoLinkEx使用新版本的固件和驅(qū)動了。 新版的固件和驅(qū)動的下載頁面:http://www.coocox.com/CN/Colinkex.htm 固件更新方法如下: 1. 短接JP1。 2. 上電(ColinkEX連接到PC)。 3. 等待PC枚舉出卷標為"CRP2 ENABLD"的可移動磁盤,如果沒有出現(xiàn),請多按幾次復位鍵(BP1)或重新上電。 4. 把CRP2 DISABLD可移動磁盤中的firmware.bin刪除。 5. 把下載好的CoLinkEx固件復制到此可移動磁盤中。 6. 斷開JP1,重新上電后即可使用 推薦的驅(qū)動更新方法如下: 1. 根據(jù)使用的Windows系統(tǒng)的版本下載驅(qū)動 2. 卸載舊驅(qū)動 3. 連上固件更新后的CoLinkEx 4. 安裝新版驅(qū)動。 CoLinkEx安裝好后,設(shè)備管理器中可以看到CoLinkEx Debug Interface,USB Composite device和一個CooCox 虛擬串口。 |
CooCox于本周發(fā)布了CoFlash V1.4.0。 新版CoFlash添加了對新唐Mini51系列及NUC122系列芯片的支持,具體有: Mini51LAN, Mini51ZAN, Mini52LAN, Mini52ZAN, Mini54LAN, Mini54ZAN NUC122LC1AN, NUC122LD2AN, NUC122SC1AN, NUC122SD2AN, NUC122ZC1AN, NUC122ZD2AN 此外,本次發(fā)布的CoFlash還進一步改善了Flash燒寫速度,添加了復位模式選擇功能,歡迎體驗~ 從雙十二開始,新唐 NuMicro Mini51 技術(shù)巡回研討會將陸續(xù)于全國十個城市舉辦。會上將贈送CooCox工具組特別制作的光盤和彩頁,CoFans&新唐用戶都不可錯過哦~活動介紹見http://www.nuvoton.com/nuvotonMOSS/event/Mini51/Microsite.aspx。 欲了解CooCox更多信息及動態(tài),請訪問http://www.coocox.org/CN/。 |