資料介紹
前言
STM32全系列產(chǎn)品都具有CRC外設(shè),對CRC的計算提供硬件支持,為應(yīng)用程序節(jié)省了代碼空間。CRC校驗值可以用于數(shù)據(jù)傳輸中的數(shù)據(jù)正確性的驗證,也可用于數(shù)據(jù)存儲時的完整性檢查。在IEC60335中,也接受通過CRC校驗對FLASH的完整性進行檢查。在對FLASH完整性檢查的應(yīng)用中,需要事先計算出整個FLASH的CRC校驗值(不包括最后保存CRC值的字節(jié)),放在FLASH的末尾。在程序啟動或者運行的過程中重新用同樣的方法計算整個FLASH的CRC校驗值,然后與保存在FLASH末尾的CRC值進行比較。
EWARM從v5.5版本之后開始支持STM32芯片的CRC計算。前面所說的計算整個FLASH的CRC校驗值并保存在FLASH末尾的過程,可以在IAR中完成。通過配置EWARM的CRC計算參數(shù),自動對整個FLASH空間進行CRC計算,并將計算結(jié)果放到FLASH的末尾。本文中將介紹的就是如何配置IAR的CRC參數(shù),使之與STM32的CRC硬件模塊保持一致。本文中的例子都基于STM32F072進行。
STM32的CRC外設(shè)
CRC校驗值的計算采用多項式除法,可以通過除數(shù)和被除數(shù)進行異或運算實現(xiàn)。這種方法非常適合通過硬件電路來實現(xiàn)。
使用STM32CRC外設(shè)時,你要考慮的內(nèi)容包括:采用哪個CRC生成多項式,輸入數(shù)據(jù)(要進行校驗的數(shù)據(jù))和初始值。
1.生成多項式
默認使用CRC32多項式:0x4C11DB7
部分芯片支持可編程的多項式,比如STM32F3,STM32F0,STM32L0
2.初始值
STM32的CRC初始值默認為0xFFFFFFFF,STM32F3,STM32F0,STM32L0系列可以修改初始值
3.輸入/輸出數(shù)據(jù)的反轉(zhuǎn)
STM32F3,STM32F0,STM32L0系列還提供了對輸入/輸出數(shù)據(jù)進行反轉(zhuǎn)的功能。
默認不對輸入數(shù)據(jù)和輸出數(shù)據(jù)進行位反轉(zhuǎn)
? 對輸入數(shù)據(jù)的位反轉(zhuǎn)操作可以設(shè)置為按字節(jié)/半字 /字為單元進行操作。例如輸入數(shù)據(jù)為0x1A2B3C4D,
- 每個字節(jié)內(nèi)逐位反轉(zhuǎn),結(jié)果是0x58D43CB2
- 每半字內(nèi)逐位反轉(zhuǎn),結(jié)果是0xD458B23C
- 每個字長內(nèi)逐位反轉(zhuǎn),結(jié)果是0xB23CD458
? 對輸出數(shù)據(jù)的位反轉(zhuǎn)。
- 例如輸出數(shù)據(jù)為0x11223344,反轉(zhuǎn)后為0x22CC4488
IAR的CRC配置
1.修改Link文件
指定checksum在FLASH中的存儲位置,在Link文件中增加下面語句。
該語句指定將CRC的值放在FLASH的末尾位置。是整個FLASH空間的末尾,不是應(yīng)用程序的代碼末尾。這樣,CRC值的位置就是固定的。不會隨代碼大小而變化。
2.配置Checksum頁面的參數(shù)
IAR Checksum頁說明(v6.4及以上)
IAR的checksum頁面分為兩個部分。
第一部分,也就是紅線圈出的部分。定義了FLASH中需要計算CRC的范圍和空閑字節(jié)填充值。
剩下的部分,就是對checksum計算參數(shù)的設(shè)定部分。
Checksum size :選擇checksum的大小(字節(jié)數(shù))
Alignment:指定checksum的對齊方式。不填的話默認2字節(jié)對齊。
Algorithm:選擇checksum的算法
Complement:是否需要進行補碼計算。選擇“Asis”就是不進行補碼計算。
Bit order:位輸出的順序。MSB first,每個字節(jié)的高位在前。LSB first,每個字節(jié)的低位在前。
Reverse byte order within word: 對于輸入數(shù)據(jù),在一個字內(nèi)反轉(zhuǎn)各個字節(jié)的順序。
Initial value: checksum計算的初始化值
Checksum unit size :選擇進行迭代的單元大小,按8-bit,16-bit還是32-bit進行迭代。
3.STM32 CRC外設(shè)使用默認配置時IAR的配置
STM32CRC外設(shè)的配置:
POLY= 0x4C11DB7(CRC32)
Initial_Crc = 0Xffffffff
輸入/輸出數(shù)據(jù)不反轉(zhuǎn)
輸入數(shù)據(jù):0x08000000~0x0801FFFB。(最后4個字節(jié)用來放計算出的CRC值)
具體使用中我們可以根據(jù)實際應(yīng)用需求參照上面介紹做相應(yīng)配置即可。
本文轉(zhuǎn)載自
轉(zhuǎn)載地址:
聲明:本文為轉(zhuǎn)載文章,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有,如涉及侵權(quán),請聯(lián)系小編進行處理。
(mbbeetchina)
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- STM32 CRC使用詳解
- 在STM32系列中使用CRC外設(shè)
- TF協(xié)同優(yōu)化參數(shù)配置策略(附廠家配置方案參數(shù))資料下載
- STM32 APB1總線時鐘配置問題資料下載
- 5G站點網(wǎng)優(yōu)參數(shù)配置教程資料下載
- IAR 開發(fā)STM32 ARM 版本不兼容 解決辦法資料下載 0次下載
- USB 3.0中的CRC校驗原理及實現(xiàn)資料下載
- STM32F030_LED詳細配置總結(jié)資料下載
- STM32F030_USART的常用應(yīng)用和功能配置資料下載
- 如何在STM32中配置PWM死區(qū)時間資料下載
- 16位CRC驗證碼生成VI工具下載 55次下載
- STM32軟件開工具IAR KeyGenYYC的應(yīng)用程序免費下載 4次下載
- STM32 IAR的庫函數(shù)資料免費下載 43次下載
- 如何使用IAR開發(fā)STM32配置詳細資料說明
- IAR環(huán)境配置
- 在IAR Embedded Workbench中計算多個地址區(qū)間的Checksum 1603次閱讀
- STM32基于標準外設(shè)庫的外部中斷配置 2032次閱讀
- 如何在IAR Embedded Workbench中配置生成對應(yīng)代碼區(qū)域的CRC校驗碼 1733次閱讀
- N32G45x硬件CRC計算Modbus的CRC16 1168次閱讀
- S32K3基于IAR IDE環(huán)境下使用JLINK調(diào)試 5431次閱讀
- 從原理到代碼理解CRC循環(huán)冗余校驗 2184次閱讀
- 基于STM32CubeIDE的調(diào)試配置 4069次閱讀
- 細說CANFD CRC段帶來的變化 1630次閱讀
- CC2530(zigbee)開發(fā): IAR新建工程并編譯下載 4442次閱讀
- CRC校驗和STM32中CRC計算單元相關(guān)內(nèi)容 6375次閱讀
- 開發(fā)STM32除了MDK-ARM和IAR,還可以選擇哪些軟件? 2.5w次閱讀
- STM32之軟件CRC和硬件CRC速度測試 6438次閱讀
- IAR在STM32的配置方法 1.8w次閱讀
- STM32在IAR的開發(fā)步驟 2.3w次閱讀
- 《振南電子STM32視頻教程》第二講:STM32固件庫說明 1477次閱讀
下載排行
本周
- 1PC3103 低功耗電流模式PWM控制器技術(shù)手冊
- 1.23 MB | 3次下載 | 免費
- 2L7805CV TO-220三端穩(wěn)壓IC規(guī)格書
- 0.71 MB | 1次下載 | 免費
- 3LoRa2021 全頻段無線通訊模塊規(guī)格書
- 814.22 KB | 1次下載 | 免費
- 4L7812CV TO-220三端穩(wěn)壓IC規(guī)格書
- 1.35 MB | 次下載 | 免費
- 5L7815CV TO-220三端穩(wěn)壓IC規(guī)格書
- 1.48 MB | 次下載 | 免費
- 6N-12電子傾斜儀指南
- 0.24 MB | 次下載 | 10 積分
- 7基于CP500S掃描測頭的三坐標測量系統(tǒng):復(fù)雜曲面零件解決方案
- 0.35 MB | 次下載 | 免費
- 8STM32H747xI/G 英文數(shù)據(jù)手冊
- 5.09 MB | 次下載 | 免費
本月
- 1PFC電路與BOOST電路設(shè)計實例分享
- 1.83 MB | 18次下載 | 4 積分
- 2電源測試報告-基于 國民技術(shù) N32L406 和杰華特 JW3376+3330 的 BMS 方案
- 6.47 MB | 17次下載 | 免費
- 3世平基于靈動微 SPIN560C 的低壓無刷電機應(yīng)用方案
- 10.93 MB | 11次下載 | 免費
- 4900MHz全雙工無線發(fā)射器參考設(shè)計原理圖資料
- 0.40 MB | 6次下載 | 免費
- 5PWM控制器的控制方法
- 0.39 MB | 3次下載 | 4 積分
- 6900MHz全雙工無線發(fā)射器參考設(shè)計
- 0.15 MB | 3次下載 | 1 積分
- 7美的電磁爐TM-S1-20B PN8124F+CHK S009資料圖
- 0.28 MB | 3次下載 | 10 積分
- 8FS313B USB 的 PD和QC 快充協(xié)議電壓誘騙控制器規(guī)格書
- 2.61 MB | 3次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935134次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191424次下載 | 10 積分
- 5十天學(xué)會AVR單片機與C語言視頻教程 下載
- 158M | 183352次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81602次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73819次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發(fā)燒友App






創(chuàng)作
發(fā)文章
發(fā)帖
提問
發(fā)資料
發(fā)視頻
上傳資料賺積分
評論