音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網
技術交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術 | 電源技術 | 測控之家 | EMC技術 | ARM技術 | EDA技術 | PCB技術 | 嵌入式系統(tǒng)
驅動編程 | 集成電路 | 器件替換 | 模擬技術 | 新手園地 | 單 片 機 | DSP技術 | MCU技術 | IC 設計 | IC 產業(yè) | CAN-bus/DeviceNe

本人電子專業(yè)畢業(yè)偏硬件,想高手指點,嵌入式入門

作者:laijie_991 欄目:嵌入式系統(tǒng)
本人電子專業(yè)畢業(yè)偏硬件,想高手指點,嵌入式入門
我畢業(yè)2年,主要從事硬件電路設計,但是就驅動一塊,需要軟件配合。
但是有些軟件人員對硬件了解不是特別多,溝通起來有點困難,所以想
驅動一塊一個人搞定。本人通過了程序員考試,有一定的軟件編程能力,
同時學校里面51系統(tǒng)等基本玩的轉。但是對linux系統(tǒng)不是特別了解。

2樓: >>參與討論
highend
買個開發(fā)板,例如2410,深入理解 所有模塊
就成高手了。






3樓: >>參與討論
gdtyy
看書
《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
謝謝,目前在做機頂盒。
環(huán)境還可以。只是本人搞硬件,有時候要和軟件配合,所以想多了解一些。

5樓: >>參與討論
newcarron
gdtyy說得真好啊!頂!!
 
6樓: >>參與討論
xiyu827
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
好貼
受用!。!

8樓: >>參與討論
laijie_991
目前我們用的芯片是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
我的一點理解。
我原來學過單片機,也用過KEIL C編譯環(huán)境
用過AT89C51,AT89C52W78E58等芯片。
只不過KEIL C的編譯環(huán)境有人幫我們做好了,而LINUX下編譯需要有專門的GCC
而且都處于命令行格式。
AT89C51,AT89C52,W78E58等芯片就對應于POWERPC,MIPS,ARM等
跟硬件有關的就是需要一個對應于該硬件資源的編譯器。
最后形成2進制代碼,通過JTAG等方式下載。

10樓: >>參與討論
qjy_dali
自己對自己設計一下,動起來
 
11樓: >>參與討論
ctguprobe
多交流!
 
12樓: >>參與討論
Angevil
RE
看后很有感觸啊

13樓: >>參與討論
laijie_991
看來大家對嵌入式都比較關注。
嵌入式是一個發(fā)展趨勢。
目前從最簡單的linux的命令開始學起。
vi等命令。
我目前用SSH軟件在調試。
我想問一下,服務器通過tftp把代碼傳到調試主機,那怎么來設定下栽的內容,
也就是說下哪些文件的是在哪個文件里指定的??
服務器上給我開了一個網卡的硬件地址,同時調試主機也設定相應的硬件地址,
這樣保證同一網絡中不會有相互沖突的網卡硬件地址,保證下載的內容準確的傳
到相應的調試主機。
target里面指定的了什么內容??
編譯一個相應的img文件需要哪里相關的文件,比如說.def,.o,什么的??
也就是說FLASH大小,SDRAM的大小,以及包括哪種類型的網卡驅動,應用程序等??













14樓: >>參與討論
reky
本人也和樓主有點類似
本人也是畢業(yè)后搞了三年的硬件開發(fā),現(xiàn)在也想轉到嵌入式系統(tǒng)開發(fā),本人對LINUX還算比較熟悉,也斷斷續(xù)續(xù)玩了五六年了,平時的家庭電腦使用大都是基于LINUX系統(tǒng)的,源碼分析也似懂非懂的看過一些,C語言還算比較熟悉,驅動也算有點了解,主要還是沒做過這方面的項目。現(xiàn)在平時對著教材學習學了幾天覺的流程概念比較清楚了又不能堅持下去了,結果很難提高自己的項目開發(fā)經驗

15樓: >>參與討論
張桅
都講的挺好!
 
16樓: >>參與討論
laijie_991
reky你好,我有機會學。
我是一個非常要強的人,有的時候問軟件人員,
不知道是他們不肯說還是太簡單了,還是他們本來就不知道為什么?
求人不如求己。
我覺得硬件和軟件結合的人比較難找,強的更少。
因為目前有硬件的基礎,軟件自覺得也不錯,學校里面搞51的游戲什么的
還得過獎,我覺得憑我的能力應該也可以搞定就是沒有好的朋友指點。
qq:156187368
mail:laijie_991@eyou.com
大哥提供幾個linux的強壇。謝謝


17樓: >>參與討論
gdtyy
多在論壇上轉轉比自己琢磨快
    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
動手是關鍵,還要參考別人的代碼啊
 
19樓: >>參與討論
laijie_991
gdtyy說的非常好,我試試看 。
 
20樓: >>參與討論
laijie_991
reky
多謝reky了,這么多的論壇有很長時間好看了。
有些以前去,有些現(xiàn)在就在看,有些沒有去過,非常感謝reky。

男兒當自強。共勉。

21樓: >>參與討論
全力以赴
看書
 
22樓: >>參與討論
husteiraul
經歷跟我比較類似
 
參與討論
昵稱:
討論內容:
 
 
相關帖子
我與我寫的操作系統(tǒng),與年輕人共勉!
軟硬件方向,抉擇的時候到了!
從混沌中走出-uc/os ii學習日記
我是新手。想用匯編寫一這樣的多任務OS,不知可行嗎,請大家?guī)兔?/a>
想學嵌入式的請進!
免費注冊為維庫電子開發(fā)網會員,參與電子工程師社區(qū)討論,點此進入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號