|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
一步一步教你調(diào)試ARM Linux |
| 作者:solider 欄目:ARM技術(shù) |
SldView運(yùn)行于Windows系統(tǒng)中,支持ucosii、ucLinux、Linux三種嵌入式操作系統(tǒng)的開發(fā)。支持從編輯代碼、交叉編譯、交叉調(diào)試的開發(fā)全過(guò)程,支持Linux內(nèi)核、驅(qū)動(dòng)、任務(wù)級(jí)、模塊等動(dòng)態(tài)調(diào)試,支持內(nèi)核、驅(qū)動(dòng)、任務(wù)、模塊等同步調(diào)試。 1. 當(dāng)前嵌入式Linux開發(fā)模式 嵌入式系統(tǒng)通常為一個(gè)資源受限的系統(tǒng)。直接在嵌入式系統(tǒng)的硬件平臺(tái)上編寫軟件比較困難,有時(shí)甚至是不可能的。一般流程見圖1。目前,一般采用的辦法是,先在通用計(jì)算機(jī)上編寫程序,然后,通過(guò)交叉編譯,生成目標(biāo)平臺(tái)上可運(yùn)行的二進(jìn)制代碼格式,最后下載到目標(biāo)平臺(tái)上的特定位置上運(yùn)行 圖1 開發(fā)流程 圖2開發(fā)模式 第一步,建立嵌入式Linux交叉開發(fā)環(huán)境。目前,常用的交叉開發(fā)環(huán)境主要有開放和商業(yè)兩種類型。交叉開發(fā)環(huán)境是指編譯、鏈接和調(diào)試嵌入式應(yīng)用軟件的環(huán)境。它與運(yùn)行嵌入式應(yīng)用軟件的環(huán)境有所不同,通常采用宿主機(jī)/目標(biāo)機(jī)模式,在宿主機(jī)上編寫好源代碼及相關(guān)的配置文件。 第二步,交叉編譯和鏈接。在完成嵌入式軟件的編碼之后,就是進(jìn)行編譯和鏈接,以生成可執(zhí)行代碼。由于開發(fā)過(guò)程大多是在INTEL公司x86系列CPU的通用計(jì)算機(jī)上進(jìn)行的,而目標(biāo)環(huán)境的處理器芯片卻大多為ARM、MIPS、PowerPC、DRAGONBALL等系列的微處理器,這就要求在建立好的交叉開發(fā)環(huán)境中進(jìn)行交叉編譯和鏈接。通過(guò)編譯連接后即可下載的目標(biāo)機(jī)運(yùn)行。 在嵌入式系統(tǒng)開發(fā)中完成編譯連接只是開發(fā)工作的一小部分,而令廣大開發(fā)人員頭痛的則是下載到目標(biāo)機(jī)進(jìn)行調(diào)試。多數(shù)的嵌入式系統(tǒng)開發(fā)都是基于操作系統(tǒng)的,而目前大多數(shù)集成開發(fā)環(huán)境都不支持Linux調(diào)試,僅有的幾種開發(fā)平臺(tái)功能簡(jiǎn)單卻昂貴的費(fèi)用讓大多企業(yè)望而卻步。 2. SldView集成開發(fā)工具的特色 SldView不僅實(shí)現(xiàn)目前常用的集成開發(fā)環(huán)境的開發(fā)、調(diào)試功能外,還提供了Linux內(nèi)核、驅(qū)動(dòng)、任務(wù)級(jí)、模塊等動(dòng)態(tài)調(diào)試,這是廣大開發(fā)人員最急切的需要。它完全支持OS內(nèi)核調(diào)試,并可以進(jìn)行任務(wù)級(jí)與線程的實(shí)時(shí)調(diào)試。SldView可以對(duì)多個(gè)任務(wù)同時(shí)進(jìn)行跟蹤調(diào)試,動(dòng)態(tài)檢測(cè)到任務(wù)的啟動(dòng),然后加載任務(wù)的符號(hào)表,開發(fā)人員就完全控制了任務(wù)的運(yùn)行,并可以在內(nèi)核態(tài)及任務(wù)態(tài)間自由切換。此外SldView還提供了內(nèi)存管理、任務(wù)綁定、Timer察看、任務(wù)Time管理、任務(wù)上下文察看等調(diào)試功能,極大的方便了開發(fā)人員OS調(diào)試,使開發(fā)效率大幅度提高。 在代碼級(jí)調(diào)試方面SldView也非常優(yōu)秀。SldView提供圖形和命令行兩種調(diào)試方式并支持軟件模擬功能,設(shè)計(jì)人員可以動(dòng)態(tài)選擇程序下載地,全球領(lǐng)先的程序下載速度,最快下載速度可以達(dá)到800k/s,尤其適用于用戶調(diào)試代碼量大的程序。強(qiáng)大的斷點(diǎn)設(shè)置、變量察看、寄存器察看、自定義寄存器察看、板上寄存器察看、函數(shù)堆棧顯示等功能可以讓設(shè)計(jì)人員掌握程序運(yùn)行的每一個(gè)細(xì)節(jié)。此外SldView還支持源代碼窗口、匯編程序窗口、混合窗口的顯示。 SldView集成開發(fā)環(huán)境界面直觀友好,類似于MS Visual Stduio。設(shè)計(jì)人員可以很方便的創(chuàng)建、配置工程,然后編譯、調(diào)試程序,也可以直接打開編譯好的目標(biāo)文件來(lái)調(diào)試。SldView完全支持gcc, ads等編譯器生成的目標(biāo)代碼的調(diào)試。設(shè)計(jì)人員可以根據(jù)自己的需要制定開發(fā)環(huán)境,也可以選擇試用英文版。 3. 應(yīng)用實(shí)例 3.1 Linux應(yīng)用程序開發(fā) 但由于沒有合適的開發(fā)環(huán)境,Linux應(yīng)用程序開發(fā)效率往往都很低,特別是用戶進(jìn)程的調(diào)試非常困難,而SLDView的出現(xiàn)使這些問(wèn)題得以解決。 使用SLDView的Linux工程向?qū)Щ蚱渌募庉嬈餍陆?yīng)用程序源文件和相關(guān)配置文件。在SLDView配置好OS,運(yùn)行config、dep、make命令即可編譯Linux,如果沒有報(bào)錯(cuò)則會(huì)生成相關(guān)的二進(jìn)制文件。使用SLDView鏈接開發(fā)板并下載二進(jìn)制文件,這時(shí)就可以調(diào)試Linux應(yīng)用程序了。 SLDView會(huì)自動(dòng)攔截Linux運(yùn)行過(guò)程中的每一個(gè)進(jìn)程,并提示開發(fā)人員是否進(jìn)行調(diào)試。例如當(dāng)開發(fā)人員運(yùn)行應(yīng)用程序“LCD”時(shí),該進(jìn)程被SLDView攔截并掛起,如下圖: 同時(shí)SLDView會(huì)提示是否調(diào)試該進(jìn)程: 選擇“是”打開相應(yīng)的.elf文件: 現(xiàn)在就可以像調(diào)試普通程序一樣調(diào)試該進(jìn)程了。 3.2 設(shè)備驅(qū)動(dòng)程序調(diào)試 在嵌入式系統(tǒng)開發(fā)中,其中很大的工作量都都是為各種設(shè)備編寫驅(qū)動(dòng)程序,除非不用操作系統(tǒng)而直接控制硬件。對(duì)于任何一位內(nèi)核代碼的開發(fā)人員來(lái)說(shuō),最急迫的問(wèn)題之一就是如何完成調(diào)試。在調(diào)試工具缺乏和功能不完善的情況下,大多開發(fā)人員都選擇使用普通的打印調(diào)試方法,這樣的缺點(diǎn)也是顯而易見的:調(diào)試效率低、不能完全掌握變量值的變化、特別是在大型循環(huán)結(jié)構(gòu)中printk幾乎是無(wú)法用來(lái)調(diào)試的。SLDView強(qiáng)大的調(diào)試功能可以讓驅(qū)動(dòng)程序和OS內(nèi)核調(diào)試象調(diào)試普通C程序一樣簡(jiǎn)單。 先編寫好驅(qū)動(dòng)程序源代碼并加入到OS內(nèi)核中,使用SLDView重新編譯OS。如果沒有報(bào)錯(cuò)則會(huì)生成相應(yīng)的.elf文件 在SLDView中打開編譯好的.elf文件并下載到目標(biāo)板,定位到編寫好的驅(qū)動(dòng)程序設(shè)置斷點(diǎn)。本例中驅(qū)動(dòng)程序原文件為sc344b0fb.c,設(shè)置斷點(diǎn)到: int __init s3c44b0fb_init(void) 這樣系統(tǒng)在加載sc344b0fb驅(qū)動(dòng)程序時(shí)運(yùn)行到int __init s3c44b0fb_init(void)函數(shù)入口會(huì)掛起,開發(fā)人員可以單步運(yùn)行并通過(guò)自動(dòng)變量、自定義變量和寄存器窗口來(lái)察看當(dāng)前程序的運(yùn)行情況。 4. 結(jié)論 SLDView集成開發(fā)環(huán)境的出現(xiàn)為當(dāng)前大中型嵌入式系統(tǒng)開發(fā)商提供了高效的設(shè)計(jì)調(diào)試平臺(tái),降低了操作系統(tǒng)調(diào)試難度,提高了開發(fā)效率。同時(shí)SLDView集成開發(fā)環(huán)境良好的界面和簡(jiǎn)單操作也可作為各高等院校教學(xué)實(shí)驗(yàn)平臺(tái)及科研機(jī)構(gòu)的首選。
|
| 2樓: | >>參與討論 |
| 作者: solider 于 2006/8/24 13:20:00 發(fā)布:
網(wǎng)址 網(wǎng)址請(qǐng)看:www.jhembed.com |
|
| 3樓: | >>參與討論 |
| 作者: solider 于 2006/8/31 10:31:00 發(fā)布:
大家反映不熱烈啊, 建華嵌入式Linux系列開發(fā)套件大降價(jià),詳情見www.jhembed.com,或者致電029-88453251. |
|
| 4樓: | >>參與討論 |
| 作者: etter 于 2006/9/7 19:22:00 發(fā)布:
支持下。 |
|
| 5樓: | >>參與討論 |
| 作者: jy6715 于 2006/9/7 19:39:00 發(fā)布:
大降價(jià)是啥概念?以我所知要9k多RMB |
|
| 6樓: | >>參與討論 |
| 作者: ETTER 于 2006/9/8 13:09:00 發(fā)布:
同比應(yīng)該是最便宜的東西了。 現(xiàn)在送仿真器8880. |
|
| 7樓: | >>參與討論 |
| 作者: solider 于 2006/9/19 11:04:00 發(fā)布:
頂 |
|
| 8樓: | >>參與討論 |
| 作者: jimsboy 于 2006/9/19 23:46:00 發(fā)布:
樓主不老實(shí) 一個(gè)仿真器賣那么貴誰(shuí)敢要。扛泓c(diǎn)便宜的,讓大伙支持支持 |
|
| 9樓: | >>參與討論 |
| 作者: weijie_lee 于 2006/9/20 8:22:00 發(fā)布:
我頂LINUX 中國(guó)人嵌入式系統(tǒng)不要再用MS的啦,LINUX我頂,我們不能在嵌入式產(chǎn)品這里還要受制于MS啊,讓蓋次去死吧!哈哈! |
|
| 10樓: | >>參與討論 |
| 作者: 龍兄 于 2006/9/20 9:22:00 發(fā)布:
怎么象盜版的JEDIVIEW啊 怎么看就象MICETEK的JEDIVIEW |
|
| 11樓: | >>參與討論 |
| 作者: solider 于 2006/9/20 10:26:00 發(fā)布:
龍兄此言差亦 上樓的龍兄莫非是Micetek的托? 是在質(zhì)疑中國(guó)大陸沒有公司可以做出嵌入式Linux的集成開發(fā)平臺(tái)嗎? |
|
| 12樓: | >>參與討論 |
| 作者: hqgboy 于 2006/9/20 11:05:00 發(fā)布:
有限制板嗎?先玩玩... |
|
| 13樓: | >>參與討論 |
| 作者: xplore 于 2006/9/20 12:23:00 發(fā)布:
jedi-II + jediview(for windows)正版 大約也就是這個(gè)價(jià)(9k RMB) 有沒有哪位實(shí)際用過(guò)這兩種環(huán)境 , 都給個(gè)評(píng)價(jià) |
|
| 14樓: | >>參與討論 |
| 作者: xplore 于 2006/9/20 12:25:00 發(fā)布:
據(jù)我所知,樓主賣的配套仿真器是ARMice 說(shuō)出來(lái)不是很丟人的事, 瞞著不說(shuō)就不地道了 |
|
| 15樓: | >>參與討論 |
| 作者: solider 于 2006/9/20 13:09:00 發(fā)布:
SldView + ARMice SldView可以連接任何支持rdi協(xié)議的仿真器,不光是ARMice仿真器. 不要以為只有臺(tái)灣佬才能開發(fā)出這樣的軟件而小瞧大陸的公司。 SldView沒有任何抄襲linuxview的嫌疑,完全是國(guó)內(nèi)公司自助研發(fā)的。 有源代碼為證。 SldView的軟件界面是采用bcglib庫(kù)做的,linuxview何嘗 是不是也使用bcglib庫(kù),也有抄襲外國(guó)源代碼的嫌疑阿。 |
|
| 16樓: | >>參與討論 |
| 作者: xplore 于 2006/9/20 15:27:00 發(fā)布:
到底是不是ARMice 配套的仿真器到底是不是ARMice ,是的話是ARMice的那個(gè)版本? rdi接口的仿真器都支持 ,那么不要配套仿真器只要軟件什么價(jià)格? 留個(gè)email吧 |
|
| 17樓: | >>參與討論 |
| 作者: 龍兄 于 2006/9/21 16:36:00 發(fā)布:
我們五十所買了7套JEDI + JEDIVIEW的 我們買了好幾套,還可以,據(jù)說(shuō)ARMICE就是MICETEK出去的人做的,是嗎 我也不是托,先入為主,而且好象是JEDIVIEW先出來(lái)啊,LINUXVIEW沒有過(guò),是裝在LINUX系統(tǒng)下的嗎 |
|
| 18樓: | >>參與討論 |
| 作者: solider 于 2006/9/21 18:40:00 發(fā)布:
SldView 價(jià)格 SldView價(jià)格可以上www.jhembed.com網(wǎng)站上查看. 也可以電詢 029-88453251, 13891913882. |
|
| 19樓: | >>參與討論 |
| 作者: solider 于 2006/9/21 18:42:00 發(fā)布:
to 龍兄 JediView是不能調(diào)試linux的, linuxView可以調(diào)試arm linux. SldView可以連接Multi-ice進(jìn)行arm linux系統(tǒng)的調(diào)試. |
|
| 20樓: | >>參與討論 |
| 作者: 龍兄 于 2006/9/22 13:16:00 發(fā)布:
錯(cuò)了吧 to solider 我們買的是JEDIVIEW FOR UCLINUX的,可以調(diào)試UCLINUX啊,據(jù)說(shuō)還有JEDIVIEW FOR LINUX的,可以調(diào)試LINUX的,就是不知道LINUXVIEW和這二個(gè)有什么區(qū)別,我認(rèn)為是裝在LINUX系統(tǒng)下的 |
|
| 21樓: | >>參與討論 |
| 作者: 5i51 于 2006/9/22 15:17:00 發(fā)布:
提供一款A(yù)RM9開發(fā)板 http://www.bluemcu.com LJD-2410DVK-I開發(fā)板簡(jiǎn)介 LJD-2410DVK-I開發(fā)板采用核心板+底板的模式,核心板為6層,底板為4層。核心板接口采用DIMM-200標(biāo)準(zhǔn)連接器,并且兼容我公司出品的LJD-2410DVK-I核心板。核心板和底板的布局和走線經(jīng)過(guò)專業(yè)人士精心設(shè)計(jì),工作非?煽浚煞(wěn)定運(yùn)行在203MHz。 外設(shè)非常豐富,功能強(qiáng)大,適用于各種手持設(shè)備、消費(fèi)電子和工業(yè)控制設(shè)備的開發(fā)。 LJD-2410DVK-I開發(fā)板硬件資源: 中央處理器 ◆ CPU: 三星S3C2410A.html">S3C2410A,主頻203MHz; 外部存儲(chǔ)器 ◆ 內(nèi)存:64M字節(jié); ◆ NAND FLASH.html">FLASH:64M字節(jié)(K9F1208,用戶可自己更換為16M、32M或128M的NandFLASH.html">FLASH) 串口 ◆ 兩個(gè)三線異步串行口,波特率高達(dá)115200bps; 網(wǎng)絡(luò)接口 ◆ 一個(gè)10M網(wǎng)口,采用cs8900Q3,帶聯(lián)接和傳輸指示燈; USB接口 ◆ 兩個(gè)USB1.1 HOST接口; ◆ 一個(gè)USB1.1 DEVICE.html">DEVICE接口; 紅外通訊口 ◆ 一個(gè)IRDA紅外線數(shù)據(jù)通訊口; 音頻接口 ◆ 采用IIS接口芯片UDA1341,一路立體聲音頻輸出接口可接耳機(jī)或音箱; ◆ 支持錄音,板子自帶駐機(jī)體話筒可直接錄音,另有一路話筒輸入接口可接麥克風(fēng); 存儲(chǔ)接口 ◆ 一個(gè)SD卡接口,可接256M SD卡; ◆ 一個(gè)IDE接口(接口信號(hào)均加了74LVTH162245驅(qū)動(dòng)),可直接掛接硬盤; LCD和觸摸屏接口 ◆ 板上集成了4線電阻式觸摸屏接口的相關(guān)電路; ◆ 一個(gè)50芯LCD接口引出了LCD控制器的全部信號(hào),并且這些信號(hào)引腳都加了74LVTH162245驅(qū)動(dòng),所以LCD輸出更加穩(wěn)定可靠; ◆ 支持黑白、4級(jí)灰度、16級(jí)灰度、256色、4096色STN液晶屏,尺寸從3.5寸到12.1寸,屏幕分辨率可達(dá)到1024×768象素; ◆ 支持黑白、4級(jí)灰度、16級(jí)灰度、256色、64K色、真彩色TFT液晶屏,尺寸從3.5寸到12.1寸,屏幕分辨率可達(dá)到1024×768象素; ◆ 標(biāo)準(zhǔn)配置為三星256K色240x320/3.5英寸TFT液晶屏,帶觸摸屏; ◆ 板上引出一個(gè)5V電源輸出接口,可為大尺寸TFT液晶屏的5V CCFL背光模塊供電; 時(shí)鐘源 ◆ 內(nèi)部實(shí)時(shí)時(shí)鐘(帶有后備鋰電池); 復(fù)位電路 ◆ 一個(gè)復(fù)位按鍵,并采用專用復(fù)位芯片進(jìn)行復(fù)位,穩(wěn)定可靠; 調(diào)試及下載接口 ◆ 一個(gè)20芯MULTI-ICE標(biāo)準(zhǔn)JTAG接口,支持SDT2.51,ADS1.2等調(diào)試 ; 電源接口 ◆ 5V電源供電,帶電源開關(guān)和指示燈; 其他 ◆ 八個(gè)小按鍵; ◆ 一個(gè)蜂鳴器(帶使能控制的短路塊); ◆ 一個(gè)50芯2毫米間距雙排標(biāo)準(zhǔn)連接器用作擴(kuò)展口,引出了地址線、數(shù)據(jù)線、讀寫、片選、中斷、IO口、ADC、5V和3.3V電源、地等用戶擴(kuò)展可能用到的信號(hào); 操作系統(tǒng) ◆ 支持linux和WINCE4.2.NET 用戶光盤上提供的開發(fā)工具和源代碼: 1) ADS1.20安裝程序(評(píng)估版); 2) 使用SUPERJTAG并支持ADS1.20的JTAG調(diào)試軟件ARMJTAGDEBUGFINAL; 3) 燒寫FLASH的工具軟件; 4) 串口工具軟件sscom32.exe、dnw.exe、tftp.exe; 5) 64K色(RGB565)圖片字模軟件; 6) USB DEVICE.html">DEVICE接口驅(qū)動(dòng)程序; 7) BIOS源代碼(ADS1.20的項(xiàng)目文件); 8)測(cè)試程序(ADS1.20的項(xiàng)目文件,包含全部源代碼),包括如下測(cè)試: RTC實(shí)時(shí)時(shí)鐘測(cè)試、按鍵測(cè)試(中斷測(cè)試)、蜂鳴器測(cè)試、SD卡讀寫測(cè)試、音頻錄音放音測(cè)試、蜂鳴器測(cè)試(PWM測(cè)試)、ADC模數(shù)轉(zhuǎn)換器測(cè)試、IIS音頻播放wav音樂測(cè)試、IIS音頻錄音測(cè)試、IrDA紅外測(cè)試和、觸摸屏測(cè)試、3.5寸三星TFT液晶屏測(cè)試; 9) Linux for S3C2410.html">S3C2410內(nèi)核源碼包以及編譯工具,含cs8900端口驅(qū)動(dòng),UART驅(qū)動(dòng)USB HOST & DEVICE驅(qū)動(dòng); 10) WINCE4.2.NET板級(jí)支持包BSP for S3C2410.html">S3C2410; 11) 已經(jīng)編譯好并可在LJD-2410DVK-I上運(yùn)行的wince內(nèi)核,基于藍(lán)海微芯提供的BSP; 12)SAMSUNG半導(dǎo)體網(wǎng)站關(guān)于S3C2410的全部資料和參考代碼; 13) 核心板和底板電路原理圖(pdf格式); 14) 開發(fā)板使用手冊(cè)(pdf格式); 15) 開發(fā)板上所用到的全部芯片手冊(cè)、資料; 16)ADS使用、DNW串口使用和超級(jí)終端配置的一些多媒體演示; LJD-2410DVK-I套件包括: 一塊已測(cè)試好的LJD-2410DVK-I開發(fā)板(包括LJD-2410DVK-I核心板與底板) 可選配件:CT35T LCD,CT64T LCD,CT80T LCD,CT104T LCD LJD-2410DVK-I用戶光盤 一個(gè)SUPER JTAG調(diào)試頭(帶20芯排線) 一條并口線(一邊是公頭一邊是母頭,一對(duì)一) 一條串口線(兩邊都是母頭,交叉串口線) 一條網(wǎng)線(交叉網(wǎng)線線) USB線一條 觸摸筆一支 一個(gè)+5V直流電源 一個(gè)包裝盒 |
|
|
|
| 免費(fèi)注冊(cè)為維庫(kù)電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |