亚洲AV日韩AV无码污污网站_亚洲欧美国产精品久久久久久久_欧美日韩一区二区视频不卡_丰满无码人妻束缚无码区_久爱WWW成人网免费视频

切換到寬版
  • 廣告投放
  • 稿件投遞
  • 繁體中文
    • 11856閱讀
    • 32回復

    [原創(chuàng)]跨進光學行業(yè)是意外,也是驚喜。(一點學習經(jīng)驗3) [復制鏈接]

    上一主題 下一主題
    離線hhxxgg00
     
    發(fā)帖
    1470
    光幣
    13144
    光券
    0
    只看樓主 倒序閱讀 樓主  發(fā)表于: 2013-03-26
             光學的部分前幾天已經(jīng)發(fā)過一個帖子。如果感興趣大家可以看看。 242dT/j  
    ]C.x8(2!f  
             這個帖子想跟大家交流一下硬件和嵌入式的一些學習心得(這部分知識對于光學工程師不是必備的,學習可對整機系統(tǒng)集成有幫助)。   U^jxKBq^  
    ]iu}5]?)  
            嵌入式學習要循序漸進,對于初學者。我走了不少彎路,最后還是從最簡單的學起。51到AVR到ARM。要從51(典型芯片89C51芯片內(nèi)有4KB EEPROM,若片內(nèi)ROM不夠用,也需擴展片外ROM。)入手,是因他很簡單,管角功能十分簡單,寄存器(中斷、計時、電子溝)十分少,內(nèi)部總線和時鐘拓撲結(jié)構(gòu)很清晰。可以幫助建立起初步的硬件概念,如果學習過c語言,看過51芯片手冊,恰恰身邊有一塊開發(fā)板,馬上就可以動手寫程序。認識51要最為重要的是要認識開發(fā)板上的一些外圍硬件,步進電機、移位寄存鎖存器、溫度傳感器、蜂鳴器、EEPROM等等(了解他們最為直接的方法就是看硬件手冊),這個過程中可以學習到pwm波(驅(qū)動步進電機和蜂鳴器)、ad和da轉(zhuǎn)換(蜂鳴器)和一些接口時序(IIC、SPI等)。寫一些簡單的鍵盤掃描(去抖動)、液晶面板驅(qū)動、這種簡單的驅(qū)動程序。學習51的過程收獲很多,首先對時序有了清晰的認識,對驅(qū)動有了深刻的了解。任何系統(tǒng)(win、Linux)都要建立在可靠的、簡單、高效的底層驅(qū)動基礎上。51和外圍電路的這種交互程序就可以認為是驅(qū)動。把驅(qū)動封裝成統(tǒng)一的接口(api)交給系統(tǒng)然后由系統(tǒng)分配給每個程序進行應用,這樣可以減少沖突和代碼重復。 .KiJq:$H  
    -<rQOPH%  
            AVR(88芯片)的學習主要是為ARM學習做準備,AVR的管腳功能和ARM的十分像,管腳可以定義輸出還是輸入,數(shù)字還是模擬,帶不帶上拉和下拉電阻。對AVR的學習可以止步于此。 _ 4:@+{  
    {z)&=v@  
            終于到了ARM。主要涉及兩種芯片STM32(Cortex-M3內(nèi)核未來和頂替ARM7內(nèi)核)和s3c2440(ARM9內(nèi)核)。第一次看stm32的芯片手冊,會讓你頭皮發(fā)麻。好幾百頁的英文實在是讓你受不了。好在現(xiàn)在資料比豐富,可以繞過手冊看中文的教程。遇到疑問可以看原版手冊。通讀手冊,主要了解,指令集(精簡指令集還是ARM指令集)、總線結(jié)構(gòu)(核心和外設都在總線上交互數(shù)據(jù))、片內(nèi)資源、片上外設、時鐘鎖相環(huán)(為核心和外設提供各種時鐘時序)等等。之后可以用指令集編寫一些簡單的小驅(qū)動,驅(qū)動外部器件(如led等)。由于ARM芯片結(jié)構(gòu)比較復雜內(nèi)部外設豐富,所以芯片涉及到的驅(qū)動會比較多。如果用ARM開發(fā)硬件系統(tǒng)每一次都要從新寫一遍底層驅(qū)動是很不現(xiàn)實和費時的事。所以一般的芯片公司都會針對自己的產(chǎn)品開發(fā)了相應的固件庫,stm32有一個3.5版本的固件,固件已經(jīng)集成了所有片上資源的簡單驅(qū)動。如果已經(jīng)了解了指令集和用指令集編程的方法就可以直接看固件了,固件里面的東西更通俗易懂,省去查找相應寄存器控制指令的麻煩。有了固件就可以做系統(tǒng)移植了,stm32核心頻率比較低48m所以只能跑uc-os2小系統(tǒng),可以移植玩玩。如果感興趣可以了解下uc-os2的任務調(diào)度,進程管理等功能比較有意思。 jtqH3xfy  
    9