那曲檬骨新材料有限公司

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

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

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

學(xué)嵌入式能不能只用C寫程序?

m3eY_edn_china ? 來源:未知 ? 作者:李倩 ? 2018-03-26 08:34 ? 次閱讀

嵌入式新手該先學(xué)C語言還是先學(xué)匯編?這是一個(gè)非常有爭議的問題。而目前C語言已漸漸深入了,有意向?qū)W習(xí)嵌入式的不少,但是疑問是,學(xué)嵌入式能不能只用C 寫程序?

觀點(diǎn)1:匯編,只是一個(gè)語言工具。你要學(xué)習(xí)的,其實(shí)是ARM。想要搞精、搞深,匯編和計(jì)算機(jī)系統(tǒng)知識是必須的。尤其是對于底層嵌入式系統(tǒng)工程師來說,匯編是必須要掌握的。

首先系統(tǒng)啟動(dòng)、上電代碼都是匯編,匯編不掌握,你如何知道系統(tǒng)是如何啟動(dòng)的?

想深入鏈接C語言的函數(shù)是如何調(diào)用的,參數(shù)是如何傳遞的,想了解指針的本質(zhì)、函數(shù)名的本質(zhì),就要深入?yún)R編級代碼,通過反匯編,看底層指令是如何對C語言的高級特性進(jìn)行處理的,這都需要匯編語言的功底。掌握匯編,是成為底層系統(tǒng)工程師、牛逼工程師的必備技能。

另外,匯編沒那么恐怖,也就是那十幾個(gè)常用的命令,再加上配套的偽指令,基本程序結(jié)構(gòu),半天就差不多了。與其花半天時(shí)間在這里糾結(jié)要不要學(xué),不如趕緊學(xué),技不壓身。當(dāng)然,學(xué)習(xí)匯編之前,你還要對CPU處理器架構(gòu)、寄存器有一個(gè)了解,你要知道,匯編程序都是跟這些寄存器打交道的。學(xué)ARM匯編的話,需要掌握ARM處理器的基本架構(gòu)、不同模式下的寄存器配置。了解之后,再去學(xué)習(xí)匯編,你會發(fā)現(xiàn),你學(xué)習(xí)的哪里是匯編?學(xué)習(xí)的明明是ARM嘛!匯編,只是一個(gè)語言工具,一些助記符而已。你要學(xué)習(xí)的,其實(shí)是ARM。觀點(diǎn)2:先學(xué)習(xí)C語言一個(gè)合格的硬件工程師,應(yīng)該都學(xué),我推薦你先學(xué)習(xí)C語言,因?yàn)閰R編入手太慢,寫程序要以C為主,需要高速的或者底層的操作用內(nèi)嵌匯編的方式完成。但是匯編和C同樣重要,相互配合,缺一不可!匯編的重要性:

幫助你從根本上徹底和完全了解芯片的結(jié)構(gòu)和性能,以及工作原理,如何使用。

在小的芯片上實(shí)現(xiàn)小的系統(tǒng)。

系統(tǒng)的調(diào)試。盡管你使用了高級語言,在調(diào)試中可以幫助你了解C代碼的性能和特點(diǎn),甚至找到使用開發(fā)平臺本身的BUG。

編寫時(shí)序要求嚴(yán)格的代碼,實(shí)現(xiàn)一些高級語言不易實(shí)現(xiàn)的功能。

從目前的技術(shù)和應(yīng)用發(fā)展來看,對工程師的硬件要求越來越高。以我的觀點(diǎn),作為單片機(jī)和嵌入式系統(tǒng)開發(fā)真正的高手,應(yīng)具備以下幾個(gè)方面的綜合能力:1.硬件:模擬數(shù)字電路的雄厚基礎(chǔ),了解跟蹤現(xiàn)在市場上的各種元器件的應(yīng)用和發(fā)展,能夠進(jìn)行可靠、完善的電路設(shè)計(jì)以及PCB的設(shè)計(jì)。2.軟件:不僅需要精通匯編語言,也要精通C語言,要有好的單片機(jī)系統(tǒng)程序設(shè)計(jì)理念和能力,學(xué)校中學(xué)的那些分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)等基本原理遠(yuǎn)遠(yuǎn)不夠!要有基本的數(shù)據(jù)結(jié)構(gòu)的知識。否則你如何設(shè)計(jì)實(shí)現(xiàn)USB HOST讀U盤的接口? 如何實(shí)現(xiàn)嵌入式WEB系統(tǒng)? 以及如何使用真正了解和使用RTOS? 具備計(jì)算機(jī)網(wǎng)絡(luò)和數(shù)字通信的基礎(chǔ)知識,從根本上熟悉和了解各種協(xié)議的構(gòu)造和實(shí)現(xiàn),如:UARTRS232、SPI、I2C、USB、 IEEE802、TCP/IP等。3.計(jì)算機(jī)應(yīng)用的高手4.熟練閱讀英文資料:熱愛和喜歡電子技術(shù),具備刻苦精神、踏踏實(shí)實(shí),不弄虛作假,不浮躁。多動(dòng)手,勤實(shí)踐。有強(qiáng)烈的專業(yè)和鉆研精神。最后一條最重要!

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

    關(guān)注

    5093

    文章

    19178

    瀏覽量

    307710
  • C語言
    +關(guān)注

    關(guān)注

    180

    文章

    7614

    瀏覽量

    137730

原文標(biāo)題:真正的嵌入式開發(fā)高手該會些啥?

文章出處:【微信號:edn-china,微信公眾號:EDN電子技術(shù)設(shè)計(jì)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    C語言中結(jié)構(gòu)體能不能相加

    C語言中,結(jié)構(gòu)體能不能相加?
    的頭像 發(fā)表于 12-19 17:04 ?1352次閱讀
    <b class='flag-5'>C</b>語言中結(jié)構(gòu)體<b class='flag-5'>能不能</b>相加

    大家好,我想問一下,我學(xué)嵌入式開發(fā)能不能先跳過裸機(jī).....

    大家好,我想問一下,我學(xué)嵌入式開發(fā)能不能先跳過裸機(jī)編程,直接從上層應(yīng)用開發(fā),我準(zhǔn)備過兩個(gè)月再開始裸機(jī)的一些編程,因?yàn)楝F(xiàn)在老師給了一個(gè)項(xiàng)目,學(xué)裸機(jī)開始可能時(shí)間不夠,后面有時(shí)間再學(xué)
    發(fā)表于 07-27 15:07

    嵌入式Linux怎么學(xué)

    `嵌入式Linux怎么學(xué)?要學(xué)哪些東西?一些人總在糾結(jié),怕走了彎路,怕學(xué)的東西不符合企業(yè)需求。那么今天就從這幾點(diǎn)簡要分析下嵌入式要學(xué)習(xí)的內(nèi)容
    發(fā)表于 05-18 15:31

    嵌入式新手該先學(xué)C語言還是先學(xué)匯編?

    嵌入式新手該先學(xué)C語言還是先學(xué)匯編?這是一個(gè)非常有爭議的問題。而目前C語言已漸漸深入了,有意向?qū)W習(xí)嵌入式
    發(fā)表于 11-09 06:31

    新手該怎么學(xué)單片機(jī) / 嵌入式

    【版權(quán)申明】轉(zhuǎn)載請附上出處鏈接新手該怎么學(xué)單片機(jī) / 嵌入式???不知不覺已經(jīng)畢業(yè)幾年了,大學(xué)時(shí)候接觸嵌入式并一頭扎進(jìn)去學(xué)習(xí)鉆研,當(dāng)時(shí)確實(shí)學(xué)到了很多東西,但當(dāng)時(shí)的自己并沒有把學(xué)到的東西用到實(shí)際的產(chǎn)品
    發(fā)表于 12-17 08:27

    嵌入式系統(tǒng)的C程序設(shè)計(jì)

    嵌入式系統(tǒng)的C程序設(shè)計(jì)
    發(fā)表于 04-07 22:42 ?86次下載
    <b class='flag-5'>嵌入式</b>系統(tǒng)的<b class='flag-5'>C</b><b class='flag-5'>程序</b>設(shè)計(jì)

    嵌入式系統(tǒng)的c程序設(shè)計(jì)

    嵌入式系統(tǒng)的c程序設(shè)計(jì)
    發(fā)表于 02-11 09:21 ?65次下載
    <b class='flag-5'>嵌入式</b>系統(tǒng)的<b class='flag-5'>c</b><b class='flag-5'>程序</b>設(shè)計(jì)

    電池能不能修復(fù)?

    電池能不能修復(fù)? 電池修復(fù)作為一個(gè)新生事物,許多人對它不了解,也有許多人對它一知半解。那么電池到底能不能修復(fù)呢?
    發(fā)表于 11-23 10:40 ?1117次閱讀

    嵌入式系統(tǒng)與C程序設(shè)計(jì)

    嵌入式系統(tǒng)與C程序設(shè)計(jì)
    發(fā)表于 10-30 10:20 ?13次下載
    <b class='flag-5'>嵌入式</b>系統(tǒng)與<b class='flag-5'>C</b><b class='flag-5'>程序</b>設(shè)計(jì)

    嵌入式學(xué)習(xí)路線怎么學(xué),如何學(xué)習(xí)嵌入式系統(tǒng)

    哪些技術(shù)呢?1.嵌入式上層的軟件應(yīng)用開發(fā)需要:精通嵌入式Linux C語言編程、嵌入式Linux C語言數(shù)據(jù)結(jié)構(gòu)、
    發(fā)表于 10-20 15:50 ?13次下載
    <b class='flag-5'>嵌入式</b>學(xué)習(xí)路線怎么<b class='flag-5'>學(xué)</b>,如何學(xué)習(xí)<b class='flag-5'>嵌入式</b>系統(tǒng)

    嵌入式Linux怎么學(xué)

    嵌入式Linux怎么學(xué)?要學(xué)哪些東西?一些人總在糾結(jié),怕走了彎路,怕學(xué)的東西不符合企業(yè)需求。那么今天就從這幾點(diǎn)簡要分析下嵌入式要學(xué)習(xí)的內(nèi)容。
    發(fā)表于 11-01 16:31 ?10次下載
    <b class='flag-5'>嵌入式</b>Linux怎么<b class='flag-5'>學(xué)</b>?

    嵌入式開發(fā)培訓(xùn)學(xué)哪些?嵌入式培訓(xùn)課程好學(xué)嗎

    嵌入式開發(fā)越來越火了,很多剛畢業(yè)的學(xué)生和想轉(zhuǎn)行的紛紛都想進(jìn)入嵌入式的開發(fā)行列,但是很多人有很猶豫,覺得自己沒有技術(shù)基礎(chǔ),能學(xué)的會嗎?參加培訓(xùn)機(jī)構(gòu)學(xué)習(xí)的話,嵌入式培訓(xùn)課程好學(xué)嗎?對于這種
    發(fā)表于 11-02 21:05 ?12次下載
    <b class='flag-5'>嵌入式</b>開發(fā)培訓(xùn)<b class='flag-5'>學(xué)</b>哪些?<b class='flag-5'>嵌入式</b>培訓(xùn)課程好學(xué)嗎

    嵌入式學(xué)習(xí)培訓(xùn)能學(xué)會嗎?嵌入式開發(fā)培訓(xùn)都要學(xué)什么?

    等相關(guān)知識,學(xué)習(xí)QT程序開發(fā),進(jìn)行嵌入式系統(tǒng)程序的調(diào)試。學(xué)會嵌入式開發(fā)的分析問題、解決問題的思維方法,掌握程序設(shè)計(jì)的基本方法和常用算法。1.
    發(fā)表于 11-03 10:06 ?15次下載
    <b class='flag-5'>嵌入式</b>學(xué)習(xí)培訓(xùn)能學(xué)會嗎?<b class='flag-5'>嵌入式</b>開發(fā)培訓(xùn)都要<b class='flag-5'>學(xué)</b>什么?

    真正的嵌入式開發(fā)高手該會些啥?

    嵌入式新手該先學(xué)C語言還是先學(xué)匯編?這是一個(gè)非常有爭議的問題。而目前C語言已漸漸深入了,有意向?qū)W習(xí)嵌入式
    發(fā)表于 11-04 10:51 ?10次下載
    真正的<b class='flag-5'>嵌入式</b>開發(fā)高手該會些啥?

    指針能不能作為循環(huán)變量?

    指針能不能作為循環(huán)變量?
    的頭像 發(fā)表于 02-16 18:11 ?1084次閱讀
    百家乐拍是什么| 百家乐投注方法新版| 澳门百家乐现场游戏| 百家乐赢多少该止赢| 易胜博网| 百家乐官网稳赢投注| 杨公24山| 大发888游戏平台 送1666元礼金领取lrm| 通化县| 百家乐官网技巧开户| 百家乐俄罗斯轮盘转盘套装| 昌吉市| 属猴人做生意门面的风水| 大发888如何下载| 网络百家乐官网输了很多钱| 百家乐明灯| 衡阳市| 木棉百家乐官网的玩法技巧和规则| 百家乐赌博凯时娱乐| 明升国际| 免费百家乐官网追号| 大发888亚洲城娱乐城| 百家乐官网玩揽法的论坛| 豪华百家乐人桌| 淮滨县| 百家乐网站那个好| bet365存| 网上百家乐官网试| 大发888娱乐方| 七胜百家乐官网娱乐平台| 百家乐制胜绝招| 百家乐官网游戏合法吗| 太阳城百家乐下载网址| 永州市| 保单百家乐游戏机| 渭南市| 澳门百家乐赢钱窍门| 棋牌| 百家乐那个平台信誉高| 百家乐官网龙虎规则| 百家乐最安全打法|