如何在IAR中配置CRC參數(shù)_第1頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、如何在iar中配置crc參數(shù)前言全系列產(chǎn)品都具有crc外設(shè),對(duì)crc的計(jì)算提供硬件支持,為應(yīng)用程序節(jié)約了代碼空間。crc校驗(yàn)值可以用于數(shù)據(jù)傳輸中的數(shù)據(jù)正確性的驗(yàn)證,也可用于數(shù)據(jù)存儲(chǔ)時(shí)的完整性檢查。在iec60335中,也接受通過crc校驗(yàn)對(duì)flash的完整性舉行檢查。在對(duì)flash完整性檢查的應(yīng)用中,需要事先計(jì)算出囫圇flash的crc校驗(yàn)值(不包括最后保存crc值的字節(jié)),放在flash的末尾。在程序啟動(dòng)或者運(yùn)行的過程中重新用同樣的辦法計(jì)算囫圇flash的crc校驗(yàn)值,然后與保存在flash末尾的crc值舉行比較。ew從v5.5版本之后開頭支持stm32芯片的crc計(jì)算。前面所說的計(jì)算囫圇f

2、lash的crc校驗(yàn)值并保存在flash末尾的過程,可以在iar中完成。通過配置ewarm的crc計(jì)算參數(shù),自動(dòng)對(duì)囫圇flash空間舉行crc計(jì)算,并將計(jì)算結(jié)果放到flash的末尾。本文中將介紹的就是如何配置iar的crc參數(shù),使之與stm32的crc硬件模塊保持全都。本文中的例子都基于stm32f072舉行。 stm32的crc外設(shè)crc校驗(yàn)值的計(jì)算采納多項(xiàng)式除法,可以通過除數(shù)和被除數(shù)舉行異或運(yùn)算實(shí)現(xiàn)。這種辦法十分適合通過硬件來實(shí)現(xiàn)。用法stm32crc外設(shè)時(shí),你要考慮的內(nèi)容包括:采納哪個(gè)crc生成多項(xiàng)式,輸入數(shù)據(jù)(要舉行校驗(yàn)的數(shù)據(jù))和初始值。1.生成多項(xiàng)式默認(rèn)用法crc32多項(xiàng)式:0x4c

3、11db7部分芯片支持可編程的多項(xiàng)式,比如stm32f3,stm32f0,stm32l02.初始值stm32的crc初始值默認(rèn)為0xffffffff,stm32f3,stm32f0,stm32l0系列可以修改初始值3.輸入/輸出數(shù)據(jù)的反轉(zhuǎn)stm32f3,stm32f0,stm32l0系列還提供了對(duì)輸入/輸出數(shù)據(jù)舉行反轉(zhuǎn)的功能。默認(rèn)不對(duì)輸入數(shù)據(jù)和輸出數(shù)據(jù)舉行位反轉(zhuǎn)· 對(duì)輸入數(shù)據(jù)的位反轉(zhuǎn)操作可以設(shè)置為按字節(jié)/半字 /字為單元舉行操作。例如輸入數(shù)據(jù)為0x1a2b3c4d,o 每個(gè)字節(jié)內(nèi)逐位反轉(zhuǎn),結(jié)果是0x58d43cb2o 每半字內(nèi)逐位反轉(zhuǎn),結(jié)果是0xd458b23co 每個(gè)字長(zhǎng)內(nèi)逐位反轉(zhuǎn)

4、,結(jié)果是0xb23cd458· 對(duì)輸出數(shù)據(jù)的位反轉(zhuǎn)。o 例如輸出數(shù)據(jù)為0x11223344,反轉(zhuǎn)后為0x22cc4488 iar的crc配置1.修改link文件指定checksum在flash中的存儲(chǔ)位置,在link文件中增強(qiáng)下面語(yǔ)句。該語(yǔ)句指定將crc的值放在flash的末尾位置。是囫圇flash空間的末尾,不是應(yīng)用程序的代碼末尾。這樣,crc值的位置就是固定的。不會(huì)隨代碼大小而變幻。2.配置checksum頁(yè)面的參數(shù)iar checksum頁(yè)解釋(v6.4及以上)iar的checksum頁(yè)面分為兩個(gè)部分。第一部分,也就是紅線圈出的部分。定義了flash中需要計(jì)算crc的范圍和空閑

5、字節(jié)填充值。剩下的部分,就是對(duì)checksum計(jì)算參數(shù)的設(shè)定部分。checksum size :挑選checksum的大?。ㄗ止?jié)數(shù))alignment:指定checksum的對(duì)齊方式。不填的話默認(rèn)2字節(jié)對(duì)齊。 algorithm:挑選checksum的算法complement:是否需要舉行補(bǔ)碼計(jì)算。挑選“asis”就是不舉行補(bǔ)碼計(jì)算。bit order:位輸出的挨次。msb first,每個(gè)字節(jié)的高位在前。lsb first,每個(gè)字節(jié)的低位在前。reverse byte order within word: 對(duì)于輸入數(shù)據(jù),在一個(gè)字內(nèi)反轉(zhuǎn)各個(gè)字節(jié)的挨次。initial value: checksum計(jì)算的初始化值checksum unit size :挑選舉行迭代的單元大小,按8-bit,16-bit還是32-bit舉行迭代。3.stm32 crc外設(shè)用法默認(rèn)配置時(shí)iar的配置stm32crc外設(shè)的配置:poly= 0x4c11db7(crc32)initi

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論