【共享】25,000次下載!免費和開(kāi)源的ARM Cortex CM3&CM0開(kāi)發(fā)工具

查看數: 33637 | 評論數: 57 | 收藏 1
關(guān)燈 | 提示:支持鍵盤(pán)翻頁(yè)<-左 右->
    組圖打開(kāi)中,請稍候......
發(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系列芯片,充分 ...

回復

jh_wang 發(fā)表于 2014-9-12 08:33:20
路過(guò) 看看
yxd201971 發(fā)表于 2013-1-17 10:48:28
了解一下
david-xia 發(fā)表于 2013-1-6 09:42:18
頂。。。。。。。。。。。。。。
loikey 發(fā)表于 2013-1-11 16:19:47
感覺(jué)很好用,試試看
taxuelangzi110 發(fā)表于 2013-1-9 19:09:46
標記一個(gè),呵呵。。
UltraBird 發(fā)表于 2012-12-11 23:50:29
不懂
guluguluchui 發(fā)表于 2012-12-7 21:23:17
Coos 很好用 ,頂
caipeng521 發(fā)表于 2012-12-7 07:56:41
jixzang 發(fā)表于 2012-10-23 14:41:12
不錯,謝謝樓主
lsx435372 發(fā)表于 2012-10-10 18:20:09
看這樣不錯啊
james_138139 發(fā)表于 2012-8-9 21:46:13
盡管用不到,還是要支持以下
100home 發(fā)表于 2012-4-2 22:26:28
及時(shí)雨
zhengtiantong 發(fā)表于 2012-3-30 19:38:09
很好,很強大
Chocore 發(fā)表于 2012-3-18 22:57:35

【FAQ】如何在CoIDE中使用C++

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 LibraryRetarget 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

例程: 103vb_cpp.zip (220.71 KB)
STM32103vb + CoIDE 1.3.1 + 閃燈
說(shuō)明——CoIDE 1.4.0存在bug“修改build.xml文件后無(wú)法保存,故使用CoIDE 1.3.1版本。此bug在新版CoIDE中將被修復。

歡迎大家常來(lái)CooCox論壇交流討論~
yang_gh 發(fā)表于 2012-1-30 15:50:32
用用看先
Chocore 發(fā)表于 2012-1-4 18:09:11

【MDK調試插件】CoMDKPlugin已更新至V1.4.0,CoLinkEx固件及驅動(dòng)需升級

CoFlash V1.4.0同時(shí)發(fā)布的還有MDK調試插件CoMDKPlugin V1.4.0。

新設備支持方面CoMDKPluginCoFlash同步,均添加了對如下芯片的支持:
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 虛擬串口。
Chocore 發(fā)表于 2011-12-10 16:50:19

【永不止步】CoFlash支持Mini51及NUC122系列啦~新唐巡回研討會(huì )你報名了沒(méi)?

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/。
關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页