|
|||||||||||
| 技術交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術 | 電源技術 | 測控之家 | EMC技術 | ARM技術 | EDA技術 | PCB技術 | 嵌入式系統(tǒng) 驅動編程 | 集成電路 | 器件替換 | 模擬技術 | 新手園地 | 單 片 機 | DSP技術 | MCU技術 | IC 設計 | IC 產業(yè) | CAN-bus/DeviceNe |
本人電子專業(yè)畢業(yè)偏硬件,想高手指點,嵌入式入門 |
| 作者:laijie_991 欄目:嵌入式系統(tǒng) |
我畢業(yè)2年,主要從事硬件電路設計,但是就驅動一塊,需要軟件配合。 但是有些軟件人員對硬件了解不是特別多,溝通起來有點困難,所以想 驅動一塊一個人搞定。本人通過了程序員考試,有一定的軟件編程能力, 同時學校里面51系統(tǒng)等基本玩的轉。但是對linux系統(tǒng)不是特別了解。 |
| 2樓: | >>參與討論 |
| 作者: highend 于 2005/11/27 15:53:00 發(fā)布:
買個開發(fā)板,例如2410,深入理解 所有模塊 就成高手了。 |
|
| 3樓: | >>參與討論 |
| 作者: gdtyy 于 2005/11/28 14:34:00 發(fā)布:
看書 《Linux DEVICE Driver,2rd Edition》 《Linux DEVICE Driver,3rd Edition》 有電子版下載。 若對linux系統(tǒng)不是特別了解,最好還是先熟悉一下Linux環(huán)境,例如:背熟基本指令,了解權限觀念,目錄結構,基本技巧(TAB補全、歷史記錄等),常用軟件(vi、tar等)。 初學者可以利用VMware虛擬機安裝Linux系統(tǒng),學習從源碼制作內核,安裝交叉編譯工具鏈,因為驅動程序經常要與內核和工具匹配。 熟悉內核配置,makefile腳本,GCC擴展語法,(可選:AT&T匯編寫法),gdb調試方法等。因為驅動要用到GCC擴展功能,有時還要編譯到內核。 基本熟悉以上內容后,就可以開始學習驅動開發(fā)了。Linux將一切看成“文件”,設備分成字符設備、塊設備、網絡設備三種。應主要了解文件和設備驅動是如何聯(lián)系在一起的,文件操作如何對應驅動操作,重要的數(shù)據(jù)結構,三種設備之間的區(qū)別和實現(xiàn)機制,了解read、write、ioctl的用法等。更近一步,學習同步、異步、多數(shù)據(jù)源阻塞等高級內容。 課堂上最容易問到的問題是內存操作,物理/邏輯地址轉換,如何分配大塊內存?如何分配DMA內存?在中斷里如何分配內存?如何關聯(lián)內核態(tài)和用戶態(tài)內存?...實際使用中,內存部分是個地雷陣,出錯最多。其實,驅動開發(fā)的大部分內容是內存變來變去,理解了內存處理,驅動就不太難寫了。 驅動中的延遲和定時操作調用相應API,注意效率和精度即可。中斷操作盡量短,少部分重要操作在中斷里完成,大部分內容放在tasklet延遲隊列中稍后處理。這是商業(yè)化驅動中可能用到的內容。 USB驅動在Linux中支持得很完備,嵌入式相關部分參看OHCI、EHCI。加上讀卡器,連SD卡也支持了。要不說學Linux值呢! Framebuffer是關于視頻部分的內容,大多數(shù)使用硬件加速器,需要廠家支持。 綜上,驅動開發(fā)不難,但是內容比較多,需要較長時間學習,而且實踐操作非常重要。買個2410開發(fā)板(社區(qū)已有移植好的Linux源碼),找人一起學是個捷徑。 |
|
| 4樓: | >>參與討論 |
| 作者: laijie_991 于 2005/11/29 22:18:00 發(fā)布:
謝謝,目前在做機頂盒。 環(huán)境還可以。只是本人搞硬件,有時候要和軟件配合,所以想多了解一些。 |
|
| 5樓: | >>參與討論 |
| 作者: newcarron 于 2005/11/30 0:45:00 發(fā)布:
gdtyy說得真好啊!頂!! |
|
| 6樓: | >>參與討論 |
| 作者: xiyu827 于 2005/11/30 8:58:00 發(fā)布:
linux程序的S3C2440的開發(fā)板 Linux軟件特性 類別 功能特性 說 明 VIVI bootloader 啟動系統(tǒng)(可以設置啟動時間) Xmodem 支持Xmodem傳輸協(xié)議 Update FLASH 支持更新FLASH Set Kernel Parameter 支持設置內核參數(shù) Set Partation 支持設置分區(qū) etc. 其他 內核 Linux kernel 2.4.18(三星兼容) 支持ROM/CRAM/EXT2/FAT32/NFS等文件 系統(tǒng) ROM/CRAM/EXT2/FAT32/NFS file syst 支持ROM/CRAM/EXT2/FAT32/NFS等文 件系統(tǒng) 驅動支持 SYSTEM Interrupt & Timer Driver 系統(tǒng)中斷和系統(tǒng)時鐘驅動 Serial DEVICE driver 三個串口驅動(2UART,1 Irda) Block MEMORY DEVICE driver 塊設備驅動(包括IDE硬盤,CF卡) FLASH MEMORY DEVICE driver Nand FLASH驅動 10/100M Ethernet DEVICE driver 10/100M以太網卡驅動(DM9000) RTC (Real Time Clock) Driver 實時時鐘驅動 USB Host driver USB Host驅動 USB Slave USB Slave驅動 LEDS LEDS燈驅動 Many Country Language SUPPORT 國際化支持 LCD 液晶(LCD)驅動 Frame Buffer Frame Buffer 網絡協(xié)議 TCP/IP 完整的TCP/IP協(xié)議 及網絡應 Telnet Server Telnet服務器 用程序 File transfer (FTP client / server) FTP傳輸服務(包括登錄和服務器) Remote login (telnet) Telnet遠程登錄 系統(tǒng)升級 Console & FTP 在控制臺下使用FTP升級系統(tǒng) Online 在線升級 配置系統(tǒng) Local console through RS232 and 通過串口控制臺或telnet遠程登錄 和服務 remote telnet configuration and 配置系統(tǒng) management(SAMPLE ONLY) Network ping 使用ping檢查系統(tǒng) Ifconfig, route, inetd 提供ifconfig, route,inetd等網絡 配置和服務程序 login, sh, echo, discard 登錄和其他程序 基本工具 cat, chmod, discard, echo, flashfsd, flashwrite, free, genhtml, hostname, init, kill, loader, ls, mkdir, mount, Linux常用命令 ps, reboot, rm, smanaged, sysconf, yes, insmod, lsmod, rmmod 圖形界面 QT/EMBEDED &nb |
|
| 7樓: | >>參與討論 |
| 作者: money2326 于 2005/11/30 10:23:00 發(fā)布:
好貼 受用!。! |
|
| 8樓: | >>參與討論 |
| 作者: laijie_991 于 2005/11/30 19:52:00 發(fā)布:
目前我們用的芯片是IBM的powerpc405 串口,網卡,硬盤已經調通。 目前在搞USB的。 想問大哥們一個問題: LINUX的文件格式是EXT2的,優(yōu)盤等是FAT格式的,這樣可以互相導文件嗎? LINUX的還有SWAP格式,但是在WINDOWS下有FAT,F(xiàn)AT32,NTFS等文件格式, 按照道理是可以的。我不太清楚,需要指教。 我一臺電腦裝了一個2000系統(tǒng),一個虛擬的LINUX,如何實現(xiàn)兩個系統(tǒng)之間的 文件相互導???? |
|
| 9樓: | >>參與討論 |
| 作者: laijie_991 于 2005/11/30 20:11:00 發(fā)布:
我的一點理解。 我原來學過單片機,也用過KEIL C編譯環(huán)境 用過AT89C51,AT89C52,W78E58等芯片。 只不過KEIL C的編譯環(huán)境有人幫我們做好了,而LINUX下編譯需要有專門的GCC 而且都處于命令行格式。 AT89C51,AT89C52,W78E58等芯片就對應于POWERPC,MIPS,ARM等 跟硬件有關的就是需要一個對應于該硬件資源的編譯器。 最后形成2進制代碼,通過JTAG等方式下載。 |
|
| 10樓: | >>參與討論 |
| 作者: qjy_dali 于 2005/12/2 19:37:00 發(fā)布:
自己對自己設計一下,動起來 |
|
| 11樓: | >>參與討論 |
| 作者: ctguprobe 于 2005/12/2 20:25:00 發(fā)布:
多交流! |
|
| 12樓: | >>參與討論 |
| 作者: Angevil 于 2005/12/3 13:50:00 發(fā)布:
RE 看后很有感觸啊 |
|
| 13樓: | >>參與討論 |
| 作者: laijie_991 于 2005/12/3 19:50:00 發(fā)布:
看來大家對嵌入式都比較關注。 嵌入式是一個發(fā)展趨勢。 目前從最簡單的linux的命令開始學起。 vi等命令。 我目前用SSH軟件在調試。 我想問一下,服務器通過tftp把代碼傳到調試主機,那怎么來設定下栽的內容, 也就是說下哪些文件的是在哪個文件里指定的?? 服務器上給我開了一個網卡的硬件地址,同時調試主機也設定相應的硬件地址, 這樣保證同一網絡中不會有相互沖突的網卡硬件地址,保證下載的內容準確的傳 到相應的調試主機。 target里面指定的了什么內容?? 編譯一個相應的img文件需要哪里相關的文件,比如說.def,.o,什么的?? 也就是說FLASH大小,SDRAM的大小,以及包括哪種類型的網卡驅動,應用程序等?? |
|
| 14樓: | >>參與討論 |
| 作者: reky 于 2005/12/5 23:43:00 發(fā)布:
本人也和樓主有點類似 本人也是畢業(yè)后搞了三年的硬件開發(fā),現(xiàn)在也想轉到嵌入式系統(tǒng)開發(fā),本人對LINUX還算比較熟悉,也斷斷續(xù)續(xù)玩了五六年了,平時的家庭電腦使用大都是基于LINUX系統(tǒng)的,源碼分析也似懂非懂的看過一些,C語言還算比較熟悉,驅動也算有點了解,主要還是沒做過這方面的項目。現(xiàn)在平時對著教材學習學了幾天覺的流程概念比較清楚了又不能堅持下去了,結果很難提高自己的項目開發(fā)經驗 |
|
| 15樓: | >>參與討論 |
| 作者: 張桅 于 2005/12/6 11:41:00 發(fā)布:
都講的挺好! |
|
| 16樓: | >>參與討論 |
| 作者: laijie_991 于 2005/12/6 11:59:00 發(fā)布:
reky你好,我有機會學。 我是一個非常要強的人,有的時候問軟件人員, 不知道是他們不肯說還是太簡單了,還是他們本來就不知道為什么? 求人不如求己。 我覺得硬件和軟件結合的人比較難找,強的更少。 因為目前有硬件的基礎,軟件自覺得也不錯,學校里面搞51的游戲什么的 還得過獎,我覺得憑我的能力應該也可以搞定就是沒有好的朋友指點。 qq:156187368 mail:laijie_991@eyou.com 大哥提供幾個linux的強壇。謝謝 |
|
| 17樓: | >>參與討論 |
| 作者: gdtyy 于 2005/12/7 13:48:00 發(fā)布:
多在論壇上轉轉比自己琢磨快 Linux使用虛擬文件系統(tǒng)VFS結構,支持很多種文件格式,配置內核的時候,你可以看到具體支持的文件類型。你說的這些格式,Linux全都支持。用“mount -t 文件格式 分區(qū) 掛裝目錄”掛載后就可以訪問了。例如:“mount -t ext2 /dev/hda0 /mnt/tmp”,-t選項不是必須的,Linux一般可以自動檢測分區(qū)類型。 兩個不同操作系統(tǒng)之間傳遞文件最好使用網絡文件系統(tǒng),如:網上鄰居、FTP等,他們可以屏蔽OS差異。VmWare有四種網卡虛擬方式,你可以選擇最簡單的BRIDGE方式,修改WIN注冊表取消媒介探測功能,這樣不插網線也能工作。在Linux上安裝Samba,在Windows里就可以訪問共享目錄;或者在LINUX中配置FTP服務器,從windows中訪問。 你可以telnet到Linux上操作,用ulteredit直接編寫修改源文件。tftp服務器可以配置下載目錄,目標板主動請求文件(如用UBOOT)。 www.armecos.com文章中心有《Red Hat Linux 9.0服務器架設全程實錄》、《linux網址精選》 |
|
| 18樓: | >>參與討論 |
| 作者: qjy_dali 于 2005/12/7 18:50:00 發(fā)布:
動手是關鍵,還要參考別人的代碼啊 |
|
| 19樓: | >>參與討論 |
| 作者: laijie_991 于 2005/12/7 20:13:00 發(fā)布:
gdtyy說的非常好,我試試看 。 |
|
| 20樓: | >>參與討論 |
| 作者: laijie_991 于 2005/12/8 9:30:00 發(fā)布:
reky 多謝reky了,這么多的論壇有很長時間好看了。 有些以前去,有些現(xiàn)在就在看,有些沒有去過,非常感謝reky。 男兒當自強。共勉。 |
|
| 21樓: | >>參與討論 |
| 作者: 全力以赴 于 2006/3/3 16:24:00 發(fā)布:
看書 |
|
| 22樓: | >>參與討論 |
| 作者: husteiraul 于 2007/1/18 14:02:00 發(fā)布:
經歷跟我比較類似 |
|
|
|
| 免費注冊為維庫電子開發(fā)網會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |