chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

嵌入式開發(fā)的crc算法知識(shí)精選

h1654155971.7688 ? 來源:互聯(lián)網(wǎng) ? 作者:佚名 ? 2017-11-08 11:28 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

CRC校驗(yàn)(循環(huán)冗余校驗(yàn))是數(shù)據(jù)通訊中最常采用的校驗(yàn)方式。在嵌入式軟件開發(fā)中,經(jīng)常要用到CRC 算法對(duì)各種數(shù)據(jù)進(jìn)行校驗(yàn)。因此,掌握基本的CRC算法應(yīng)是嵌入式程序員的基本技能??墒?,嵌入式程序員中能真正掌握CRC算法的人很少,平常在項(xiàng)目中見到的CRC的代碼多數(shù)都是那種效率非常低下的實(shí)現(xiàn)方式。其實(shí),在網(wǎng)上有一篇介紹CRC 算法的非常好的文章,作者是Ross Williams,題目叫:“A PAINLESS GUIDE TO CRC ERROR DETECTION ALGORITHMS”。閱讀英文沒有障礙的朋友也可以去讀Ross Williams的原文。本文的讀者群設(shè)定為軟件開發(fā)人員,尤其是從事嵌入式軟件開發(fā)的程序員,而不是專業(yè)從事數(shù)學(xué)或通訊領(lǐng)域研究的學(xué)者。因此,本文的目標(biāo)是介紹CRC算法的基本原理和實(shí)現(xiàn)方式,用到的數(shù)學(xué)盡量控制在高中生可以理解的深度。從奇偶校驗(yàn)說起所謂通訊過程的校驗(yàn)是指在通訊數(shù)據(jù)后加上一些附加信息,通過這些附加信息來判斷接收到的數(shù)據(jù)是否和發(fā)送出的數(shù)據(jù)相同。比如說RS232串行通訊可以設(shè)置奇偶校驗(yàn)位,所謂奇偶校驗(yàn)就是在發(fā)送的每一個(gè)字節(jié)后都加上一位,使得每個(gè)字節(jié)中1的個(gè)數(shù)為奇數(shù)個(gè)或偶數(shù)個(gè)。比如我們要發(fā)送的字節(jié)是0x1a,二進(jìn)制表示為0001 1010。

采用奇校驗(yàn),則在數(shù)據(jù)后補(bǔ)上個(gè)0,數(shù)據(jù)變?yōu)?001 1010 0,數(shù)據(jù)中1的個(gè)數(shù)為奇數(shù)個(gè)(3個(gè))

采用偶校驗(yàn),則在數(shù)據(jù)后補(bǔ)上個(gè)1,數(shù)據(jù)變?yōu)?001 1010 1,數(shù)據(jù)中1的個(gè)數(shù)為偶數(shù)個(gè)(4個(gè))

接收方通過計(jì)算數(shù)據(jù)中1個(gè)數(shù)是否滿足奇偶性來確定數(shù)據(jù)是否有錯(cuò)。奇偶校驗(yàn)的缺點(diǎn)也很明顯,首先,它對(duì)錯(cuò)誤的檢測概率大約只有50%。也就是只有一半的錯(cuò)誤它能夠檢測出來。另外,每傳輸一個(gè)字節(jié)都要附加一位校驗(yàn)位,對(duì)傳輸效率的影響很大。因此,在高速數(shù)據(jù)通訊中很少采用奇偶校驗(yàn)。奇偶校驗(yàn)優(yōu)點(diǎn)也很明顯,它很簡單,因此可以用硬件來實(shí)現(xiàn),這樣可以減少軟件的負(fù)擔(dān)。因此,奇偶校驗(yàn)也被廣泛的應(yīng)用著。奇偶校驗(yàn)就先介紹到這來,之所以從奇偶校驗(yàn)說起,是因?yàn)檫@種校驗(yàn)方式最簡單,而且后面將會(huì)知道奇偶校驗(yàn)其實(shí)就是CRC 校驗(yàn)的一種(CRC-1)。累加和校驗(yàn)

另一種常見的校驗(yàn)方式是累加和校驗(yàn)。所謂累加和校驗(yàn)實(shí)現(xiàn)方式有很多種,最常用的一種是在一次通訊數(shù)據(jù)包的最后加入一個(gè)字節(jié)的校驗(yàn)數(shù)據(jù)。這個(gè)字節(jié)內(nèi)容為前面數(shù)據(jù)包中全部數(shù)據(jù)的忽略進(jìn)位的按字節(jié)累加和。比如下面的例子:

我們要傳輸?shù)男畔椋?6、23、4

加上校驗(yàn)和后的數(shù)據(jù)包:6、23、4、33

這里 33 為前三個(gè)字節(jié)的校驗(yàn)和。接收方收到全部數(shù)據(jù)后對(duì)前三個(gè)數(shù)據(jù)進(jìn)行同樣的累加計(jì)算,如果累加和與最后一個(gè)字節(jié)相同的話就認(rèn)為傳輸?shù)臄?shù)據(jù)沒有錯(cuò)誤。累加和校驗(yàn)由于實(shí)現(xiàn)起來非常簡單,也被廣泛的采用。但是這種校驗(yàn)方式的檢錯(cuò)能力也比較一般,對(duì)于單字節(jié)的校驗(yàn)和大概有1/256 的概率將原本是錯(cuò)誤的通訊數(shù)據(jù)誤判為正確數(shù)據(jù)。之所以這里介紹這種校驗(yàn),是因?yàn)镃RC校驗(yàn)在傳輸數(shù)據(jù)的形式上與累加和校驗(yàn)是相同的,都可以表示為:通訊數(shù)據(jù) 校驗(yàn)字節(jié)(也可能是多個(gè)字節(jié))初識(shí) CRC 算法CRC 算法的基本思想是將傳輸?shù)臄?shù)據(jù)當(dāng)做一個(gè)位數(shù)很長的數(shù)。將這個(gè)數(shù)除以另一個(gè)數(shù)。得到的余數(shù)作為校驗(yàn)數(shù)據(jù)附加到原數(shù)據(jù)后面。還以上面例子中的數(shù)據(jù)為例:

6、23、4 可以看做一個(gè)2進(jìn)制數(shù): 0000011000010111 00000010

假如被除數(shù)選9,二進(jìn)制表示為:1001

則除法運(yùn)算可以表示為:

可以看到,最后的余數(shù)為1。如果我們將這個(gè)余數(shù)作為校驗(yàn)和的話,傳輸?shù)臄?shù)據(jù)則是:6、23、4、1

CRC 算法和這個(gè)過程有點(diǎn)類似,不過采用的不是上面例子中的通常的這種除法。在CRC算法中,將二進(jìn)制數(shù)據(jù)流作為多項(xiàng)式的系數(shù),然后進(jìn)行的是多項(xiàng)式的乘除法。還是舉個(gè)例子吧比如說我們有兩個(gè)二進(jìn)制數(shù),分別為:1101 和1011。1101 與如下的多項(xiàng)式相聯(lián)系:1x3+1x2+0x1+1x0=x3+x2+x01011與如下的多項(xiàng)式相聯(lián)系:1x3+0x2+1x1+1x0=x3+x1+x0

兩個(gè)多項(xiàng)式的乘法:(x3+x2+x0)(x3+x1+x0)=x6+x5+x4+x3+x3+x3+x2+x1+x0

得到結(jié)果后,合并同類項(xiàng)時(shí)采用模2運(yùn)算。也就是說乘除法采用正常的多項(xiàng)式乘除法,而加減法都采用模2運(yùn)算。所謂模2運(yùn)算就是結(jié)果除以2后取余數(shù)。比如3 mod 2 = 1。因此,上面最終得到的多項(xiàng)式為:x6+x5+x4+x3+x2+x1+x0,對(duì)應(yīng)的二進(jìn)制數(shù):111111

加減法采用模2運(yùn)算后其實(shí)就成了一種運(yùn)算了,就是我們通常所說的異或運(yùn)算:

上面說了半天多項(xiàng)式,其實(shí)就算是不引入多項(xiàng)式乘除法的概念也可以說明這些運(yùn)算的特殊之處。只不過幾乎所有講解 CRC 算法的文獻(xiàn)中都會(huì)提到多項(xiàng)式,因此這里也簡單的寫了一點(diǎn)基本的概念。不過總用這種多項(xiàng)式表示也很羅嗦,下面的講解中將盡量采用更簡潔的寫法。

除法運(yùn)算與上面給出的乘法概念類似,還是遇到加減的地方都用異或運(yùn)算來代替。下面是一個(gè)例子:

要傳輸?shù)臄?shù)據(jù)為:1101011011

除數(shù)設(shè)為:10011

在計(jì)算前先將原始數(shù)據(jù)后面填上4個(gè)0:11010110110000,之所以要補(bǔ)0,后面再做解釋。

從這個(gè)例子可以看出,采用了模2的加減法后,不需要考慮借位的問題,所以除法變簡單了。最后得到的余數(shù)就是CRC 校驗(yàn)字。為了進(jìn)行CRC運(yùn)算,也就是這種特殊的除法運(yùn)算,必須要指定個(gè)被除數(shù),在CRC算法中,這個(gè)被除數(shù)有一個(gè)專有名稱叫做“生成多項(xiàng)式”。生成多項(xiàng)式的選取是個(gè)很有難度的問題,如果選的不好,那么檢出錯(cuò)誤的概率就會(huì)低很多。好在這個(gè)問題已經(jīng)被專家們研究了很長一段時(shí)間了,對(duì)于我們這些使用者來說,只要把現(xiàn)成的成果拿來用就行了。

最常用的幾種生成多項(xiàng)式如下:CRC8=X8+X5+X4+X0CRC-CCITT=X16+X12+X5+X0CRC16=X16+X15+X2+X0CRC12=X12+X11+X3+X2+X0CRC32=X32+X26+X23+X22+X16+X12+X11+X10+X8+X7+X5+X4+X2+X1+X0

有一點(diǎn)要特別注意,文獻(xiàn)中提到的生成多項(xiàng)式經(jīng)常會(huì)說到多項(xiàng)式的位寬(Width,簡記為W),這個(gè)位寬不是多項(xiàng)式對(duì)應(yīng)的二進(jìn)制數(shù)的位數(shù),而是位數(shù)減1。比如CRC8中用到的位寬為8的生成多項(xiàng)式,其實(shí)對(duì)應(yīng)得二進(jìn)制數(shù)有九位:

100110001。另外一點(diǎn),多項(xiàng)式表示和二進(jìn)制表示都很繁瑣,交流起來不方便,因此,文獻(xiàn)中多用16進(jìn)制簡寫法來表示,因?yàn)樯啥囗?xiàng)式的最高位肯定為1,最高位的位置由位寬可知,故在簡記式中,將最高的1統(tǒng)一去掉了,如CRC32的生成多項(xiàng)式簡記為04C11DB7實(shí)際上表示的是104C11DB7。當(dāng)然,這樣簡記除了方便外,在編程計(jì)算時(shí)也有它的用處。對(duì)于上面的例子,位寬為4(W=4),按照CRC算法的要求,計(jì)算前要在原始數(shù)據(jù)后填上W個(gè)0,也就是4個(gè)0。

位寬W=1的生成多項(xiàng)式(CRC1)有兩種,分別是X1和X1+X0,讀者可以自己證明10 對(duì)應(yīng)的就是奇偶校驗(yàn)中的奇校驗(yàn),而11對(duì)應(yīng)則是偶校驗(yàn)。

因此,寫到這里我們知道了奇偶校驗(yàn)其實(shí)就是CRC校驗(yàn)的一種特例,這也是我要以奇偶校驗(yàn)作為開篇介紹的原因了。CRC算法的編程實(shí)現(xiàn)

說了這么多總算到了核心部分了。從前面的介紹我們知道CRC校驗(yàn)核心就是實(shí)現(xiàn)無借位的除法運(yùn)算。下面還是通過一個(gè)例子來說明如何實(shí)現(xiàn)CRC校驗(yàn)。

假設(shè)我們的生成多項(xiàng)式為:100110001(簡記為0x31),也就是CRC-8

則計(jì)算步驟如下:

(1)將CRC寄存器(8-bits,比生成多項(xiàng)式少1bit)賦初值0(2)在待傳輸信息流后面加入8個(gè)0(3)While (數(shù)據(jù)未處理完)(4)Begin(5)If (CRC寄存器首位是1)(6)reg = reg XOR 0x31(7)CRC寄存器左移一位,讀入一個(gè)新的數(shù)據(jù)于CRC寄存器的0 bit的位置。(8)End(9)CRC寄存器就是我們所要求的余數(shù)。

實(shí)際上,真正的CRC 計(jì)算通常與上面描述的還有些出入。這是因?yàn)檫@種最基本的CRC除法有個(gè)很明顯的缺陷,就是數(shù)據(jù)流的開頭添加一些0并不影響最后校驗(yàn)字的結(jié)果。這個(gè)問題很讓人惱火啊,因此真正應(yīng)用的CRC 算法基本都在原始的CRC算法的基礎(chǔ)上做了些小的改動(dòng)。

所謂的改動(dòng),也就是增加了兩個(gè)概念,第一個(gè)是“余數(shù)初始值”,第二個(gè)是“結(jié)果異或值”。

所謂的“余數(shù)初始值”就是在計(jì)算CRC值的開始,給CRC寄存器一個(gè)初始值?!敖Y(jié)果異或值”是在其余計(jì)算完成后將CRC寄存器的值在與這個(gè)值進(jìn)行一下異或操作作為最后的校驗(yàn)值。

常見的三種CRC 標(biāo)準(zhǔn)用到個(gè)各個(gè)參數(shù)如下表。

加入這些變形后,常見的算法描述形式就成了這個(gè)樣子了:(1)設(shè)置CRC寄存器,并給其賦值為“余數(shù)初始值”。(2)將數(shù)據(jù)的第一個(gè)8-bit字符與CRC寄存器進(jìn)行異或,并把結(jié)果存入CRC寄存器。(3)CRC寄存器向右移一位,MSB補(bǔ)零,移出并檢查LSB。(4)如果LSB為0,重復(fù)第三步;若LSB為1,CRC寄存器與0x31相異或。(5)重復(fù)第3與第4步直到8次移位全部完成。此時(shí)一個(gè)8-bit數(shù)據(jù)處理完畢。(6)重復(fù)第2至第5步直到所有數(shù)據(jù)全部處理完成。(7)最終CRC寄存器的內(nèi)容與“結(jié)果異或值”進(jìn)行或非操作后即為CRC值。示例性的C代碼如下所示,因?yàn)樾屎艿?,?xiàng)目中如對(duì)計(jì)算時(shí)間有要求應(yīng)該避免采用這樣的代碼。不過這個(gè)代碼已經(jīng)比網(wǎng)上常見的計(jì)算代碼要好了,因?yàn)檫@個(gè)代碼有一個(gè)crc的參數(shù),可以將上次計(jì)算的crc結(jié)果傳入函數(shù)中作為這次計(jì)算的初始值,這對(duì)大數(shù)據(jù)塊的CRC計(jì)算是很有用的,不需要一次將所有數(shù)據(jù)讀入內(nèi)存,而是讀一部分算一次,全讀完后就計(jì)算完了。這對(duì)內(nèi)存受限系統(tǒng)還是很有用的。

上面的代碼是我從http://mdfs.net/Info/Comp/Comms/CRC16.htm找到的,不過原始代碼有錯(cuò)誤,我做了些小的修改。

下面對(duì)這個(gè)函數(shù)給出個(gè)例子片段代碼:

讀者可以驗(yàn)算,c1、c2 的結(jié)果都為 29b1。上面代碼中crc 的初始值之所以為0xffff,是因?yàn)镃CITT標(biāo)準(zhǔn)要求的除數(shù)初始值就是0xffff。

上面的算法對(duì)數(shù)據(jù)流逐位進(jìn)行計(jì)算,效率很低。實(shí)際上仔細(xì)分析CRC計(jì)算的數(shù)學(xué)性質(zhì)后我們可以多位多位計(jì)算,最常用的是一種按字節(jié)查表的快速算法。該算法基于這樣一個(gè)事實(shí):計(jì)算本字節(jié)后的CRC碼,等于上一字節(jié)余式CRC碼的低8位左移8位,加上上一字節(jié)CRC右移 8位和本字節(jié)之和后所求得的CRC碼。如果我們把8位二進(jìn)制序列數(shù)的CRC(共256個(gè))全部計(jì)算出來,放在一個(gè)表里,編碼時(shí)只要從表中查找對(duì)應(yīng)的值進(jìn)行處理即可。

按照這個(gè)方法,可以有如下的代碼(這個(gè)代碼也不是我寫的,是我在Micbael Barr的書“Programming Embedded Systems in C and C++” 中找到的,同樣,我做了點(diǎn)小小的改動(dòng)。):
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • CRC校驗(yàn)
    +關(guān)注

    關(guān)注

    0

    文章

    84

    瀏覽量

    15841
  • CRC算法
    +關(guān)注

    關(guān)注

    0

    文章

    15

    瀏覽量

    9002

原文標(biāo)題:嵌入式程序員的循環(huán)冗余校驗(yàn)(CRC)算法最簡單入門

文章出處:【微信號(hào):weixin21ic,微信公眾號(hào):21ic電子網(wǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    CW32嵌入式軟件開發(fā)的必備知識(shí)

    嵌入式軟件開發(fā)作為計(jì)算機(jī)科學(xué)和電子工程的交叉領(lǐng)域,要求開發(fā)人員具備一系列的專業(yè)知識(shí)和技能。 而基于CW32的嵌入式軟件
    發(fā)表于 11-28 07:48

    嵌入式開發(fā)的關(guān)鍵點(diǎn)介紹

    嵌入式開發(fā)在現(xiàn)代科技中扮演著非常重要的角色。隨著物聯(lián)網(wǎng)的發(fā)展,嵌入式系統(tǒng)的需求也越來越大。嵌入式開發(fā)不僅需要開發(fā)人員具備深入的硬件知識(shí)和編程
    發(fā)表于 11-13 08:12

    恩智浦如何攻克兩大嵌入式開發(fā)難題

    在我們的身邊,嵌入式系統(tǒng)無處不在。而隨著技術(shù)的進(jìn)步和應(yīng)用的拓展,今天的嵌入式開發(fā)也面臨著諸多新課題、新挑戰(zhàn)。
    的頭像 發(fā)表于 10-27 09:28 ?1090次閱讀

    新一代嵌入式開發(fā)平臺(tái) AMD嵌入式軟件和工具2025.1版現(xiàn)已推出

    AMD 2025.1 版嵌入式軟件和工具是面向新一代嵌入式系統(tǒng)開發(fā)而打造的綜合平臺(tái),全面加速概念構(gòu)想到部署落地。 2025.1 版嵌入式軟件和工具的新 增功能 AMD
    的頭像 發(fā)表于 08-20 09:15 ?3597次閱讀

    嵌入式開發(fā)就業(yè)還有前景嗎?

    發(fā)動(dòng)機(jī)控制、底盤控制、車身控制等。嵌入式開發(fā)人員需要掌握相關(guān)的硬件和軟件技術(shù),如處理器、傳感器、通信技術(shù)、汽車控制算法等,同時(shí)也需要具備一定的汽車結(jié)構(gòu)和原理知識(shí)。 5)航空航天 航空航天是指應(yīng)用于航空航天
    發(fā)表于 07-16 10:47

    嵌入式開發(fā)入門指南:從零開始學(xué)習(xí)嵌入式

    特定功能的計(jì)算機(jī)系統(tǒng),廣泛應(yīng)用于智能家居、工業(yè)控制、醫(yī)療設(shè)備、車載系統(tǒng)等領(lǐng)域。 2. 學(xué)習(xí)嵌入式開發(fā)的前置知識(shí)熟悉C語言編程掌握基本的數(shù)據(jù)結(jié)構(gòu)與算法了解數(shù)字電路與微控制器原理熟悉Linux操作系統(tǒng)
    發(fā)表于 05-15 09:29

    嵌入式開發(fā):高門檻的系統(tǒng)性工程與 996 的行業(yè)困局

    嵌入式開發(fā)的門檻,往往被培訓(xùn)機(jī)構(gòu)和表象所掩蓋。許多人誤以為 “用 C 語言寫個(gè)跑在 ARM 上的程序” 就是嵌入式,實(shí)則連皮毛都未觸及。真正的嵌入式開發(fā)是硬件與軟件深度融合的系統(tǒng)性工程,需跨越三重壁壘
    的頭像 發(fā)表于 04-09 11:06 ?660次閱讀
    <b class='flag-5'>嵌入式開發(fā)</b>:高門檻的系統(tǒng)性工程與 996 的行業(yè)困局

    BlackBerry QNX推出通用嵌入式開發(fā)平臺(tái)

    BlackBerry有限公司(紐交所代碼:BB;多倫多證券交易所代碼:BB)旗下部門QNX今日宣布推出QNX 通用嵌入式開發(fā)平臺(tái)(General Embedded Development
    的頭像 發(fā)表于 03-11 16:04 ?919次閱讀

    AI來襲!嵌入式開發(fā)者該如何應(yīng)對(duì)轉(zhuǎn)型?

    AI正在改變世界!從自動(dòng)駕駛到智能家居,從工業(yè)自動(dòng)化到語音助手,各行各業(yè)都在朝著智能化方向邁進(jìn)。對(duì)于嵌入式開發(fā)者來說,AI的到來既是一次前所未有的挑戰(zhàn),也是一個(gè)充滿機(jī)遇的時(shí)代。過去,我們專注于硬件
    的頭像 發(fā)表于 03-04 14:41 ?1358次閱讀
    AI來襲!<b class='flag-5'>嵌入式開發(fā)</b>者該如何應(yīng)對(duì)轉(zhuǎn)型?

    代碼+案例+生態(tài):武漢芯源半導(dǎo)體CW32嵌入式開發(fā)實(shí)戰(zhàn)正式出版

    尊敬的各位電子工程師、嵌入式開發(fā)愛好者們:大家好!今天,我們懷著無比激動(dòng)與自豪的心情,向大家宣布一個(gè)重大喜訊——武漢芯源半導(dǎo)體的單片機(jī)CW32正式出書啦!《基于ARMCortex-M0+的CW32
    的頭像 發(fā)表于 03-03 15:15 ?994次閱讀
    代碼+案例+生態(tài):武漢芯源半導(dǎo)體CW32<b class='flag-5'>嵌入式開發(fā)</b>實(shí)戰(zhàn)正式出版

    如何成為嵌入式開發(fā)工程師?

    如何成為嵌入式開發(fā)工程師? 成為嵌入式開發(fā)工程師通常需要掌握一系列技能和知識(shí),并且在實(shí)踐中不斷積累經(jīng)驗(yàn)。以下是一些基本步驟和建議: 1. 基礎(chǔ)教育:- 獲取電子工程、計(jì)算機(jī)科學(xué)或相關(guān)領(lǐng)域的學(xué)位
    發(fā)表于 02-19 10:39

    哪些專業(yè)適合學(xué)習(xí)嵌入式開發(fā)?

    哪些專業(yè)適合學(xué)習(xí)嵌入式開發(fā)? 在傳統(tǒng)行業(yè)不斷被取代的當(dāng)下,對(duì)于大學(xué)生、從業(yè)者而言,選擇一個(gè)熱門主流的職業(yè)方向,是未來發(fā)展的關(guān)鍵因素之一。 嵌入式作為當(dāng)下高薪崗位之一,轉(zhuǎn)行、轉(zhuǎn)專業(yè)的人群已經(jīng)占據(jù)求職
    發(fā)表于 01-03 13:44

    嵌入式開發(fā)必備-RK3562演示Linux常用系統(tǒng)查詢命令(上)觸覺智能出品

    實(shí)用干貨!嵌入式開發(fā)學(xué)習(xí)必備-RK3562演示Linux常用系統(tǒng)查詢命令(上)關(guān)注觸覺智能持續(xù)為大家?guī)砀?b class='flag-5'>嵌入式開發(fā)內(nèi)容
    的頭像 發(fā)表于 12-31 10:51 ?117次閱讀
    <b class='flag-5'>嵌入式開發(fā)</b>必備-RK3562演示Linux常用系統(tǒng)查詢命令(上)觸覺智能出品

    新手怎么學(xué)嵌入式?

    的運(yùn)行機(jī)制。例如,了解數(shù)據(jù)結(jié)構(gòu)中的鏈表、棧和隊(duì)列,對(duì)于在嵌入式編程中管理數(shù)據(jù)非常有幫助。 2. 選擇合適的編程語言 嵌入式開發(fā)中常用的編程語言有 C 和 C++。C 語言是嵌入式開發(fā)的基礎(chǔ),它具有高效
    發(fā)表于 12-12 10:51

    如何使用 RISC-V 進(jìn)行嵌入式開發(fā)

    RISC-V是一種開源的指令集架構(gòu)(ISA),它允許任何人設(shè)計(jì)、制造和銷售基于RISC-V的處理器,這為嵌入式開發(fā)提供了極大的靈活性和創(chuàng)新空間。以下是使用RISC-V進(jìn)行嵌入式開發(fā)的基本步驟: 一
    的頭像 發(fā)表于 12-11 17:32 ?2720次閱讀