資料介紹
近年處理器技術(shù)發(fā)展速度加快,嵌入式領(lǐng)域發(fā)生了翻天覆地的變化。特別是網(wǎng)絡的普及,消費電子異軍突起,嵌入式與互聯(lián)網(wǎng)成為最熱門的技術(shù)。在所有操作系統(tǒng)中,Linux是發(fā)展很快、應用很廣泛的一種操作系統(tǒng)。Linux的開放性以及其他優(yōu)秀特性使其成為嵌入式系統(tǒng)開發(fā)的首選。
嵌入式系統(tǒng)開發(fā)所面臨的問題
嵌入式軟件開發(fā)有別于桌面軟件系統(tǒng)開發(fā)的一個顯著的特點是,一般需要一個交叉編譯和調(diào)試環(huán)境,即編輯和編譯軟件在主機上進行,編譯好的軟件需要下載到目標機上運行 ,主機和目標機之間建立起通訊連接,并傳輸調(diào)試命令和數(shù)據(jù)。由于主機和目標機往往運行著不同的操作系統(tǒng),而且處理器的體系結(jié)構(gòu)也彼此不同,這就提高了嵌入式開發(fā)的復雜性。
總的來說,嵌入式開發(fā)所面臨的問題主要表現(xiàn)在以下幾個方面。
涉及多種CPU 及多種OS
嵌入式的CPU或處理器包括MIPS、PPC、ARM,XScale等不同的架構(gòu),這些處理器上運行的操作系統(tǒng)也有VxWorks、Linux、μC/OS、WinCE等多種。在一個企業(yè)之內(nèi),可能會同時使用好幾種處理器,甚至幾種嵌入式操作系統(tǒng)。如果需要同時調(diào)試多種類型的電路板,那復雜性是可想而知的。這也是我們選用瑞士Abatron公司的BDI2000的原因之一,它是一款功能強大的JTAG/BDM通用仿真器。它支持:PPC/MIPS/ARM/XSCALE/ CPU12/CPU32/M-CORE/ColdFire等多種處理器,支持Windows/Linux系統(tǒng)平臺,以及多種第三方調(diào)試器,并且對Flash的燒寫也很簡單方便。
開發(fā)工具種類繁多
通常各種操作系統(tǒng)有各自的開發(fā)工具,在同一系統(tǒng)下開發(fā)的不同階段也會應用不同的開發(fā)工具。如在用戶的目標板開發(fā)初期,需要硬件仿真器來調(diào)試硬件系統(tǒng)和基本的引導程序,然后進行操作系統(tǒng)及驅(qū)動程序的開發(fā)調(diào)試。在調(diào)試應用程序階段可以使用交互式的開發(fā)環(huán)境進行軟件調(diào)試,在測試階段需要一些專門的測試工具軟件進行功能和性能的測試。在生產(chǎn)階段需要固化程序及出廠檢測等等。BDI2000可以適應開發(fā)的各個階段,節(jié)約企業(yè)的支出和簡化管理難度。
對目標系統(tǒng)的觀察和控制
由于嵌入式硬件系統(tǒng)千差萬別,軟件模塊和系統(tǒng)資源也多種多樣,要使系統(tǒng)能正常工作,軟件開發(fā)者必須要對目標系統(tǒng)具有完全的觀察和控制能力,例如硬件的各種寄存器、內(nèi)存空間、操作系統(tǒng)的信號量、消息隊列、任務、堆棧等。
此外,嵌入式系統(tǒng)變化更新比較快,對開發(fā)時間要求比較緊,需要一套功能強大的嵌入式軟件集成開發(fā)工具,用于嵌入式軟件開發(fā)的各個階段。美國 Ultimate Solution公司的LinuxScope-JTD調(diào)試器是一個很好的選擇,它專門用于配合BDI2000仿真器,特點是基于Eclipse的集成開發(fā)環(huán)境和插件技術(shù);提供腳本定制功能實現(xiàn)目標機的特殊操作;提供Linux內(nèi)核調(diào)試功能,容易修改和觀察硬件寄存器;增強的MI接口可識別硬件斷點及模塊跟蹤;具有標準調(diào)試特性;支持Linux應用程序的開發(fā);以及Windows/Linux系統(tǒng)平臺。
嵌入式Linux內(nèi)核的調(diào)試
編譯內(nèi)核
本文所調(diào)試的是MontaVista Linux,硬件是Intel Xscale PXA250。它擁有超過兩千多用戶和眾多的MontaVista Linux產(chǎn)品在市場上銷售,覆蓋從智能手機、高清電視、機器人、無線網(wǎng)絡設(shè)備到3G電信服務器等各種嵌入式應用。MontaVista Linux本身就是用BDI2000來開發(fā)調(diào)試的。
進入內(nèi)核源碼目錄下,即可配置完成相關(guān)選項并準備編譯。配置時不要選中KGDB(軟件基內(nèi)核調(diào)試),否則會和BDI2000沖突。為了調(diào)試內(nèi)核,需要在編譯時加入調(diào)試信息,否則將無法看到源代碼。修改內(nèi)核源碼根目錄下的Makefile,在CFLAGS宏定義的末尾添加“–ggdb”選項,保存退出。這里加上gdb是為了更好的使代碼適合gdb調(diào)試器,另外注意Makefile中的優(yōu)化設(shè)置,有些時候優(yōu)化會調(diào)整代碼執(zhí)行的順序,在內(nèi)核的調(diào)試階段,不要加入優(yōu)化選項。
內(nèi)核調(diào)試
首先,配置BDI2000,確保目標機的正常初始化。通常來說,到了調(diào)試內(nèi)核的階段,電路板的boot程序應該是正常的,可以利用boot來完成目標機的初始化;另一種方式是通過BDI的配置文件來完成。
接下來就是下載代碼進行調(diào)試。如果代碼已經(jīng)固化,那僅下載調(diào)試信息給仿真器即可;否則需要把代碼下載到RAM里運行,同時下載調(diào)試信息給仿真器。本文所用的是后一種方式。
由于Linux運行之后會啟動MMU而使地址重映射,因此第一個斷點通常在函數(shù)start_kernel( ),而且只能設(shè)置為硬斷點。硬件斷點是非常有限的,有的處理器甚至只能設(shè)置一個。所以,在調(diào)試Linux內(nèi)核時,使用普通的GDB進行斷點設(shè)置會非常不方便。LinuxScope可以很方便的切換斷點模式,并支持軟斷點,使斷點的設(shè)置不再受到限制,為調(diào)試Linux內(nèi)核提供強有力的支持。具體步驟如下:
1) BDI配置文件的斷點模式:soft
2) LinuxScope配置默認的斷點模式:soft /hard 都可以
3) 用BDI下載壓縮的內(nèi)核:load 0x20000 zImage bin
4) 把PC指針指到內(nèi)核入口地址:ti 0x30000
5) 運行LinuxScope,在start_kernel處設(shè)置硬件斷點
6) go,停下來后再設(shè)置軟斷點即可
模塊內(nèi)核的調(diào)試
我們使用BDI2000來調(diào)試Linux內(nèi)核的另外一個重要原因,就是它可以支持調(diào)試內(nèi)核模塊。內(nèi)核模塊是一些可以讓操作系統(tǒng)內(nèi)核在需要時載入和執(zhí)行的代碼,這意味著它可以在不需要時由操作系統(tǒng)卸載。這種方式可以擴展操作系統(tǒng)內(nèi)核的功能,而不需要重新啟動系統(tǒng),這一點對調(diào)試驅(qū)動程序的工程師特別有用。因為如果驅(qū)動程序編譯進內(nèi)核的話,會增加內(nèi)核的大小,還要改動內(nèi)核的源文件,而且不能動態(tài)的卸載,不利于調(diào)試,所以推薦使用模塊方式。
調(diào)試Linux 2.4內(nèi)核模塊
Linux 2.4內(nèi)核模塊的調(diào)試比較簡單,使用命令“insmod -m”來加載模塊。參數(shù)“-m”非常重要,它的功能是在把模塊加載到內(nèi)存時產(chǎn)生一個加載map表。然后通過LinuxScope調(diào)試器加載相應的調(diào)試信息。例如:
[root@lisl tmp]# insmod -m hello.o 》modaddr
查看模塊的加載信息文件modaddr如下:
.this 00000060 c88d8000 2**2
.text 00000035 c88d8060 2**2
.rodata 00000069 c88d80a0 2**5
……
.data 00000000 c88d833c 2**2
.bss 00000000 c88d833c 2**2
……
在這些信息中,我們用到的只有.text、.rodata、.data、.bss。當然,把相關(guān)的信息輸入LinuxScope調(diào)試器,它會把以上地址信息加入到gdb中進行模塊功能的調(diào)試。
這里需要注意的是對模塊進行編譯時,也需要增加“-g”選項。
另外,這種方法也存在一定的不足,它不能調(diào)試模塊初始化的代碼,因為此時模塊初始化代碼已經(jīng)執(zhí)行過了。如果初始化部分有問題,那么將無法進行調(diào)試。遇到這樣的情況可以修改代碼,延遲初始化部分的執(zhí)行。另外,也可以采用以下替代方法:當插入內(nèi)核模塊時,內(nèi)核模塊機制將調(diào)用函數(shù)sys_init_module (kernel/modle.c)執(zhí)行對內(nèi)核模塊的初始化。程序代碼片斷如下:
……
if (mod-》init != NULL)
ret = mod-》init();
……
在該語句上設(shè)置斷點,也能在執(zhí)行模塊初始化之前停下來。
調(diào)試Linux 2.6內(nèi)核模塊
在Linux 2.6內(nèi)核系統(tǒng)中,由于module-init-tools工具的更改,insmod命令不再支持-m參數(shù),只有采取其他的方法來獲取模塊加載到內(nèi)核的地址。
比較簡單的方式是修改內(nèi)核配置文件,使系統(tǒng)支持CONFIG_KALLSYMS,這樣就可以把相關(guān)的符號信息放到目錄/sys下,然后通過LinuxScope調(diào)試器加載相應的調(diào)試信息。通過在模塊初始化函數(shù)中放置一下代碼,也可以獲得模塊加載到內(nèi)存中的地址,只是這樣要麻煩一些。
應用程序的調(diào)試
到了應用程序調(diào)試的階段,仿真器就可以“功成身退”了,剩下的調(diào)試任務就由LinuxScope調(diào)試器來獨自完成。此時只要在目標系統(tǒng)中啟動“gdbserver”,調(diào)試應用程序非常的方便。
結(jié)語
面向行業(yè)、應用和設(shè)備的嵌入式Linux工具軟件和嵌入式Linux操作系統(tǒng)平臺是未來發(fā)展的必然趨勢。跟蹤Linux的發(fā)展,符合標準,遵循開放是大勢所趨,嵌入式Linux也不例外。Linux調(diào)試技術(shù)的進步為Linux在嵌入式領(lǐng)域的應用廣泛性提供了保證。本文所講述的仿真器技術(shù)和調(diào)試器技術(shù)可以極大的提高開發(fā)者的效率。
?
嵌入式系統(tǒng)開發(fā)所面臨的問題
嵌入式軟件開發(fā)有別于桌面軟件系統(tǒng)開發(fā)的一個顯著的特點是,一般需要一個交叉編譯和調(diào)試環(huán)境,即編輯和編譯軟件在主機上進行,編譯好的軟件需要下載到目標機上運行 ,主機和目標機之間建立起通訊連接,并傳輸調(diào)試命令和數(shù)據(jù)。由于主機和目標機往往運行著不同的操作系統(tǒng),而且處理器的體系結(jié)構(gòu)也彼此不同,這就提高了嵌入式開發(fā)的復雜性。
總的來說,嵌入式開發(fā)所面臨的問題主要表現(xiàn)在以下幾個方面。
涉及多種CPU 及多種OS
嵌入式的CPU或處理器包括MIPS、PPC、ARM,XScale等不同的架構(gòu),這些處理器上運行的操作系統(tǒng)也有VxWorks、Linux、μC/OS、WinCE等多種。在一個企業(yè)之內(nèi),可能會同時使用好幾種處理器,甚至幾種嵌入式操作系統(tǒng)。如果需要同時調(diào)試多種類型的電路板,那復雜性是可想而知的。這也是我們選用瑞士Abatron公司的BDI2000的原因之一,它是一款功能強大的JTAG/BDM通用仿真器。它支持:PPC/MIPS/ARM/XSCALE/ CPU12/CPU32/M-CORE/ColdFire等多種處理器,支持Windows/Linux系統(tǒng)平臺,以及多種第三方調(diào)試器,并且對Flash的燒寫也很簡單方便。
開發(fā)工具種類繁多
通常各種操作系統(tǒng)有各自的開發(fā)工具,在同一系統(tǒng)下開發(fā)的不同階段也會應用不同的開發(fā)工具。如在用戶的目標板開發(fā)初期,需要硬件仿真器來調(diào)試硬件系統(tǒng)和基本的引導程序,然后進行操作系統(tǒng)及驅(qū)動程序的開發(fā)調(diào)試。在調(diào)試應用程序階段可以使用交互式的開發(fā)環(huán)境進行軟件調(diào)試,在測試階段需要一些專門的測試工具軟件進行功能和性能的測試。在生產(chǎn)階段需要固化程序及出廠檢測等等。BDI2000可以適應開發(fā)的各個階段,節(jié)約企業(yè)的支出和簡化管理難度。
對目標系統(tǒng)的觀察和控制
由于嵌入式硬件系統(tǒng)千差萬別,軟件模塊和系統(tǒng)資源也多種多樣,要使系統(tǒng)能正常工作,軟件開發(fā)者必須要對目標系統(tǒng)具有完全的觀察和控制能力,例如硬件的各種寄存器、內(nèi)存空間、操作系統(tǒng)的信號量、消息隊列、任務、堆棧等。
此外,嵌入式系統(tǒng)變化更新比較快,對開發(fā)時間要求比較緊,需要一套功能強大的嵌入式軟件集成開發(fā)工具,用于嵌入式軟件開發(fā)的各個階段。美國 Ultimate Solution公司的LinuxScope-JTD調(diào)試器是一個很好的選擇,它專門用于配合BDI2000仿真器,特點是基于Eclipse的集成開發(fā)環(huán)境和插件技術(shù);提供腳本定制功能實現(xiàn)目標機的特殊操作;提供Linux內(nèi)核調(diào)試功能,容易修改和觀察硬件寄存器;增強的MI接口可識別硬件斷點及模塊跟蹤;具有標準調(diào)試特性;支持Linux應用程序的開發(fā);以及Windows/Linux系統(tǒng)平臺。
嵌入式Linux內(nèi)核的調(diào)試
編譯內(nèi)核
本文所調(diào)試的是MontaVista Linux,硬件是Intel Xscale PXA250。它擁有超過兩千多用戶和眾多的MontaVista Linux產(chǎn)品在市場上銷售,覆蓋從智能手機、高清電視、機器人、無線網(wǎng)絡設(shè)備到3G電信服務器等各種嵌入式應用。MontaVista Linux本身就是用BDI2000來開發(fā)調(diào)試的。
進入內(nèi)核源碼目錄下,即可配置完成相關(guān)選項并準備編譯。配置時不要選中KGDB(軟件基內(nèi)核調(diào)試),否則會和BDI2000沖突。為了調(diào)試內(nèi)核,需要在編譯時加入調(diào)試信息,否則將無法看到源代碼。修改內(nèi)核源碼根目錄下的Makefile,在CFLAGS宏定義的末尾添加“–ggdb”選項,保存退出。這里加上gdb是為了更好的使代碼適合gdb調(diào)試器,另外注意Makefile中的優(yōu)化設(shè)置,有些時候優(yōu)化會調(diào)整代碼執(zhí)行的順序,在內(nèi)核的調(diào)試階段,不要加入優(yōu)化選項。
內(nèi)核調(diào)試
首先,配置BDI2000,確保目標機的正常初始化。通常來說,到了調(diào)試內(nèi)核的階段,電路板的boot程序應該是正常的,可以利用boot來完成目標機的初始化;另一種方式是通過BDI的配置文件來完成。
接下來就是下載代碼進行調(diào)試。如果代碼已經(jīng)固化,那僅下載調(diào)試信息給仿真器即可;否則需要把代碼下載到RAM里運行,同時下載調(diào)試信息給仿真器。本文所用的是后一種方式。
由于Linux運行之后會啟動MMU而使地址重映射,因此第一個斷點通常在函數(shù)start_kernel( ),而且只能設(shè)置為硬斷點。硬件斷點是非常有限的,有的處理器甚至只能設(shè)置一個。所以,在調(diào)試Linux內(nèi)核時,使用普通的GDB進行斷點設(shè)置會非常不方便。LinuxScope可以很方便的切換斷點模式,并支持軟斷點,使斷點的設(shè)置不再受到限制,為調(diào)試Linux內(nèi)核提供強有力的支持。具體步驟如下:
1) BDI配置文件的斷點模式:soft
2) LinuxScope配置默認的斷點模式:soft /hard 都可以
3) 用BDI下載壓縮的內(nèi)核:load 0x20000 zImage bin
4) 把PC指針指到內(nèi)核入口地址:ti 0x30000
5) 運行LinuxScope,在start_kernel處設(shè)置硬件斷點
6) go,停下來后再設(shè)置軟斷點即可
模塊內(nèi)核的調(diào)試
我們使用BDI2000來調(diào)試Linux內(nèi)核的另外一個重要原因,就是它可以支持調(diào)試內(nèi)核模塊。內(nèi)核模塊是一些可以讓操作系統(tǒng)內(nèi)核在需要時載入和執(zhí)行的代碼,這意味著它可以在不需要時由操作系統(tǒng)卸載。這種方式可以擴展操作系統(tǒng)內(nèi)核的功能,而不需要重新啟動系統(tǒng),這一點對調(diào)試驅(qū)動程序的工程師特別有用。因為如果驅(qū)動程序編譯進內(nèi)核的話,會增加內(nèi)核的大小,還要改動內(nèi)核的源文件,而且不能動態(tài)的卸載,不利于調(diào)試,所以推薦使用模塊方式。
調(diào)試Linux 2.4內(nèi)核模塊
Linux 2.4內(nèi)核模塊的調(diào)試比較簡單,使用命令“insmod -m”來加載模塊。參數(shù)“-m”非常重要,它的功能是在把模塊加載到內(nèi)存時產(chǎn)生一個加載map表。然后通過LinuxScope調(diào)試器加載相應的調(diào)試信息。例如:
[root@lisl tmp]# insmod -m hello.o 》modaddr
查看模塊的加載信息文件modaddr如下:
.this 00000060 c88d8000 2**2
.text 00000035 c88d8060 2**2
.rodata 00000069 c88d80a0 2**5
……
.data 00000000 c88d833c 2**2
.bss 00000000 c88d833c 2**2
……
在這些信息中,我們用到的只有.text、.rodata、.data、.bss。當然,把相關(guān)的信息輸入LinuxScope調(diào)試器,它會把以上地址信息加入到gdb中進行模塊功能的調(diào)試。
這里需要注意的是對模塊進行編譯時,也需要增加“-g”選項。
另外,這種方法也存在一定的不足,它不能調(diào)試模塊初始化的代碼,因為此時模塊初始化代碼已經(jīng)執(zhí)行過了。如果初始化部分有問題,那么將無法進行調(diào)試。遇到這樣的情況可以修改代碼,延遲初始化部分的執(zhí)行。另外,也可以采用以下替代方法:當插入內(nèi)核模塊時,內(nèi)核模塊機制將調(diào)用函數(shù)sys_init_module (kernel/modle.c)執(zhí)行對內(nèi)核模塊的初始化。程序代碼片斷如下:
……
if (mod-》init != NULL)
ret = mod-》init();
……
在該語句上設(shè)置斷點,也能在執(zhí)行模塊初始化之前停下來。
調(diào)試Linux 2.6內(nèi)核模塊
在Linux 2.6內(nèi)核系統(tǒng)中,由于module-init-tools工具的更改,insmod命令不再支持-m參數(shù),只有采取其他的方法來獲取模塊加載到內(nèi)核的地址。
比較簡單的方式是修改內(nèi)核配置文件,使系統(tǒng)支持CONFIG_KALLSYMS,這樣就可以把相關(guān)的符號信息放到目錄/sys下,然后通過LinuxScope調(diào)試器加載相應的調(diào)試信息。通過在模塊初始化函數(shù)中放置一下代碼,也可以獲得模塊加載到內(nèi)存中的地址,只是這樣要麻煩一些。
應用程序的調(diào)試
到了應用程序調(diào)試的階段,仿真器就可以“功成身退”了,剩下的調(diào)試任務就由LinuxScope調(diào)試器來獨自完成。此時只要在目標系統(tǒng)中啟動“gdbserver”,調(diào)試應用程序非常的方便。
結(jié)語
面向行業(yè)、應用和設(shè)備的嵌入式Linux工具軟件和嵌入式Linux操作系統(tǒng)平臺是未來發(fā)展的必然趨勢。跟蹤Linux的發(fā)展,符合標準,遵循開放是大勢所趨,嵌入式Linux也不例外。Linux調(diào)試技術(shù)的進步為Linux在嵌入式領(lǐng)域的應用廣泛性提供了保證。本文所講述的仿真器技術(shù)和調(diào)試器技術(shù)可以極大的提高開發(fā)者的效率。
?
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 嵌入式Linux路線
- 嵌入式linux和物聯(lián)網(wǎng),嵌入式Linux或RTOS:用于物聯(lián)網(wǎng)
- 嵌入式Linux的內(nèi)核編譯
- 嵌入式linux和物聯(lián)網(wǎng),嵌入式Linux或RTOS:用于物聯(lián)網(wǎng)
- 【嵌入式】構(gòu)建嵌入式Linux系統(tǒng)(uboot、內(nèi)核、文件系統(tǒng))
- 嵌入式LINUX系統(tǒng)內(nèi)核和內(nèi)核模塊調(diào)試
- 嵌入式Linux內(nèi)核驅(qū)動開發(fā)學習路線圖
- ARM和Linux嵌入式底層內(nèi)核驅(qū)動開發(fā)經(jīng)驗 33次下載
- 嵌入式LINUX系統(tǒng)內(nèi)核和內(nèi)核模塊調(diào)試教程 21次下載
- 嵌入式Linux與物聯(lián)網(wǎng)軟件開發(fā)C語言內(nèi)核深度解析書籍的介紹
- 如何使用ARM進行嵌入式linux的系統(tǒng)設(shè)計
- 嵌入式Linux開發(fā)教程之嵌入式Linux應用開發(fā)手冊資料免費下載 12次下載
- 嵌入式Linux內(nèi)核實時性研究及改進
- 嵌入式Linux內(nèi)核調(diào)試技術(shù)的研究與實現(xiàn)
- 嵌入式Linux系統(tǒng)開發(fā)基礎(chǔ)
- 嵌入式系統(tǒng)的全面解析 3146次閱讀
- 如何實現(xiàn)嵌入式系統(tǒng)遠程調(diào)試 5077次閱讀
- Linux:QEMU調(diào)試內(nèi)核的步驟 3040次閱讀
- 嵌入式Linux啟動時間優(yōu)化的秘密之三-內(nèi)核 2391次閱讀
- 基于嵌入式Linux內(nèi)核的ARM9運行實現(xiàn)方式介紹 1475次閱讀
- 基于嵌入式軟件的JNI技術(shù)應用解析 1020次閱讀
- 從RTOS到嵌入式Linux的應用移植步驟以及相關(guān)的關(guān)鍵技術(shù)分析 3186次閱讀
- 關(guān)于嵌入式系統(tǒng)的特點和Linux內(nèi)核的實時應用分析 1037次閱讀
- 怎么才能更好的理解嵌入式操作系統(tǒng)Linux實時化技術(shù)? 1174次閱讀
- 什么是嵌入式Linux內(nèi)核調(diào)試技術(shù)?嵌入式開發(fā)又面臨著哪些問題? 1134次閱讀
- 關(guān)于嵌入式Linux操作系統(tǒng)的內(nèi)核調(diào)試技術(shù)詳解 1571次閱讀
- 嵌入式Linux內(nèi)核開發(fā)必須了解的三十道題 2676次閱讀
- 對于嵌入式沒有嵌入式軟件架構(gòu)師的詳細解析 4055次閱讀
- 嵌入式Linux的學習方法解析 3091次閱讀
- Linux內(nèi)核開發(fā)工具介紹 4641次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 2開關(guān)電源基礎(chǔ)知識
- 5.73 MB | 6次下載 | 免費
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設(shè)計
- 0.60 MB | 3次下載 | 免費
- 5基于FPGA的光纖通信系統(tǒng)的設(shè)計與實現(xiàn)
- 0.61 MB | 2次下載 | 免費
- 6基于FPGA的C8051F單片機開發(fā)板設(shè)計
- 0.70 MB | 2次下載 | 免費
- 751單片機窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費
- 8基于51單片機的RGB調(diào)色燈程序仿真
- 0.86 MB | 2次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33564次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關(guān)電源設(shè)計實例指南
- 未知 | 21548次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅(qū)動電路設(shè)計》 溫德爾著
- 0.00 MB | 6653次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537796次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191185次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183278次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多