国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

電子工程網

標題: 【共享】25,000次下載!免費和開源的ARM Cortex CM3&CM0開發工具 [打印本頁]

作者: Chocore    時間: 2011-5-8 22:59
標題: 【共享】25,000次下載!免費和開源的ARM Cortex CM3&CM0開發工具
CooCox CoIDE特征:

1. 支持ARM Cortex M3/M0系列芯片的編譯、下載、鏈接和調試
2. 285個組件for ARM Cortex M3/M0系列芯片,包括SPI,SSP,CAN和其他外設模塊
3. 152個例程for ARM Cortex M3/M0系列芯片,充分體現各外設模塊應用,用戶亦可上傳程序
4. 簡單易用,可快速創建一個可運行的嵌入式程序,節省70% 的開發時間!

CooCox CoIDE v1.2.3

新增支持芯片:
1.ST:
STM32F100C4,STM32F100C6,STM32F100C8,STM32F100CB,STM32F100R4,STM32F100R6,STM32F100R8,STM32F100RB,
STM32F100RC,STM32F100RD,STM32F100RE,STM32F100V8,STM32F100VB,STM32F100VC,STM32F100VD,STM32F100VE,
STM32F100ZC,STM32F100ZD,STM32F100ZE,
STM32F101C4,STM32F101C6,STM32F101C8,STM32F101CB,STM32F101R4,STM32F101R6,STM32F101R8,STM32F101RB,
STM32F101RC,STM32F101RD,STM32F101RE,STM32F101RF,STM32F101T4,STM32F101T6,STM32F101T8,STM32F101TB,
STM32F101V8,STM32F101VB,STM32F101VC,STM32F101VD,STM32F101VE,STM32F101VF,STM32F101VG,STM32F101ZC,
STM32F101ZD,STM32F101ZE
STM32F102C4,STM32F102C6,STM32F102C8,STM32F102CB,STM32F102R4,STM32F102R6,STM32F102R8,STM32F102RB,
STM32F103RF,STM32F103RG,STM32F103VF,STM32F103VG,STM32F103ZF,STM32F103ZG
2.Energy Micro:
EFM32G200F32,EFM32G200F64,EFM32G210F128,EFM32G230F32,EFM32G230F64,EFM32G230F128,
EFM32G280F32,EFM32G280F64,EFM32G280F128,EFM32G290F32,EFM32G290F64,EFM32G290F128
3.NXP:
LPC1759,LPC1767

CooCox CoIDE v1.2.4

新增支持NGX,picoJTAG和KT-Link調試器

下載: CoCenter-1.4.3.rar (1.07 MB)

欲了解更多,請訪問 http://www.coocox.org/CN/

開始蓋樓啦~請關注后面的信息,有更多驚喜哦~
作者: shuangyue0808    時間: 2011-5-12 21:36
這是什么?
作者: Chocore    時間: 2011-5-13 18:10
CoIDE是一款免費和開源的嵌入式開發軟件,用戶可以通過勾選組件和添加例子在5分鐘內創建一個最基本的應用。CooCox的官網www.coocox.org/cn,這里有更詳細的介紹。
作者: cyber211    時間: 2011-5-16 20:29
這么好的這么好的的工具,傻瓜組態式編程?
作者: youyou_zh    時間: 2011-5-22 13:05
沒用過,可以嘗試一下
作者: Chocore    時間: 2011-5-30 10:36
回復2樓shuangyue0808
CoIDE是一款免費和開源的嵌入式開發軟件,用戶可以通過勾選組件和添加例子在5分鐘內創建一個最基本的應用。CooCox的官網www.coocox.org/CN/,這里有更詳細的介紹。
之前忘點回復了。。。
作者: Chocore    時間: 2011-5-30 10:39
回復4樓cyber211
唔。。可以這么說~
作者: 453523869    時間: 2011-5-30 13:47
路過 看看
作者: ckq1988    時間: 2011-6-4 02:01
沒用過,可以嘗試一下
作者: jixzang    時間: 2011-6-4 11:59
不錯,謝謝樓主分享
作者: qdwxj112    時間: 2011-6-9 15:50
謝謝樓主!
作者: yoyo1234ok    時間: 2011-6-18 09:43

作者: Chocore    時間: 2011-7-4 09:30
【7月伊始,大禮送上】各種基于嵌入式RTOS CoOS的源代碼
繼之前向大家推薦的“傻瓜組態式編程軟件”CooCox CoIDE,今天再隆重推薦一款最新嵌入式RTOS——CoOS。
推薦原因:
1. 免費并開源
    關鍵詞一,套用跟帖的話,“為窮人謀福利”;關鍵詞二,開源旨在以協作加速創新。看別人的代碼也能碰撞出思維的小火花吧,有木有?
2. ARM Cortex M3及M0定制操作系統
    CoOS支持所有ARM Cortex M3和Cortex M0器件,所有的哦~
3. 高度可裁剪性,最小系統內核僅974Byte
    OsConfig.h文件中包括了CoOS 的所有可配置項和裁剪項目,用戶根據需要的系統配置修改相應項目即可,簡單方便。
4. 支持優先級搶占和時間片輪轉
    兩種任務調度機制。可以在OsConfig.h中配置CFG_PRIORITY_SET_EN值為1,使能任務的優先級搶占調度,不同優先級任務間為優先級搶占調度,同級優先級任務間為時間片輪轉調度。
5. 自適應任務調度算法
6. 零中斷延時時間
    額…幾乎為0,完全為0是不可能地…
7. 堆棧溢出檢測
8. 支持信號量、郵箱、隊列、事件標志、互斥等同步通信方式
    其中互斥區域還考慮了優先級反轉問題,并通過優先級繼承的方法解決了這一問題。
9. 支持多種編譯器:ICCARM、ARMCC、GCC
    這就意味著CoOS不僅可以在CoIDE中使用(CoOS已經集成到了CoIDE中,通過勾選即可直接使用),還能獨立應用于MDK和IAR中。給力吧~O(∩_∩)O~
    MDK中的應用可以參考《基于ATSAM3U4E的MP3播放器的應用方案》,開發人員有博文詳細介紹開發過程。

正餐獻上——基于CoOS的示例和應用方案(MDK,IAR,CoIDE中的各種源代碼)
網址:http://www.coocox.org/CN/CoOSGuide/Examples.htm
點此下載好學易懂的CooCox CoOS用戶手冊:http://www.coocox.com/downloadfi ... S_User_Guide_CH.pdf
作者: Chocore    時間: 2011-7-8 10:20
【代碼自動生成】CoSmart——管腳配置?動動鼠標的事兒!
復雜的功能調用幾句庫函數就搞定,基本的管腳配置卻整的你焦頭爛額?不小心管腳使用沖突了,不得不修改大段代碼?前后翻找數據手冊的時候,覺得有這時間自己都能在鍵盤上噼里啪啦出多少行程序了?無需困擾,CoSmart,讓你只需動動鼠標,輕輕松松實現管腳配置!

7月5日,CooCox強勢發布了一款智能管腳配置和代碼自動生成工具——CoSmart。



CoSmart功能:
1. 配置管腳復用設置
    在左下方窗口可方便地使能/除能某管腳或選擇某功能復用管腳的狀態。
2. 分析管腳配置沖突
    當某管腳配置沖突時會以醒目的紅色提示。
3. 指明I/O引腳特征
    鼠標在引腳圖上移至某引腳時會顯示該引腳特征
4. 生成可用的C代碼
    配置完畢后點擊按鈕一鍵生成可用的C代碼。

下載地址及快速使用入門見http://www.coocox.org/CN/CoSmart.html
欲了解更多關于CooCox的信息,請訪問http://www.coocox.org/CN/

目前CoSmart V1.0支持NUC140系列芯片,歡迎大家試用并提出寶貴意見!后續將支持更多芯片,敬請期待~
作者: Chocore    時間: 2011-7-18 09:21
【IAR調試插件】CoIARPlugin支持LM3Sxx&LPC1763啦~更新增支持Amontec JTAGKey調試器
繼推出智能管腳配置和代碼自動生成工具CoSmart V1.0后,CooCox于7月15日發布了IAR調試插件CoIARPlugin V1.2.2。
新版本的CoIARPlugin不僅新增了對TI LM3Sxx系列及NXP的LPC1763芯片的支持,更新增支持FTDI調試器Amontec JTAGKey。至此,CoIARPlugin支持的調試器有CooCox Colink,CoLinkEx,NGX,PicoJTAG,KT-Link,Amontec JTAGKey,Olimex-Open OCD,Stellaris-ICDI,及新唐最新原版Nu-link。
此次更新還解決了在Win7下RDI設置非管理員身份不能保存的BUG,Win7用戶可放心使用。
詳情請見http://www.coocox.org/CN/CoLinkGuide/CoIARPlugin_Updates.htm

某個用戶的需求:“Can I use nxp lpcexpresso board with coocox as emulator?” http://www.coocox.org/Forum/topic.php?id=582不是第一次有人提出此需求了,不知道NXP是否可以考慮開發接口呢?
歡迎大家到CooCox論壇提出問題和寶貴建議!

CooCox Colink & CoLinkEx的硬件信息都是公開的,您可以DIY,具體信息參考http://www.coocox.org/CN/CoLinkGuide/CoLinkDIY.htm
如果您不方便制作,還可以考慮購買Colink(現貨搶購中)和CoLinkEx(預計一月后到貨,可預訂)。

欲了解CooCox更多信息,請訪問http://www.coocox.org/CN/
作者: lixupeng    時間: 2011-7-18 13:29
收下!!
作者: Chocore    時間: 2011-7-22 11:14
【給個支點,撬動地球】支點 = 393個組件 + 327個例程-------CooCox CoIDE
阿基米德曾說:“給我一個支點,我可以撬動整個地球。”在基于ARM Cortex-M3和Cortex-M0的嵌入式開發領域里,CooCox CoIDE給廣大用戶提供了一個免費的支點,最新統計數據表明,這個支點 = 393個組件 + 327個例程。

作為一款“傻瓜組態式編程”軟件,CoIDE將所有的啟動代碼、外圍庫、驅動、OS等抽象為一個個組件,其中大部分組件都有相應的例程。使用時,用戶只需通過勾選組件和添加例程即可快速建立一個基本的應用。

眾人拾柴火焰高。現有的組件和例程中,除了CooCox官方提供的程序外,還有用戶上傳的程序,當然所有組件和例程都標明了作者。顯而易見,在CooCox和用戶的共同努力下,支點仍將不間斷升級……

組件&例程支持的芯片列表
Atmel: AT91SAM3Ux
Energy Micro:EFM32G2xx,EFM32G8xx
NXP:LPC11c1x,LPC11xx,LPC13xx,LPC17xx
Nuvoton:NUC100,NUC120,NUC130,NUC140,NuMicroM051系列
ST:STM32F100x,STM32F101x,STM32F102x,STM32F103x,STM32F105x,STM32F107x
TI:LM3S19xx,LM3S2xxx,LM3S3xxx,LM3S5xxx,LM3S6xxx,LM3S8xx,LM3S8xxx,LM3S9xxx

P.S.:關于例程
1.勾選組件后,CoIDE左上方窗口顯示組件名(相應例程數),點擊即出現例程窗口。目前此處例程數為327
2.鼠標點擊某組件,Help窗口顯示組件相關信息,部分組件信息有Hello world項,即該組件的簡單例程
如此說來,例程數大于327呀~

組件&例程下載地址/本文數據來源:http://www.coocox.org/Vendors.php
欲了解CooCox CoIDE相關信息,請訪問 http://www.coocox.org/CN/CooCox_CoIDE.html
作者: Chocore    時間: 2011-7-30 12:02
標題: 【實用至上】CoIDE已支持ST-LINKII;工程移植很簡單……更多資訊點開看
整理了一些關于CooCox CoIDE最新的、實用的消息,希望對你有用。往下看↓
1. 7月21日已完成ST-LINKII的支持,等下次(就在最近了)CoIDE升級時一起發布。歡迎ST用戶來體驗~
2. 寄存器助手CoAssistant有CoIDE集成版和在線版兩種版本。前者可點擊CoIDE菜單欄的View→Peripherals查看,后者則可方便地在線使用。不知道你有沒有用過呢?錯過可惜啊~
    CoAssistant介紹及在線版本入口:http://www.coocox.org/CN/CoAssistant.htm
3. CoIDE使用GCC編譯器。要將工程從其他IDE移植到CoIDE也不難,這里就有現成的例子http://www.coocox.org/Forum/topic.php?id=652,自己動手試試?
4. When will CooCox support STM32F207xx? http://www.coocox.org/Forum/topic.php?id=492
    有這個需求的人貌似還不少,可惜暫時還拿不到ST提供的板子……有類似需求的筒子們盡管上論壇提啊~
5. 關于CoOS的穩定性http://www.coocox.org/Forum/topic.php?id=552
    在其他論壇也看到有人擔心這個問題,這里給大家做一個比較:
穩定性直接決定最終產品的質量。在這一方面,uCOSII因任務調度算法的事件響應時間都為常數,加之其流傳甚廣,其穩定性已無可挑剔。
    有個同事曾經在同一個開發板上移植了基于Keil RTX、uCOSII及CooCox CoOS這三種操作系統的同一個算法,CooCox CoOS和uCOSII均能正常運行,而Keil RTX則會在運行一段時間后出現堆棧溢出的現象。在試驗過程中暫未發現其他問題,但就這次試驗而言,CooCox CoOS在穩定性方面還是要勝于Keil RTX的。
    由于FreeRTOS應用比較復雜,暫未做評估,但據某論壇上說,FreeRTOS在設置成中等優化的時候就會出現問題。若此種說法屬實,FreeRTOS的穩定性相比其他三種應該是最差的。

CooCox CoIDE V1.2.6即將上線,敬請期待……
首次聽說CoIDE的筒子請移步http://www.coocox.org/CN/CooCox_CoIDE.html
作者: jeremy414560967    時間: 2011-8-9 10:36
我最近也在搞STM32的項目,
作者: 123654789    時間: 2011-8-12 11:40
這是個很好的軟件   頂
作者: Chocore    時間: 2011-8-12 18:36
標題: 【牛刀小試】CooCox CoFlash支持ST-Link,Nu-Link-pro,OpenJTAG啦~
與之前約每周一次的更新頻率相比,此次CooCox的更新步伐明顯放慢了。

實際上CoIDE V1.2.6的發布籌備已久,之所以仍未更新,一是我們想將最完善的成果呈現給大家,這就需要全面的測試;二是中途根據用戶的反饋和需求又添加了部分功能,修正了一些BUG,使得新版本更加實用、穩定。好湯還需文火熬,好軟件當然亦需時間的雕琢。讓我們拭目以待吧~

之前曾說過CoIDE V1.2.6已支持ST-Link,這一功能留待新版CoIDE發布才能體驗未免遺憾,便先由CoFlash小試牛刀了。
今天,CooCox發布了CoFlash V1.3.6,新增支持ST-LinkNu-Link-proOpenJTAG三大調試器。此外,之前的算法不支持部分版本的STM32F1xx系列芯片,新版CoFlash修復了這一問題。
CooCox CoFlash是專門用于ARM Cortex-M0&Cortex-M3的獨立編程軟件,用戶可方便的自定義算法以支持暫不支持的芯片。詳情請見http://www.coocox.org/CN/CoFlash_Programmer.htm

推薦一篇博文:《CooCox Tool——硬件開發者的新選擇
這篇對CooCox工具系列介紹得比較全面,節選3張圖片如下:
  

作者: Chocore    時間: 2011-8-23 14:38
標題: 【聚沙成塔】CooCox已更新STM32F10x及LPC12xx的組件&例程
CooCox日前更新了STM32F10xLPC12xx的組件和例程,其中STM32F10x組件為3.5.0版本,LPC12xxCoIDE新增支持芯片。用戶可以使用CoIDE進行更新,也可訪問http://www.coocox.org/Vendors.php直接下載。

組件更新方法:點擊CoIDE組件視圖右上角的刷新按鈕,CoIDE會鏈接CooCox服務器刷新組件頁面。刷新完成后,用戶可以在每個有更新的組件后面看到updatedownload的鏈接,點擊該鏈接即可把更新后的組件下載到本地使用。

例子刷新方法:勾選組件后,在左上角的組件視圖點擊組件名稱,CoIDE會后臺刷新和下載例子,等刷新和下載完成后,再次點擊這個組件名稱可以看到有例子被刷新。

CoIDE在編輯模式和調試模式時的視圖如下所示:



CooCox Tools是一套完整的免費開發工具。它由組態式集成開發環境CoIDE,嵌入式實時多任務操作系統CoOS,調試探測器Colink / CoLinkExFlash編程軟件CoFlash智能管腳配置及代碼自動生成工具CoSmart以及寄存器助手CoAssistant(在線版/CoIDE集成版)組成。



欲了解CooCox更多信息,請訪問CooCox官網http://www.coocox.org/CN/

作者: Chocore    時間: 2011-9-2 19:18
標題: 『貨真價實』的免費和開源-CooCox工具使用版權問題(轉載)

真的免費,真的開源,真的隨意用!無論商用或教學,均無任何限制!這就是
CooCox工具。

詢問CooCox工具是否可以商用的郵件一直存在,也許是大家沒有找到網站中的“使用條款”,也許是“使用條款”說的不夠清晰明確,也可能是用戶還是不放心是不是真的可以不負任何責任地用于商業用途。CooCox使用條款中關于軟件使用是這樣約定的:

軟件的使用

CooCox CoOS是免費和開源的, 它遵從BSDBerkly Software Distribution)許可,并且在這種許可下,它可以用于商業應用。
CooCox Colink插件,CoSmartCoIDECoBuilderCoDebuggerCoFlash都是免費不開源的,它們均可以免費下載,安裝和使用于非商業應用或商業應用。


這里需要補充說明的是,所有CooCox軟件均可免費使用,但開源的只包括CoOSColink以及CoLinkEx硬件電路。此處免費使用包括商用或教學用,均無需承擔任何責任。也無需向CooCox組織申請。我們歡迎您的使用,歡迎您幫我們一起推廣免費的工具。

另外,CooCox可以向廣大用戶承諾,我們絕對不會“先養羊后宰羊”,我們已申明的免費工具將永久免費,絕對不會等聚集了成熟用戶后轉為收費。因為CooCox是希望聚集越累越多的工程師到這個平臺,大家一同貢獻,分享和交流。等到匯聚的資源不計其數后,嵌入式開發可以變得信手拈來——這就是我們的愿景!

文章來源:CooCox新浪官博



【最新資訊】CoIDE V1.2.6發布進入倒計時啦~

新版CoIDE已進入后期測試階段,將于下周與用戶見面。
經測試用戶反饋的調試相關問題已全部解決,包括J-LinkColinkCoLinkEx在內的各種調試器均可穩定工作,更新增支持ST-Link
敬請關注http://www.coocox.org/CN/
作者: Chocore    時間: 2011-9-13 09:06
標題: 【千呼萬喚始出來】CooCox CoIDE進入1.3.0時代
由于架構調整,新版CoIDE不再以V1.2系列命名,正式步入V1.3.0時代。

CoIDE V1.3.0增強
-------------

增加:支持芯片LPC1200系列,TI部分芯片,NUC130140部分芯片
增加:LPC1200組件庫及例程
更新:STM32組件和例程
增加:支持新加調試器: Nu-Link-proST-LinkOpenJTAG
增加:支持打開MDK工程
修復:修改Nuvoton芯片名稱
增加:登錄和注銷的功能
增加:顯示當前所選芯片的功能
增加:beforebuild afterbuild功能
增加:Flash調試和Ram調試選項
修復:進入調試彈出program is not being run的錯誤
修復:Jlink用不起來的bug
修復:修改SAM3U系列芯片的memory.ld生成有錯誤的bug

詳情請見http://www.coocox.org/CN/CooCox_CoIDE.html

用戶手冊即將同步更新,敬請關注!

作者: yinghuayuan    時間: 2011-9-17 10:00
回復1樓Chocore 感謝分享
作者: Chocore    時間: 2011-9-19 09:43
標題: 【重要說明】CoIDE 1.3.0的J-link使用方法,包含路徑,MDK工程移植,及RAM調試
1. 關于J-link調試
CoIDE 1.2.5支持J-link后,很多用戶因為J-linklicensejflash腳本的限制,用不起來,所以CoIDE 1.3.0修改了J-link調試的部分,直接用GDB命令下載代碼到芯片中,而不用JFlash的下載方式,程序在進入調試后自動下載。

也是考慮到license的問題,目前的版本移除了J-link直接下載和擦除的功能,下一版本會考慮重新加上這兩個功能并避開license的限制。
點此了解如何在CoIDE 1.3.0中使用J-link

2. 關于Include Paths
CoIDE 1.3.0增加了這個功能:
CoIDE編譯時,會自動搜尋工程下面的文件夾,包括Linked Folder文件夾。如果該文件夾下有.h文件,就自動添加到工程的Include Paths里。
所以之前的工程在CoIDE 1.3.0 中編譯可能出現找不到頭文件的情況。

此時你可以手動添加頭文件路徑到build.xml中的Include Paths,或修改Linked Folder的名字,或修改頭文件包含語句(如將#include “grib/grlib.h”改為#include “grlib.h”)。

由于架構調整,可能需要用戶新建工程,或者重復打開才能使用以前的工程。

3. 關于打開MDK工程
通過Open Project,選擇以.uvproj為后綴的文件,打開,即可轉換MDK工程為CoIDE工程。
現在這個功能還有一些限制,比如只支持一種配置模式,只能打開在MDK下打開過的工程(編譯需要.dep文件),涉及到編譯器的文件需要用戶手動修改(MDKCoIDE的編譯器不同,與編譯器相關的文件在轉換時沒有被拷貝)等。
但這只是一個嘗試和開始,我們可以期待這個功能將來越做越好。如果用戶在使用中有任何問題和建議,歡迎聯系CooCox
4. 關于RAM調試
CoIDE 1.3.0build.xml文件中增加了Flash調試和RAM調試的選項。
Flash調試是默認的,RAM調試則還需一些額外的設置。不同芯片設置方法也可能不同。

例如:
1)STM32F10X系列芯片
cmsis_boot文件夾,system_stm32f10x.c文件,SystemInit()函數中,有這樣的語句
#ifdef VECT_TAB_SRAM
SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM. */
#else
SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH. */
#endif
所以只需打開build.xml文件,選擇Debug in RAM,并在Defined Symbols中添加VECT_TAB_SRAM宏即可。

2)LPC17xx系列芯片
cmsis_boot文件夾,system_LPC17xx.c文件,SystemInit()函數中,有這樣的語句
#if (__RAM_MODE__==1)
SCB->VTOR= 0x10000000 & 0x3FFFFF80;
#else
SCB->VTOR= 0x00000000 & 0x3FFFFF80;
#endif
所以只需選擇Debug in RAM,并在system_LPC17xx.c文件中加入語句#define
__RAM_MODE__ 1
即可。

3)找不到如12)中語句的芯片如LM3S系列
選擇Debug in RAM后,在cmsis_boot文件夾,system_lm3s.c文件,SystemInit()函數中,添加語句
SCB->VTOR = 0x20000000 | 0x0; /* Vector Table Relocation in Internal SRAM. */
由于VTOR定義在core_cm3.h文件中,還需添加頭文件包含語句#include "core_cm3.h"

CoIDE 1.3.0在線用戶手冊英文版已更新,點此查看
中文版用戶手冊及PDF版用戶手冊也即將更新,敬請關注。


作者: Chocore    時間: 2011-9-21 16:52
標題: 【重要說明之二】CoIDE 1.3.0的J-link Edit Scripts,Other-adapter,及Include Paths
1.關于J-link Edit Scripts & Other-adapter
CoIDE 1.3.0中,J-link的調試啟動腳本(包括復位方式,是否運行到main)已經固化到代碼里了,所以腳本編輯框是空的,用戶編輯腳本時只需填充GDB設置腳本。

CoIDE 1.3.0移除了調試配置中的Other-adapter項。該項是參照J-link的配置設置的,如果有需要,用戶可以將J-link項當做Other-adpter項使用。
例如有用戶用Other-adpter實現了在CoIDE中使用LPC-linkLPCXpresso),詳情見http://www.coocox.org/Forum/topic.php?id=741


2. 關于Include Paths
有用戶反饋如果Include Paths中的文件不在工程目錄下,則手動添加的包含路徑就不能保存。這是一個BUG
避免這一BUG的方法是使用Add Linked File / Add Linked Folder功能(工程名處點擊右鍵,或點擊菜單欄的File),把想參與編譯的文件或文件夾鏈接進來就行。

還有用戶反饋,Build工程時,工程文件夾中的源文件會全部自動編譯鏈接,從而出錯。

下一版本的CoIDE會修復這兩個BUG,并添加從工程中移除文件但不刪除文件的功能。

有用戶對CooCox提出了Wishlist,你是不是也和他有類似的想法呢?歡迎提出你的問題或建議!
你還可以加入CooCox工具群167693982 / CoOS77814606參與交流討論。


PS:最新消息,CoIDE用戶手冊在線版已全部更新~
作者: tlk632    時間: 2011-9-24 23:41
沒用過,嘗試一下
作者: Chocore    時間: 2011-9-28 18:54
標題: 【總要有個規范才放心】開源許可證GPL、BSD、MIT、Mozilla、Apache和LGPL的區別
如先前所說,CooCox工具均是免費的,其中開源的有CoOSColink / CoLinkEx硬件電路。
“免費”和“開源”這樣的詞,總會讓人既躍躍欲試,又有所顧慮:真的可以隨意用?后續會不會有什么麻煩?商用也行嗎?
為了讓用戶完全放心,CooCox將規范用戶協議。新的協議即將發布,原始協議見http://www.coocox.com/CN/policy.htm
下面這篇文章轉載自CooCox新浪官博


CooCox用戶數及影響力越來越大,CooCox團隊也逐漸提高了對軟件及代碼協議的重視。在收集整理的過程中,一些歸納好的信息和大家分享一下。
首先借用有心人士的一張相當直觀清晰的圖來劃分各種協議:


以下是上述協議的簡單介紹。

BSD開源協議
BSD開源協議是一個給予使用者很大自由的協議。基本上使用者可以“為所欲為”,可以自由的使用、修改源代碼,也可以將修改后的代碼作為開源或者專有軟件再發布。
但“為所欲為”的前提當你發布使用了BSD協議的代碼,或則以BSD協議代碼為基礎做二次開發自己的產品時,需要滿足三個條件:
1. 如果再發布的產品中包含源代碼,則在源代碼中必須帶有原來代碼中的BSD協議。
2. 如果再發布的只是二進制類庫/軟件,則需要在類庫/軟件的文檔和版權聲明中包含原來代碼中的BSD協議。
3. 不可以用開源代碼的作者/機構名字和原來產品的名字做市場推廣。
BSD協議鼓勵代碼共享,但需要尊重代碼作者的著作權。BSD由于允許使用者修改和重新發布代碼,也允許使用或在BSD代碼上開發商業軟件發布和銷售,因此是對商業集成很友好的協議。而很多的公司企業在選用開源產品的時候都首選BSD協議,因為可以完全控制這些第三方的代碼,在必要的時候可以修改或者二次開發。

Apache License 2.0
Apache License是著名的非盈利開源組織Apache采用的協議。該協議和BSD類似,同樣鼓勵代碼共享和尊重原作者的著作權,同樣允許代碼修改,再發布(作為開源或商業軟件)。需要滿足的條件也和BSD類似:
1. 需要給代碼的用戶一份Apache License。
2. 如果你修改了代碼,需要再被修改的文件中說明。
3. 在延伸的代碼中(修改和有源代碼衍生的代碼中)需要帶有原來代碼中的協議,商標,專利聲明和其他原來作者規定需要包含的說明。
4. 如果再發布的產品中包含一個Notice文件,則在Notice文件中需要帶有Apache License。你可以在Notice中增加自己的許可,但不可以表現為對Apache License構成更改。
Apache License也是對商業應用友好的許可。使用者也可以在需要的時候修改代碼來滿足需要并作為開源或商業產品發布/銷售。

GPL
我們很熟悉的Linux就是采用了GPLGPL協議和BSD Apache License等鼓勵代碼重用的許可很不一樣。GPL的出發點是代碼的開源/免費使用和引用/修改/衍生代碼的開源/免費使用,但不允許修改后和衍生的代碼做為閉源的商業軟件發布和銷售。這也就是為什么我們能用免費的各種linux,包括商業公司的linuxlinux上各種各樣的由個人,組織,以及商業軟件公司開發的免費軟件了。
GPL協議的主要內容是只要在一個軟件中使用(“使用”指類庫引用,修改后的代碼或者衍生代碼)GPL 協議的產品,則該軟件產品必須也采用GPL協議,既必須也是開源和免費。這就是所謂的“傳染性”。GPL協議的產品作為一個單獨的產品使用沒有任何問題,還可以享受免費的優勢。
由于GPL嚴格要求使用了GPL類庫的軟件產品必須使用GPL協議,對于使用GPL協議的開源代碼,商業軟件或者對代碼有保密要求的部門就不適合集成/采用作為類庫和二次開發的基礎。
其它細節如再發布的時候需要伴隨GPL協議等和BSD/Apache等類似。

LGPL
LGPLGPL的一個為主要為類庫使用設計的開源協議。和GPL要求任何使用/修改/衍生之GPL類庫的軟件必須采用GPL協議不同。LGPL 允許商業軟件通過類庫引用(link)方式使用LGPL類庫而不需要開源商業軟件的代碼。這使得采用LGPL協議的開源代碼可以被商業軟件作為類庫引用并發布和銷售。
但是如果修改LGPL協議的代碼或者衍生,則所有修改的代碼,涉及修改部分的額外代碼和衍生的代碼都必須采用LGPL協議。因此LGPL協議的開源代碼很適合作為第三方類庫被商業軟件引用,但不適合希望以LGPL協議代碼為基礎,通過修改和衍生的方式做二次開發的商業軟件采用。
GPL/LGPL都保障原作者的知識產權,避免有人利用開源代碼復制并開發類似的產品。

MIT
MIT是和BSD一樣寬泛的許可協議,作者只想保留版權,而無任何其他了限制。也就是說,你必須在你的發行版里包含原許可協議的聲明,無論你是以二進制發布的還是以源代碼發布的。

MPL
MPLThe Mozilla Public License的簡寫,是1998年初Netscape Mozilla小組為其開源軟件項目設計的軟件許可證。MPL許可證出現的最重要原因就是,Netscape公司認為GPL許可證沒有很好地平衡開發者對源代碼的需求和他們利用源代碼獲得的利益。同著名的GPL許可證和BSD許可證相比,MPL在許多權利與義務的約定方面與它們相同(因為都是符合OSIA 認定的開源軟件許可證)。但是,相比而言MPL還有以下幾個顯著的不同之處:

MPL雖然要求對于經MPL許可證發布的源代碼的修改也要以MPL許可證的方式再許可出來,以保證其他人可以在MPL的條款下共享源代碼。但是,在MPL 許可證中對“發布”的定義是“以源代碼方式發布的文件”,這就意味著MPL允許一個企業在自己已有的源代碼庫上加一個接口,除了接口程序的源代碼以MPL 許可證的形式對外許可外,源代碼庫中的源代碼就可以不用MPL許可證的方式強制對外許可。這些,就為借鑒別人的源代碼用做自己商業軟件開發的行為留了一個豁口。
MPL許可證第三條第7款中允許被許可人將經過MPL許可證獲得的源代碼同自己其他類型的代碼混合得到自己的軟件程序。
對軟件專利的態度,MPL許可證不像GPL許可證那樣明確表示反對軟件專利,但是卻明確要求源代碼的提供者不能提供已經受專利保護的源代碼(除非他本人是專利權人,并書面向公眾免費許可這些源代碼),也不能在將這些源代碼以開放源代碼許可證形式許可后再去申請與這些源代碼有關的專利。
對源代碼的定義
而在MPL1.1版本)許可證中,對源代碼的定義是:“源代碼指的是對作品進行修改最優先擇取的形式,它包括:所有模塊的所有源程序,加上有關的接口的定義,加上控制可執行作品的安裝和編譯的‘原本’(原文為‘Script’),或者不是與初始源代碼顯著不同的源代碼就是被源代碼貢獻者選擇的從公共領域可以得到的程序代碼。”
MPL許可證第3條有專門的一款是關于對源代碼修改進行描述的規定,就是要求所有再發布者都得有一個專門的文件就對源代碼程序修改的時間和修改的方式有描述。
英文原文:http://www.mozilla.org/MPL/MPL-1.1.html

作者: Chocore    時間: 2011-10-13 15:59
標題: 【學習筆記之Semihosting】CoIDE 1.3.1即將發布,新增支持Semihosting功能
CooCox將于下周發布CoIDE 1.3.1,除修復之前提過的部分BUG外,還將增加Semihosting等功能。

PsCoIDE中新唐庫已升級到最新版,新唐組件也已更新。點擊組件頁右上角刷新按鈕,有更新的組件右側會顯示Update,點擊即可更新。

敬請關注CooCox——免費和開源的ARM Cortex M3&M0開發工具


下面是Semihosting學習筆記。


****************Quoted from http://forum.eepw.com.cn/thread/90669/1****************


1ARM公司對Semihosting的中文解釋是半主機機制。為什么叫半主機呢?主要是指應用程序的代碼運行在目標系統上,當需要類似PC平臺下的控制臺輸入輸出時,會調用Semihosting去利用PC上的控制臺輸入輸出設備:如打開關閉文件,PC顯示器輸出,鍵盤輸入等等。

2SemihostingADS1.2的開發環境下,只能在以下調試代理上運行,ARMulator, RealMonitor, Multi-ICE以及Angle。這就是為什么周工的EasyJTAG不支持Semihosting的原理,因為它不屬于上述四種調試代理中的任何一種。

3Semihosting是一段功能代碼,這段功能代碼主要運行在PC上,并由調試工具上的固件來激活調用。而周工的EasyJTAG沒有實現這個激活調用功能。

4、對于開發用戶來說,Semihosting是目標系統通過調用SWI
0x123456
SWI 0xAB來調用的。前者ARM狀態下的專用操作號,后者是THUMB狀態的專用操作號。當開發者的軟硬件調試工具配置正確時,可以正確執行Semihosting功能。打個比方說,你在ARMulator下仿真指令
MOV
R1
0x18
SWI
0x123456

ARMulator會正確終止你的程序執行。
而在EasyJTAG下仿真時,卻會跳入0x08的異常向量入口處。

**********Quoted from http://blog.sina.com.cn/s/blog_6bec9cbc0100mpp3.html***********


Semihosting主要是針對I/O操作的,在嵌入式開發過程當中,通過Semihosting,可以把輸入輸出定向到HOST上,利用HOST的輸入和輸出。

從用戶的角度來看,printf好像和普通的一樣,關鍵的區別在于printf的實現。一般的調試器都提供兩個版本的IO庫,一個式標準的庫,另外一個是支持Semihosting的庫。其實現有區別。下面以printf舉例說明其原理:

支持Semihostingprintf的實現和標準的printf不同,支持SemihostingprintfSWI指令來通知仿真器。仿真器在地址0x8處設置斷點,但SWI指令執行后,仿真器可以捕獲到該SWI指令。根據SWInumber來判斷這個SWI是不是Semihosting請求,如果是,再根據具體的Semihosting number響應用戶的Semihosting請求,完成用戶的Semihosting請求后,返回到SWI的后面一條指令,繼續執行。所以,對用戶來說,這是透明的。

/**********
文檔:《基于ARMSemihosting的分析與實現
作者: Chocore    時間: 2011-10-14 17:54
標題: 【再上層樓】CooCox優化了CoX——基于ARM Cortex-M處理器的設備驅動統一接口
9月底,CooCox發布了CoX 2.0.0

什么是CoX呢?CoX是基于ARM Cortex-M處理器的設備驅動統一接口。從下面這張圖可以直觀地看出使用CoX的好處——方便移植。


另外,要使用CooCox提供的外圍驅動,即RepositoryDRIVER.COX標簽下的組件,也需使用CoX

CoX 1.0.020109月發布的,CooCox將它成功地移植到了多種MCU上,如LPC11xx, NUC1xx等等。

雖然CoX 1.0.0實現了外設的通用功能,但它還存在如下缺點:

w 不支持中斷
w API功能不全面。只實現了一些通用功能,沒有充分實現特殊專用芯片的功能。
w 未囊括所有外設。使用某些外設時,用戶需要借助其他廠商庫,從而增大代碼量,甚至出現代碼邏輯沖突。

鑒于此,我們重寫了CoX。我們準備了將近一年的時間,每定義一個接口前都閱讀并比較了數份芯片制造商手冊。新版本的CoX不僅解決了上面提到的問題,并且添加了一些新功能。

CoX 2.0.0特征:

w 基于BSD協議,免費&開源
w 統一標準的外設接口(功能,中斷……),包含強制和非強制接口,適用范圍更廣
w 滿足不同MCU私有特性,實現各類外設全功能API
w 輕量級接口,無損CodeSizeSpeed
w 豐富的Doxygen規范幫助文檔,包含電路圖

詳情參見http://www.coocox.org/Cox.html


作者: uzufk    時間: 2011-10-18 22:53
看看這個是什么好東東!
作者: Chocore    時間: 2011-10-29 16:32
標題: 【CoIDE換血升級】支持Semihosting,改版GCC/CoX,支持NUC122&更新芯唐組件及例程
日前,CooCox發布了CoIDE V1.3.1。與1.3.0相比,1.3.1又有哪些進步呢?

1. 支持Semihosting功能
經過簡單三步配置,調試時函數printf()可輸出到Semihosting窗口,直觀方便~

     1)在組件頁勾選Semihosting,在調試配置窗口勾選Enable Semihosting
     2)printf.cPrintchar函數中加入SH_SendChar(c);,包含頭文件"semihosting.h”
     3)在需要的地方添加printf("Hello world!\n\r");,包含頭文件

Ps: 大部分芯片配置如上所述,少數芯片如AtmelSAM3U系列配置略有不同,可View Semihosting組件的例程查看說明。

2. 支持NUC122系列芯片,更新了Nuvoton NUC1xxM051系列的廠商庫組件和例子
CoIDE對芯唐的支持進一步加強。

3. CoX升級為新版本
CooCox發布CoX 2.0版本后,基于CoX的組件也將逐步更新。可以看我前一篇帖子對CoX的介紹

4. GCC編譯器替換為CooCox重編譯版本
如果說編譯器是IDE的血液,那本次CoIDE可謂換血升級了。
隨著CodeSourcery被收購,為避免版權糾紛,GCC版本的替換勢在必行。CooCox重編譯的GCC編譯器經過測試,工作穩定可靠,用戶可放心使用。

除此之外,新版CoIDE還修正了之前提到的Include PathsBUG。下個月計劃發布的版本將添加選擇工程內參與編譯文件的功能,敬請期待~

欲下載CoIDE或了解更多信息,請訪問http://www.coocox.org/cn/CooCox_CoIDE.html
作者: Chocore    時間: 2011-11-13 20:44
標題: 【管腳配置與代碼自動生成工具】CoSmart升級到1.2.0啦~新唐用戶不可錯過
管腳配置與代碼自動生成工具CooCox CoSmart目前已升級到V1.2.0

CoSmart V1.2.0增強
-----------------------------
增加:對一些沒有引腳的外設如DMARCC等也支持配置功能
增加:支持NUC100NUC120NUC130NUC140M051系列的芯片
改善:支持保存引腳選擇,模塊配置為cos文件
改善:對耗時較長的操作,顯示進度條
改善:切換芯片或者配置文件后,清空source窗口中顯示的代碼
改善:勾選外設過多時界面較卡的問題
更新:更新NUC1xx系列代碼模板,與Nuvoton1.05.002 版本的廠商庫同步

CoSmart功能
--------------------
配置管腳復用設置
分析管腳配置沖突
指明I/O引腳特征
生成可用的C代碼

未來CoSmart會逐步添加對STNXP等廠商芯片的支持,敬請關注~
CoSmart更多信息見http://www.coocox.org/CN/CoSmart.html
作者: Chocore    時間: 2011-11-21 11:04
標題: 【開發者總動員】CoX在Github上落戶啦~快加入CoX開源項目,暢享資源&助力開發
之前給大家介紹了CooCox歷時一年的嘔心瀝血之作CoX


今天要帶來的好消息是CooCoxGithub上創建了CoX倉庫,您可以通過Git系統方便地得到CoX相關資源CoX的發展出力CoXGithub主頁:https://github.com/coocox/cox

什么是GithubGit
Github為使用Git版本控制系統的軟件開發項目提供基于互聯網的主機托管業務。
Git是由Github提供的快速、高效、分布式的版本控制系統,適用于軟件協作開發。

與其他版本控制系統相比,Git的優勢:
1.  直接記錄快照,而非差異比較,十分方便分支及合并
2.  近乎所有操作都是本地執行,無網絡也能提交更新,處理速度飛快
3.  時刻保持數據完整性
4.  多數操作僅添加數據,一旦提交快照后就不用擔心數據丟失

如何貢獻?

CooCox使用集成管理員工具流模式進行開發。
由于 Git 允許使用多個遠程倉庫,開發者便可以建立自己的公共倉庫,往里面寫數據并共享給他人,而同時又可以從別人的倉庫中提取他們的更新過來。這種情形通常都會有個代表著官方發布的項目倉庫(blessed repository),開發者們由此倉庫克隆出一個自己的公共倉庫(developer public),然后將自己的提交推送上去,請求官方倉庫的維護者拉取更新合并到主項目。維護者在自己的本地也有個克隆倉庫(integration manager),他可以將你的公共倉庫作為遠程倉庫添加進來,經過測試無誤后合并到主干分支,然后再推送到官方倉庫。工作流程如下圖:



詳情請參見http://www.coocox.org/cox/Cox_Github.html

補充:《Git中文幫助文檔

作者: Chocore    時間: 2011-11-24 18:01
標題: 【感恩Day,減負Day】CooCox CoAssistant,讓寄存器信息一目了然~
編程時還在隨時隨地開著User Manual文檔嗎?你out啦!
查個寄存器,還得在一份幾百頁的手冊中前找后找,累不累啊?難得今天感恩節,從現在開始,給自己辛苦操勞的眼睛也減減負吧~

CooCox CoAssistant是一款簡單實用的寄存器助手,專為進行ARM Cortex M3M0開發的嵌入式軟硬件工程師設計。

推薦理由:
1. 免費輔助工具
CooCox家的系列工具都是免費的(部分工具開源),這個就不多說了。初次聽說的筒子可以查看我以前的帖子或訪問CooCox官網自行了解。

2. CoIDE集成版和在線版,雙重選擇
CoIDE中選擇View > Peripherals 即可打開寄存器助手。
助手詳細介紹及在線版入口,見http://www.coocox.org/CN/CoAssistant.htm

3. 直觀的呈現寄存器細節信息
通過助手,你可以方便地獲取這些信息:
芯片所有寄存器組,寄存器組基地址及描述,寄存器組所有寄存器,單個寄存器的描述信息、訪問類型、偏移值、復位值,及各位域的詳細信息。

單步調試時,值有變化的寄存器還會以醒目的紅色顯示。


4. 支持多種方式修改寄存器值,且修改的值在硬件上實時反應
1)修改寄存器的二進制或十六進制值,各位域值也將快速對應轉換。
例如在調試暫停時,我修改GPIOC_ODR的值0x000002400x00000200,反應到硬件上PC6LED燈熄滅,PC9LED燈仍亮。


2)對有枚舉類型的位域,可以通過單擊位域or通過位域選項的下拉框,選擇該位域的值




CoAssistant目前支持NuvotonEnergy Micro,和NXP的大部分芯片,下一版本的CoIDE還將添加對STM32F100系列LPC11C1x系列芯片的支持,敬請關注~

觀望百次不如動手一試,你還在猶豫什么呢?
作者: chinajiagege    時間: 2011-11-24 20:59
好東西就要支持下哈。
作者: Chocore    時間: 2011-12-5 16:41
標題: 【開發必備】寄存器助手CoAssistant新增支持STM32F10x系列
感恩節給大家介紹了寄存器助手CooCox CoAssistant


今天要帶來的好消息是——CoAssitant日前更新了NuvotonNUC1xx系列寄存器數據,并添加了對STM32F10x系列芯片的支持。

查看CoAssistant目前支持的芯片 使用在線版CoAssitant
請訪問:http://www.coocox.org/CN/CoAssistant.htm
作者: jixzang    時間: 2011-12-7 10:53
謝謝樓主分享。
作者: Chocore    時間: 2011-12-10 16:50
標題: 【永不止步】CoFlash支持Mini51及NUC122系列啦~新唐巡回研討會你報名了沒?
CooCox于本周發布了CoFlash V1.4.0

新版CoFlash添加了對新唐Mini51系列及NUC122系列芯片的支持,具體有:
Mini51LAN, Mini51ZAN, Mini52LAN, Mini52ZAN, Mini54LAN, Mini54ZAN
NUC122LC1AN, NUC122LD2AN, NUC122SC1AN, NUC122SD2AN, NUC122ZC1AN, NUC122ZD2AN

此外,本次發布的CoFlash還進一步改善了Flash燒寫速度,添加了復位模式選擇功能,歡迎體驗~

從雙十二開始,新唐 NuMicro Mini51 技術巡回研討會將陸續于全國十個城市舉辦。會上將贈送CooCox工具組特別制作的光盤和彩頁,CoFans&新唐用戶都不可錯過哦~活動介紹見http://www.nuvoton.com/nuvotonMOSS/event/Mini51/Microsite.aspx

欲了解CooCox更多信息及動態,請訪問http://www.coocox.org/CN/
作者: Chocore    時間: 2012-1-4 18:09
標題: 【MDK調試插件】CoMDKPlugin已更新至V1.4.0,CoLinkEx固件及驅動需升級
CoFlash V1.4.0同時發布的還有MDK調試插件CoMDKPlugin V1.4.0

新設備支持方面CoMDKPluginCoFlash同步,均添加了對如下芯片的支持:
Mini51LAN, Mini51ZAN, Mini52LAN, Mini52ZAN, Mini54LAN, Mini54ZAN
NUC122LC1AN, NUC122LD2AN, NUC122SC1AN, NUC122SD2AN, NUC122ZC1AN, NUC122ZD2AN

CoLinkEx方面,不僅提升了Flash燒寫速度,還新增支持在MDK中的trace功能。

12月起,所有新版的CooCox軟件,支持下載和調試功能的,都要求CoLinkEx使用新版本的固件和驅動了。
新版的固件和驅動的下載頁面:http://www.coocox.com/CN/Colinkex.htm

固件更新方法如下:
1.  短接JP1
2. 上電(ColinkEX連接到PC)
3. 等待PC枚舉出卷標為"CRP2 ENABLD"的可移動磁盤,如果沒有出現,請多按幾次復位鍵(BP1)或重新上電。
4. CRP2 DISABLD可移動磁盤中的firmware.bin刪除。
5. 把下載好的CoLinkEx固件復制到此可移動磁盤中。
6. 斷開JP1,重新上電后即可使用

推薦的驅動更新方法如下:
1. 根據使用的Windows系統的版本下載驅動
2. 卸載舊驅動
3. 連上固件更新后的CoLinkEx
4. 安裝新版驅動。

CoLinkEx安裝好后,設備管理器中可以看到CoLinkEx Debug InterfaceUSB Composite device和一個CooCox 虛擬串口。
作者: Chocore    時間: 2012-1-13 14:56
標題: 【免費驅動源碼】CooCox已實現NUC122外設庫
之前給大家介紹過CooCox專注打造的CoX&驅動(見前面的【再上層樓】CooCox優化了CoX——基于ARM Cortex-M處理器的設備驅動統一接口)。


除了GitHub開源項目,正在籌備中的組件平臺也是CooCox提供給開發者的又一大參與渠道。CooCox希望能通過組件平臺簡化開發流程,方便更多開發者的加入。

目前CoX開發的主力還是CooCox工程師。上周,基于NUC122系列的CoX外設庫已經實現。

CoIDE中刷新NUC122的組件頁,PERIPHERAL.COX分支即為NUC122的通用外設驅動,勾選即可用。


用戶還可以從http://www.coocox.org/COX.html獲取免費驅動源碼及配套文檔。
------------------
如果您有任何CooCox工具相關問題和建議,歡迎到論壇或QQ群提(CooCox工具群167693982CooCox_CoOS77814606),在線答疑時間為周一到周五8:30~18:00
【論壇近期FAQ
CoIDE如何輸出浮點數
CoIDE如何設置heap size
作者: yang_gh    時間: 2012-1-30 15:50
用用看先
作者: Chocore    時間: 2012-3-18 22:57
標題: 【FAQ】如何在CoIDE中使用C++
CooCox論壇上時不時有人問:CoIDE是否支持C++

CoIDE默認支持C語言,工程中的*.cpp*.C(大寫的C,會默認為cpp文件)不參與編譯。這讓不少慣用C++的用戶覺得可惜。

好在這個世界上解決問題的方法永遠比問題多得多,感謝用戶Yury Kuchura的貢獻和分享,現在只需要幾處改動,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. 修改啟動代碼,使構造和析構函數能被正確調用

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

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

歡迎大家常來CooCox論壇交流討論~
作者: zhengtiantong    時間: 2012-3-30 19:38
很好,很強大
作者: 100home    時間: 2012-4-2 22:26
及時雨
作者: Chocore    時間: 2012-4-10 10:14
標題: 【與時俱進】CoIDE 1.4.1支持Cortex M4和ARM GCC啦
Cortex M4芯片上市以來,論壇上用戶要求CooCox支持M4的呼聲一直很高。經過一段時間的奮戰,在本月最歡樂的日子,CooCox發布了CoIDE 1.4.1版本,滿足了用戶的這一需求^_^

為了盡早支持M4,新版CoIDE沒有移植廠商庫,所以在勾選包含啟動代碼(startup code)的CMSIS BOOT和專用于M4的CMSIS core之后,用戶還需手動從廠商庫添加需要的外設組件。

之后CooCox會逐步添加STM32F4的Peripheral components(外設組件)到Repository View,并添加其他的M4的芯片。目前STM32F4以外的M4芯片用戶可以選擇ARM (Manufacturers) ---> M4 (Chips)進行開發。


M4芯片的FPU配置
編譯M4前,需選擇合適的FPU。工程配置(Project ---> configuration)中提供了三種選擇:無FPU,soft FPU ,hard FPU。默認配置為soft FPU。

選擇使用FPU后,還需在程序中使能FPU模塊,否則程序運行時會進入hardfault錯誤。
將如下代碼添加到啟動代碼(如startup_stm32f4xx.c)的Default_Reset_Handler()函數中,main();之前,使能FPU:
*((volatile unsigned long *) 0xE000ED88) |= (0xF << 20);
或者
__asm(" LDR.W R0, =0xE000ED88\n"
" LDR R1, [R0]\n"
" ORR R1, R1, #(0xF << 20)\n"
" STR R1, [R0]");

除M4外,CoIDE 1.4.1新增的另一大亮點是對ARM GCC的支持。
ARM GCC是ARM官方新近推出的GCC編譯器,功能強大,推薦用戶使用。
編譯器設置方法:http://www.coocox.org/cn/CoIDE/Compiler_Settings.html

Colink和CoLinkEx調試器已支持STM32F4系列芯片,支持M4的CoFlash和MDK插件也即將發布,敬請關注~


歡迎到CooCox論壇反饋&圍觀學習(注意活用右側搜索欄):http://www.coocox.org/Forum/topic.php?id=756

作者: james_138139    時間: 2012-8-9 21:46
盡管用不到,還是要支持以下
作者: lsx435372    時間: 2012-10-10 18:20
看這樣不錯啊
作者: jixzang    時間: 2012-10-23 14:41
不錯,謝謝樓主
作者: caipeng521    時間: 2012-12-7 07:56

作者: guluguluchui    時間: 2012-12-7 21:23
Coos 很好用 ,頂
作者: UltraBird    時間: 2012-12-11 23:50
不懂
作者: david-xia    時間: 2013-1-6 09:42
頂。。。。。。。。。。。。。。
作者: taxuelangzi110    時間: 2013-1-9 19:09
標記一個,呵呵。。
作者: loikey    時間: 2013-1-11 16:19
感覺很好用,試試看

作者: yxd201971    時間: 2013-1-17 10:48
了解一下
作者: jh_wang    時間: 2014-9-12 08:33
路過 看看




歡迎光臨 電子工程網 (http://m.qingdxww.cn/) Powered by Discuz! X3.4
主站蜘蛛池模板: 国产成人福利在线视频播放尤物 | 青在线视频 | 手机在线播放av | 国产成人三级视频在线观看播放 | 国产手机国产手机在线 | 国产精品福利在线 | 国产成人精品免费影视大全 | 两个人日本免费完整版在线观看1 | 91青青草原| 青青青视频免费 | 丁香婷婷久久 | 日韩毛片基地 | 日韩一级一欧美一级国产 | 五月天久久婷婷 | 一级欧美一级日韩 | 四虎永久免费地址在线网站 | 99爱在线视频 | 日本黄色app| 国产精品免费精品自在线观看 | 亚洲一区二区观看 | 伊人狼人在线 | 4hc44四虎www在线观看 | 99精品国产高清一区二区麻豆 | 爱福利视频网 | 国产三级日产三级 | 欧美精品成人一区二区视频一 | 国产a国产片国产 | 亚洲片在线观看 | 99爱视频免费高清在线观看 | 男男羞羞视频网站免费 | 岛田阳子五十路在线观看 | 99这里| 日韩第四页 | 欧美人与动交片免费播放 | 国产蝌蚪 | 亚洲精品tv久久久久久久久久 | 国产三级高清 | 精品精品国产yyy5857香蕉 | 亚洲一区二区精品视频 | 国产日产欧产麻豆精品精品推荐 | 99精品国产免费久久国语 |