新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > ARM DS-5開發(fā)STM32程序(Eclipse配合Keil插件使用)

        ARM DS-5開發(fā)STM32程序(Eclipse配合Keil插件使用)

        作者: 時間:2016-11-10 來源:網(wǎng)絡(luò) 收藏
        ARM DS-5是基于Eclipse的ARM開發(fā)環(huán)境,有完善的編譯流程,配合Keil插件開發(fā)STM32效果更佳。廢話不多,先介紹思路:

        1.安裝MDK軟件,就有編譯STM32的工具鏈。我使用是MDK 4.72的。

        本文引用地址:http://www.104case.com/article/201611/317296.htm

        http://pan.baidu.com/s/1o6iHPVG

        2.安裝DS-5,并注冊社區(qū)版(免費閹割)。

        http://pan.baidu.com/s/1mgHX2JY

        補充:社區(qū)版激活代碼:

        http://ds.arm.com/zh-cn/ds-5-community-edition/getting-started/

        3.運行DS-5安裝Keil插件

        安裝好Keil插件后只是使用了Keil的調(diào)試和下載功能,真正與DS-5合體需要在Eclipse設(shè)置。

        4.設(shè)置編譯工具鏈,打開eclipse,Windows->Preferences,彈出Preferences窗口后選擇DS-5->Toolchains,點擊Add。選擇keil安裝目錄下的ARMARMCCbin,然后確認點next、next通常會檢測出armcc的版本

        確認后如下圖,黃色的就是添加后的工具鏈。
        ds-5的環(huán)境設(shè)置到這里完成,然后進行項目設(shè)置。
        5.源碼復(fù)制到DS-5項目。由于Eclipse和mdk的項目文件顯示不一樣,Eclipse是項目文件夾有什么在Eclipse就顯示什么,Keil要在設(shè)置并加入文件才在項目顯示。所以Eclipse加入程序源碼只要在項目文件夾新建文件并復(fù)制源碼就行。
        首先在Eclipse新建arm項目,New->C Project,選擇Empty Project和ARM Compiler 5.03,同時輸入項目名稱Finish,下圖因為之前有test1這個項目才出現(xiàn)錯誤。
        然后添加原來的源碼到Eclipse的項目文件夾就是了,下圖可以對比一下Keil與Eclipse的項目表示方式,
        6.構(gòu)建設(shè)置。項目源碼添加后還要設(shè)置給編譯工具鏈的參數(shù)。點到項目右鍵選擇Properties,C/C++ Build->Tool Chain Editor,Current builder有CDT Internal Builder和Gnu Make Builder選擇,Gun的使用Makefile,CDT是命令形式。在win7下CDT編譯是明顯快一點。這兩個builder還有的區(qū)別是文件路徑的表示不一樣,不過影響不是很大。
        然后是C/C++ Build->Settings,根據(jù)下面圖基本ok,其實Preprocessor和Includes的設(shè)置都與MDK設(shè)置對應(yīng)的。Target CPU是Cortex-M3,
        在ARM Linker設(shè)置里面涉及一個比較關(guān)鍵一點,就是scat文件,在Keil其實也有但是幾乎看不到它的身影。
        在Eclipse里面就要通過這個給鏈接器,所以在項目下新建一個Templet.scat,DS-5支持scat后綴的文件有特別的查看方式,不過對于STM32應(yīng)該不重要。0x08000xxx和0x2000...數(shù)字的意義懂stm32的存儲器地址都明白吧。寫好scat文件后記得在ARM Linker的Image Layout設(shè)置Scatter file。
        最后設(shè)置打印出來的信息,-map就打印出每個函數(shù)和變量的地址。--list就打印到文件,空著打印到console。
        基本的設(shè)置完成,利用Keil插件可以進行調(diào)試和下載。
        補充:
        1.不想編譯某文件,點擊文件右鍵->Resource Configurations->Exclude from Build..,并勾上就可以。
        2.關(guān)于bin文件制作,在stm32使用IAP會發(fā)送2進制文件給芯片。除了要scat文件里面設(shè)置地址外,還要使用keil的自帶軟件生成bin。設(shè)置同樣在C/C++ Build->Setting->Build,設(shè)置Post-build steps的Comand。
        STM32開發(fā)基本上使用keil和iar,keil很強大,運行快速,設(shè)置簡單直觀,模擬和調(diào)試工具都做的不錯。IAR個人覺得比較丑陋,雖然keil也不是很漂亮。。而Eclipse,其實一開始我是拒絕的。。。因為它設(shè)置比較復(fù)雜而且一開始加載很慢,對比keil有沒什么優(yōu)勢。但是當你的工程越來越多,分支也開始多的時候,就發(fā)現(xiàn)Eclipse的優(yōu)勢:
        1.清晰的項目管理,不用再開多個keil軟件和文件夾
        2.與svn方便使用,Eclipse安裝了svn插件就容易的進行版本管理


        補充:附上配置好的工程文件

        http://pan.baidu.com/s/1kTH5IEb



        關(guān)鍵詞: ARMDS-5開發(fā)STM32程

        評論


        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 曲阜市| 莆田市| 武隆县| 屏东县| 石林| 沂源县| 涪陵区| 唐河县| 东海县| 克什克腾旗| 苍梧县| 合水县| 高雄市| 上栗县| 泸溪县| 沅陵县| 石屏县| 荔波县| 延长县| 宣汉县| 松滋市| 茂名市| 瑞丽市| 赤壁市| 江山市| 南涧| 五指山市| 宣恩县| 万全县| 渝中区| 龙游县| 曲松县| 灌云县| 三台县| 承德市| 兰溪市| 邵阳市| 武定县| 乌鲁木齐县| 萍乡市| 茂名市|