欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

單片機(jī)知識(shí)是Linux驅(qū)動(dòng)開發(fā)的基礎(chǔ)之一

工程師精選 ? 2018-03-07 20:35 ? 次閱讀

這是arm裸機(jī)1期加強(qiáng)版第1課第2節(jié)課程的wiki文字版。



為什么沒前途也要學(xué)習(xí)單片機(jī)


因?yàn)樗莻€(gè)很好的入口。

學(xué)習(xí)單片機(jī)可以讓我們拋開復(fù)雜的軟件結(jié)構(gòu),先掌握硬件操作,如:看原理圖、芯片手冊(cè)、寫程序操作寄存器等。在上一節(jié)視頻里,我剛把單片機(jī)貶得一無(wú)是處,說單片機(jī)沒前途了,這節(jié)視頻,我又要告訴你們,沒有前途,也要學(xué)習(xí)單片機(jī)。為什么?

首先,我說不用學(xué)習(xí)單片機(jī),是指不要使用老一套得學(xué)習(xí)方法學(xué)習(xí)單片機(jī)。什么叫老一套的方法?

· 硬件上:不要使用C51、STM32這些專用的單片機(jī)開發(fā)板。如果以后,你不打算從事單片機(jī)開發(fā),你用這些芯片干嘛,研究了兩三個(gè)月,把這些寄存器都用清楚了,你又用不上,沒必要啊。

· 軟件上:不要使用Keil、MDK等集成度太高的軟件。你用這些軟件,你寫個(gè)main()就可以了,然后調(diào)用各種庫(kù),進(jìn)行傻瓜式操作。這些好用的工具,封裝了很多技術(shù)細(xì)節(jié),使得我們沒法了解裸機(jī)、單片機(jī)的本質(zhì)。

以后我們會(huì)使用新一套的方法來(lái)進(jìn)行單片機(jī)的開發(fā)。新一套的方法,我們后面再介紹。



我們之所以還要學(xué)習(xí)單片機(jī),是因?yàn)樗锩娴闹R(shí),對(duì)我們后續(xù)學(xué)習(xí)Linux還是有用的。我們首先來(lái)看看,一個(gè)Linux系統(tǒng)是怎么一回事。 一個(gè)嵌入式Linux系統(tǒng)的軟件組成:單片機(jī)大全Bootloader–>Linux驅(qū)動(dòng)–>Linux APP–>Linux GUI(Android/QT)。我們PC機(jī)一上電的時(shí)候,黑色屏幕上會(huì)顯示BIOS,這個(gè)BIOS目的是去啟動(dòng)Windows內(nèi)核。Windows內(nèi)核再掛載C盤(系統(tǒng)盤)、D盤(應(yīng)用盤),最后再去啟動(dòng)應(yīng)用程序,像QQ、網(wǎng)游等。 同樣的道理,我們的Android手機(jī)或者工控設(shè)備,也有BIOS,但嵌入式Linux系統(tǒng)里面不叫BIOS,叫Bootloader,他的目的是去啟動(dòng)Linux內(nèi)核。 它首先也是識(shí)別應(yīng)用程序所在的存儲(chǔ)設(shè)備,掛載根文件系統(tǒng)(在Windows系統(tǒng)里面的C盤、D盤,在Linux里面稱為根文件系統(tǒng))。最后去啟動(dòng)應(yīng)用程序。



仔細(xì)的分析下Bootloader,它去啟動(dòng)內(nèi)核,它去哪里啟動(dòng)內(nèi)核呢? 顯然是去某個(gè)地方讀出內(nèi)核,就比如說BIOS是去C盤上讀出Windows內(nèi)核,我們的Bootloader是去Flash或者SD卡讀取內(nèi)核。因此Bootloader要擁有讀取Flash或者SD卡的能力。有些Bootloader還要顯示logo,因此還要具有操作LCD的能力。Bootloader還要設(shè)置開發(fā)板的環(huán)境,比如,初始化時(shí)鐘、初始化內(nèi)存、還要設(shè)置網(wǎng)卡等。這么多事情,都是在Bootloader里面實(shí)現(xiàn)的,太復(fù)雜了,如果你一來(lái)就分析整個(gè)Bootloader是非常困難的。

那我們?cè)趺磳W(xué)習(xí)呢? 把他拆開,寫出單獨(dú)的程序,比如:LED點(diǎn)燈、時(shí)鐘、網(wǎng)卡、Flash都單獨(dú)寫個(gè)程序來(lái)練習(xí),這些不就是單片機(jī)程序嗎?所以說,Bootloader是單片機(jī)程序的大全。我們?yōu)榱烁玫膶W(xué)習(xí)Bootloader,我們應(yīng)該事先一個(gè)一個(gè)練習(xí)硬件,當(dāng)我們熟悉每個(gè)硬件后,再組合起來(lái),就是一個(gè)Bootloader。



我們?cè)賮?lái)看看Bootloader啟動(dòng)內(nèi)核之后,內(nèi)核再去掛載根文件系統(tǒng),意味著內(nèi)核也要有操作硬件的能力,這就是驅(qū)動(dòng)程序。我們首先來(lái)看看一個(gè)簡(jiǎn)單的驅(qū)動(dòng)程序是什么樣子。首先我們的應(yīng)用程序是調(diào)用open()、read()、write()這些標(biāo)準(zhǔn)的接口去訪問硬件。那么就進(jìn)入驅(qū)動(dòng)程序里面,驅(qū)動(dòng)程序里面有對(duì)應(yīng)的drive_open()、drive_read()、drive_write()。最后在驅(qū)動(dòng)程序里面,去配置硬件。比如一個(gè)LED點(diǎn)燈驅(qū)動(dòng),那么drive_open()要把GPIO設(shè)置為輸出引腳,drive_read(),返回GPIO狀態(tài),driver_write()則寫GPIO,讓引腳輸出高電平或者低電平。



對(duì)于我們的LED驅(qū)動(dòng)程序,你需要提供drive_open()、drive_read()、drive_write()這些接口,這就是它的框架。具體的怎么操作硬件,就是硬件操作。所以說,我們事先在單片機(jī)里面,熟悉熟練的掌握硬件操作。即驅(qū)動(dòng)程序的組成:

驅(qū)動(dòng)程序=軟件框架+硬件操作

你需要學(xué)會(huì)看原理圖、看硬件怎么連接、看芯片手冊(cè)、知道怎么讀寫寄存器。這一切都可以先在單片機(jī)里面學(xué)習(xí),去掌握。以后學(xué)習(xí)Linux驅(qū)動(dòng)時(shí),把重點(diǎn)放在軟件框架就行了。

我們可以事先學(xué)習(xí)單片機(jī),單片機(jī)的學(xué)習(xí)可以讓我們先拋開復(fù)雜的軟件結(jié)構(gòu),先掌握硬件的操作,如:看原理圖、芯片手冊(cè)、寫程序操作寄存器等。這就是為什么單片機(jī)沒有前途,我們也要學(xué)習(xí)。是因?yàn)樗锩嫔婕暗挠布僮?,?duì)我們后續(xù)的學(xué)習(xí),非常有用處。

現(xiàn)在我們知道了,我們學(xué)習(xí)單片機(jī),不是為了掌握單片機(jī)的開發(fā)技能,而是為了掌握Bootloader,掌握硬件操作


原帖轉(zhuǎn)自:http://bbs.elecfans.com/jishu_1544437_1_1.html


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6043

    文章

    44623

    瀏覽量

    638833
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11350

    瀏覽量

    210476
  • 驅(qū)動(dòng)開發(fā)

    關(guān)注

    0

    文章

    130

    瀏覽量

    12119
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    單片機(jī)Debug工具性能對(duì)比 單片機(jī)調(diào)試常用命令

    單片機(jī)(Microcontroller Unit, MCU)調(diào)試是嵌入式開發(fā)中的個(gè)重要環(huán)節(jié),它幫助開發(fā)者發(fā)現(xiàn)和修復(fù)代碼中的錯(cuò)誤,優(yōu)化程序性能。不同的
    的頭像 發(fā)表于 12-19 09:56 ?499次閱讀

    單片機(jī)怎么寫入程序

    單片機(jī)(Microcontroller Unit,MCU)是種集成電路芯片,它將計(jì)算機(jī)的CPU、存儲(chǔ)器、輸入/輸出接口等功能集成在個(gè)芯片上。單片機(jī)廣泛應(yīng)用于嵌入式系統(tǒng)和物聯(lián)網(wǎng)設(shè)備中
    的頭像 發(fā)表于 10-21 11:21 ?960次閱讀

    想入行單片機(jī)開發(fā)的學(xué)生們的忠告

    對(duì)于想入行單片機(jī)開發(fā)的學(xué)生們,以下是些建議和忠告:
    的頭像 發(fā)表于 10-17 09:45 ?416次閱讀
    想入行<b class='flag-5'>單片機(jī)</b><b class='flag-5'>開發(fā)</b>的學(xué)生們的忠告

    單片機(jī)芯片開發(fā)-單片機(jī)方案開發(fā)的關(guān)鍵技巧和流程步驟!

    在電子產(chǎn)品設(shè)計(jì)中,單片機(jī)(MCU)無(wú)疑是最重要的組成部分之一。無(wú)論是消費(fèi)電子、智能家居、工業(yè)控制,還是可穿戴設(shè)備,小家電等,單片機(jī)的應(yīng)用無(wú)處不在。然而,對(duì)于許多開發(fā)者來(lái)說,
    發(fā)表于 09-26 17:04

    51單片機(jī)驅(qū)動(dòng)

    電子發(fā)燒友網(wǎng)站提供《51單片機(jī)驅(qū)動(dòng).exe》資料免費(fèi)下載
    發(fā)表于 09-20 11:46 ?5次下載

    單片機(jī)燒錄程序的基本步驟是什么

    單片機(jī)燒錄程序是單片機(jī)開發(fā)過程中非常重要的步,它涉及到將編寫好的程序代碼通過定的方式傳輸?shù)?b class='flag-5'>單片機(jī)
    的頭像 發(fā)表于 09-02 09:47 ?1467次閱讀

    linux開發(fā)板和單片機(jī)開發(fā)的區(qū)別

    硬件架構(gòu) Linux開發(fā)板和單片機(jī)開發(fā)在硬件架構(gòu)上有很大的區(qū)別。Linux開發(fā)板通常基于ARM、
    的頭像 發(fā)表于 08-30 15:30 ?1305次閱讀

    Linux 驅(qū)動(dòng)開發(fā)與應(yīng)用開發(fā),你知道多少?

    、Linux驅(qū)動(dòng)開發(fā)與應(yīng)用開發(fā)的區(qū)別開發(fā)層次不同:Linu
    的頭像 發(fā)表于 08-30 12:16 ?949次閱讀
    <b class='flag-5'>Linux</b> <b class='flag-5'>驅(qū)動(dòng)</b><b class='flag-5'>開發(fā)</b>與應(yīng)用<b class='flag-5'>開發(fā)</b>,你知道多少?

    文讀懂什么單片機(jī):組成結(jié)構(gòu)與應(yīng)用

    歡迎來(lái)到單片機(jī)的世界,這是種微小(但功能強(qiáng)大)的設(shè)備,改變了嵌入式系統(tǒng)的面貌。在本文中,您將了解單片機(jī)些基本知識(shí)
    的頭像 發(fā)表于 08-09 11:49 ?1819次閱讀
    <b class='flag-5'>一</b>文讀懂什么<b class='flag-5'>單片機(jī)</b>:組成結(jié)構(gòu)與應(yīng)用

    從菜鳥到大牛!嵌入式完整學(xué)習(xí)路線:STM32單片機(jī)-RTOS-Linux

    ?嵌入式linux”的順序幫助您從入門到進(jìn)階,掌握嵌入式開發(fā)的精髓。第階段單片機(jī)單片機(jī)是嵌入式學(xué)習(xí)的基石,因?yàn)樗闪颂幚砥?、存?chǔ)器和輸入
    的頭像 發(fā)表于 07-23 16:11 ?4598次閱讀
    從菜鳥到大牛!嵌入式完整學(xué)習(xí)路線:STM32<b class='flag-5'>單片機(jī)</b>-RTOS-<b class='flag-5'>Linux</b>

    個(gè)暑假如何學(xué)習(xí)單片機(jī)

    個(gè)暑假是學(xué)習(xí)和掌握單片機(jī)基礎(chǔ)知識(shí)的良好時(shí)機(jī)。以下是個(gè)關(guān)于如何在暑假期間學(xué)習(xí)單片機(jī)的建議計(jì)劃
    的頭像 發(fā)表于 07-03 09:19 ?597次閱讀
    <b class='flag-5'>一</b>個(gè)暑假如何學(xué)習(xí)<b class='flag-5'>單片機(jī)</b>

    PY32系列單片機(jī)開發(fā)板 常用型號(hào)都有 支持Keil,IAR進(jìn)行開發(fā)

    、IOT、傳感器、電動(dòng)工具、電機(jī)控制等領(lǐng)域。 PY32系列單片機(jī)與大部份國(guó)產(chǎn)通用型MCU樣,支持Keil,IAR進(jìn)行開發(fā)。芯嶺技術(shù)提供目前PY32系列主流單片機(jī)
    的頭像 發(fā)表于 05-22 14:48 ?1265次閱讀
    PY32系列<b class='flag-5'>單片機(jī)</b><b class='flag-5'>開發(fā)</b>板 常用型號(hào)都有 支持Keil,IAR進(jìn)行<b class='flag-5'>開發(fā)</b>

    STM32單片機(jī)有哪幾種常見的開發(fā)環(huán)境?

    STM32單片機(jī)款廣泛應(yīng)用于嵌入式系統(tǒng)開發(fā)單片機(jī),針對(duì)其開發(fā),有以下幾種常見的方式:STM32單片
    的頭像 發(fā)表于 05-18 08:04 ?3324次閱讀
    STM32<b class='flag-5'>單片機(jī)</b>有哪幾種常見的<b class='flag-5'>開發(fā)</b>環(huán)境?

    單片機(jī)開發(fā)好學(xué)嗎?學(xué)習(xí)中有哪些樂趣與挑戰(zhàn)?

    單片機(jī)編程究竟是不是好學(xué)的問題。先來(lái)說單片機(jī)編程的挑戰(zhàn)性,對(duì)于初學(xué)者而言,單片機(jī)編程可能具有定的挑戰(zhàn)性,因?yàn)樗枰憔邆湟韵聨c(diǎn)能力;
    的頭像 發(fā)表于 03-28 08:04 ?2164次閱讀
    <b class='flag-5'>單片機(jī)</b><b class='flag-5'>開發(fā)</b>好學(xué)嗎?學(xué)習(xí)中有哪些樂趣與挑戰(zhàn)?

    如何系統(tǒng)、科學(xué)地自學(xué)單片機(jī)?

    的自學(xué)單片機(jī)呢?自學(xué)單片機(jī)需要定的計(jì)劃和方法,以下是具體的步驟和建議。如何系統(tǒng)、科學(xué)地自學(xué)單片機(jī)?學(xué)習(xí)電子基礎(chǔ)知識(shí):理解電路原理、數(shù)字電子
    的頭像 發(fā)表于 03-28 08:03 ?1212次閱讀
    如何系統(tǒng)、科學(xué)地自學(xué)<b class='flag-5'>單片機(jī)</b>?