18video性欧美19sex,欧美高清videosddfsexhd,性少妇videosexfreexxx片中国,激情五月激情综合五月看花,亚洲人成网77777色在线播放

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

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

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

使用SEGGER Linker的完整性檢查功能

麥克泰技術(shù) ? 來源:麥克泰技術(shù) ? 2023-05-04 10:45 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

嵌入式產(chǎn)品應(yīng)用中,為了保證系統(tǒng)數(shù)據(jù)在存儲(chǔ)或者傳輸過程中的完整性,固件映像中通常包含完整性檢查(integrity checks),以檢測(cè)映像是否損壞。例如,bootloader可以基于完整性檢查驗(yàn)證一個(gè)更新的固件映像是否可信?;蛘吖碳谕暾詸z查可以自我驗(yàn)證,檢查Flash是否損壞。

SEGGER Embedded Studio從v5.10版本(Linker v3.00及以上版本)開始提供完整性檢查功能,支持多種CRC和消息摘要算法(例如MD5和SHA)。

b39c6296-e708-11ed-ab56-dac502259ad0.png

b3b49e60-e708-11ed-ab56-dac502259ad0.png

01

使用方法

使用Linker提供的完整性檢查功能,首先需要將執(zhí)行檢查的區(qū)域定義為一個(gè)region,并為放置計(jì)算結(jié)果的區(qū)域定義一個(gè)region。

我們可以為整個(gè)Flash區(qū)域上創(chuàng)建一個(gè)CRC,并將結(jié)果放在Flash的末尾 。

此外,我們還可以定義計(jì)算CRC的區(qū)域的填充值。如:

define region FLASH    = [0x80000000 size 512k];
define region CRC     = [end(FLASH)-4, size 4];
define region APPLICATION = FLASH - CRC; 
fill APPLICATION with 0xFF;

將應(yīng)用段放到APPLICATION 域。

使用選擇的算法如CRC-32計(jì)算CRC。

place in CRC {
 integrity check of APPLICATION with algorithm="CRC-32" fill=0xFF
};

現(xiàn)在,APPLICATION域的CRC-32計(jì)算結(jié)果將保存在CRC域中。

02

實(shí)現(xiàn)

我們使用ST STM32F4_Discovery開發(fā)板,基于SEGGER Embedded Studio V7.10 提供的package manager創(chuàng)建STM32F4示例工程。

修改鏈接腳本

首先,我們需要在鏈接定位文件STM32F4xx_Flash_CCM.icf中定義應(yīng)用程序和計(jì)算出的CRC值放置的區(qū)域:

define region CRC = [end(FLASH)-4 size 4];
define region APPLICATION = FLASH - CRC;

將應(yīng)用段放置在APPLICATION區(qū)域之后,執(zhí)行完整性檢查,并將結(jié)果將被放置在CRC區(qū)域:

place in CRC {
integrity check of APPLICATION with algorithm="CRC-32/STM32" fill=0xFF
};
fill APPLICATION with 0xFF;

最后一行是可選的,確保Flash的所有空白區(qū)域使用相同值填充,用于計(jì)算CRC。

使用的算法是CRC-32/STM32,與目標(biāo)處理器使用的算法相同。

03

驗(yàn)證CRC結(jié)果

STM32系列內(nèi)置了一個(gè)CRC-32硬件計(jì)算單元,為了驗(yàn)證生成的CRC,我們將計(jì)算結(jié)果與STM32 CRC外設(shè)的硬件實(shí)現(xiàn)進(jìn)行比較。

在應(yīng)用程序使用STM32 CRC外設(shè)計(jì)算應(yīng)用程序區(qū)域上的CRC,然后將其與鏈接器計(jì)算的CRC進(jìn)行比較。

首先使能CRC外設(shè),基于ST CMSIS文件,操作如下:

RCC->AHB1ENR |= RCC_AHB1ENR_CRCEN; // Enable CRC clock
CRC->CR |= CRC_CR_RESET;      // Reset peripheral

為了計(jì)算CRC,數(shù)據(jù)被逐字寫入CRC數(shù)據(jù)寄存器

do {
           CRC->DR = __REV(*pData);  // Calculate CRC
        pData++;
} while (NumItems--);       
CRCResultHW = CRC->DR;      // Save CRC result

注意,STM32 CRC外設(shè)需要反轉(zhuǎn)一個(gè)字中各個(gè)字節(jié)的順序。為此,我們只需使用Embedded Studio的內(nèi)部函數(shù)__REV()。

運(yùn)行該應(yīng)用程序,在Debug Terminal窗口可以看到SEGGER linker CRC和STM32 CRC是匹配的。

b3cf4dc8-e708-11ed-ab56-dac502259ad0.png

通過SEGGER linker支持固件(firmware)完整性檢查,無需外部工具,所有工作都可以在Embedded Studio工具鏈中本地完成,大大簡(jiǎn)化了需要完整性檢查的設(shè)置。

附:

File  : main.c
Purpose : Example application doing a CRC check using the STM32 CRC peripheral


#include 
#include 
#include "stm32f4xx.h"


#define FLASH_IMAGE_START 0x08000000
#define FLASH_IMAGE_END  0x080FFFFC
#define FLASH_APPLICATION_END (FLASH_IMAGE_END - 0x4)
/*********************************************************************
*
*    main()
*
* Function description
*  Application entry point.
*/
int main(void) {
 int i;
 unsigned int NumItems;
 unsigned int* pData;
 unsigned int CRCResultHW;
 unsigned int CRCResult;
 unsigned int OldValue;
 
 i = 0;
 NumItems = (FLASH_APPLICATION_END - FLASH_IMAGE_START) / 4;
 pData = (unsigned int*)FLASH_IMAGE_START;  // points to start of Flash
 CRCResult = *(unsigned int*)FLASH_IMAGE_END; // Saves CRC value calculated by SEGGER Linker
 //
 // Config CRC Module
 //
 RCC->AHB1ENR |= RCC_AHB1ENR_CRCEN;
 CRC->CR |= CRC_CR_RESET;
 //
 // Calculate CRC with ST CRC unit over complete Flash area
 //
 do {
  CRC->DR = __REV(*pData); // ST algorithm expects words in reversed order
  pData++;
 } while (NumItems--);
 CRCResultHW = CRC->DR;
 printf("Hardware calculated CRC over Flash is: 0x%X 
", CRCResultHW);
 printf("SEGGER Linker calculated CRC over Flash is: 0x%X
", CRCResult);
 //
 // Compare with Linker result
 //
 if (CRCResult == CRCResultHW) {
  printf("Both CRC check sums are matching!
");
 } else {
  printf("CRC check sums are not matching. Check parameters.
");
 }
 do {
  i++;
 } while (1);
}





審核編輯:劉清

聲明:本文內(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)投訴
  • FlaSh
    +關(guān)注

    關(guān)注

    10

    文章

    1702

    瀏覽量

    154175
  • crc
    crc
    +關(guān)注

    關(guān)注

    0

    文章

    204

    瀏覽量

    30535
  • SHA
    SHA
    +關(guān)注

    關(guān)注

    0

    文章

    19

    瀏覽量

    8654
  • STM32F4
    +關(guān)注

    關(guān)注

    3

    文章

    204

    瀏覽量

    29689
  • SEGGER
    +關(guān)注

    關(guān)注

    0

    文章

    58

    瀏覽量

    14685

原文標(biāo)題:使用SEGGER Linker的完整性檢查功能

文章出處:【微信號(hào):麥克泰技術(shù),微信公眾號(hào):麥克泰技術(shù)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    什么是信號(hào)完整性

    電子發(fā)燒友網(wǎng)站提供《什么是信號(hào)完整性?.pdf》資料免費(fèi)下載
    發(fā)表于 07-09 15:10 ?0次下載

    了解信號(hào)完整性的基本原理

    作者:Cece Chen 投稿人:DigiKey 北美編輯 隨著支持人工智能 (AI) 的高性能數(shù)據(jù)中心的興起,信號(hào)完整性 (SI) 變得至關(guān)重要,這樣才能以更高的速度傳輸海量數(shù)據(jù)。為確保信號(hào)完整性
    的頭像 發(fā)表于 05-25 11:54 ?693次閱讀
    了解信號(hào)<b class='flag-5'>完整性</b>的基本原理

    Samtec虎家大咖說 | 淺談信號(hào)完整性以及電源完整性

    前言 在這一期的Samtec虎家大咖說節(jié)目中,Samtec信號(hào)完整性(SI)和電源完整性(PI)專家Scott McMorrow、Rich Mellitz和Istvan Novak回答了觀眾的提問
    發(fā)表于 05-14 14:52 ?1015次閱讀
    Samtec虎家大咖說 | 淺談信號(hào)<b class='flag-5'>完整性</b>以及電源<b class='flag-5'>完整性</b>

    電源完整性基礎(chǔ)知識(shí)

    先說一下,信號(hào)完整性為什么寫電源完整性?SI 只是針對(duì)高速信號(hào)的部分,這樣的理解沒有問題。如果提高認(rèn)知,將SI 以大類來看,SI&amp;PI&amp;EMI 三者
    發(fā)表于 05-13 14:41

    信號(hào)完整性測(cè)試基礎(chǔ)知識(shí)

    在當(dāng)今快速發(fā)展的數(shù)字時(shí)代,高速傳輸已成為電子設(shè)備的基本要求。隨著數(shù)據(jù)傳輸速率的不斷提升,信號(hào)完整性(Signal Integrity,簡(jiǎn)稱SI)問題變得越來越重要。信號(hào)完整性是高速互連系統(tǒng)設(shè)計(jì)的基石
    的頭像 發(fā)表于 04-24 16:42 ?2978次閱讀
    信號(hào)<b class='flag-5'>完整性</b>測(cè)試基礎(chǔ)知識(shí)

    電源完整性分析及其應(yīng)用

    引言 電源完整性這一概念是以信號(hào)完整性為基礎(chǔ)的,兩者的出現(xiàn)都源自電路開關(guān)速度的提高。當(dāng)高速信號(hào)的翻轉(zhuǎn)時(shí)間和系統(tǒng)的時(shí)鐘周期可以相比時(shí),具有分布參數(shù)的信號(hào)傳輸線、電源和地就和低速系統(tǒng)中的情況完全不同了
    發(fā)表于 04-23 15:39

    普源DHO3000系列示波器電源完整性測(cè)試

    整個(gè)系統(tǒng)的性能和可靠。普源DHO3000系列示波器憑借其卓越的性能和豐富的功能,成為進(jìn)行電源完整性測(cè)試的絕佳工具。本文將詳細(xì)探討基于普源DHO3000系列示波器的電源完整性測(cè)試方案,
    的頭像 發(fā)表于 04-15 14:45 ?468次閱讀
    普源DHO3000系列示波器電源<b class='flag-5'>完整性</b>測(cè)試

    技術(shù)資訊 | 信號(hào)完整性測(cè)試基礎(chǔ)知識(shí)

    本文重點(diǎn)信號(hào)完整性測(cè)試需要從測(cè)試電路板和原型獲取實(shí)驗(yàn)數(shù)據(jù)并加以分析。在理想的工作流程中,還會(huì)仿真信號(hào)完整性指標(biāo),并將其與實(shí)際測(cè)量值進(jìn)行比較。信號(hào)完整性測(cè)試只能檢查特定的結(jié)構(gòu),通常需要在
    的頭像 發(fā)表于 04-11 17:21 ?1751次閱讀
    技術(shù)資訊 | 信號(hào)<b class='flag-5'>完整性</b>測(cè)試基礎(chǔ)知識(shí)

    普源示波器在信號(hào)完整性分析中的應(yīng)用研究

    著系統(tǒng)的性能和可靠。普源示波器作為一種高精度、多功能測(cè)試儀器,在信號(hào)完整性分析中發(fā)揮著不可或缺的作用。本文將探討普源示波器在信號(hào)完整性分析中的應(yīng)用及其重要
    的頭像 發(fā)表于 03-19 14:20 ?562次閱讀
    普源示波器在信號(hào)<b class='flag-5'>完整性</b>分析中的應(yīng)用研究

    PCB信號(hào)完整性探討-PPT

    信號(hào)完整性(Signal lntegrity,SI)包含由于信號(hào)傳輸速率加快而產(chǎn)生的互連、電源、器件等引起的所有信號(hào)質(zhì)量及延時(shí)等問題。 ? ?
    的頭像 發(fā)表于 01-15 11:30 ?850次閱讀
    PCB信號(hào)<b class='flag-5'>完整性</b>探討-PPT

    是德示波器在電源完整性分析中的應(yīng)用

    影響系統(tǒng)穩(wěn)定性,甚至可能導(dǎo)致系統(tǒng)失效。因此,對(duì)電源完整性進(jìn)行精確分析和有效的解決至關(guān)重要。而作為電子測(cè)量領(lǐng)域領(lǐng)先廠商,是德(Keysight)的示波器憑借其卓越的性能和豐富的功能,在電源完整性分析中扮演著關(guān)鍵角色。 是德示波器并
    的頭像 發(fā)表于 01-07 11:05 ?608次閱讀
    是德示波器在電源<b class='flag-5'>完整性</b>分析中的應(yīng)用

    如何解決信號(hào)完整性問題

    如何解決信號(hào)完整性問題呢?是德科技在向您介紹信號(hào)完整性分析基礎(chǔ)知識(shí)的同時(shí),我們還向您展示如何使用基本信號(hào)完整性(Signal Integrity - SI) 分析技術(shù)(例如眼圖、S參數(shù)、時(shí)域反射計(jì)(TDR) 和單脈沖響應(yīng))來解決
    的頭像 發(fā)表于 12-25 16:51 ?2194次閱讀
    如何解決信號(hào)<b class='flag-5'>完整性</b>問題

    聽懂什么是信號(hào)完整性

    2024年12月20日14:00-16:00中星聯(lián)華科技將舉辦“高速信號(hào)完整性分析與測(cè)試”-“碼”上行動(dòng)系列線上講堂線上講堂。本期會(huì)議我們將為大家介紹高速串行總線傳輸基本框架,什么是信號(hào)完整性?高速
    的頭像 發(fā)表于 12-15 23:33 ?911次閱讀
    聽懂什么是信號(hào)<b class='flag-5'>完整性</b>

    12月20日線上講堂|聽懂什么是信號(hào)完整性

    2024年12月20日14:00-16:00中星聯(lián)華科技將舉辦“高速信號(hào)完整性分析與測(cè)試”-“碼”上行動(dòng)系列線上講堂線上講堂。本期會(huì)議我們將為大家介紹高速串行總線傳輸基本框架,什么是信號(hào)完整性?高速
    的頭像 發(fā)表于 12-06 01:06 ?703次閱讀
    12月20日線上講堂|聽懂什么是信號(hào)<b class='flag-5'>完整性</b>

    GND與信號(hào)完整性的關(guān)系

    在現(xiàn)代電子系統(tǒng)中,信號(hào)完整性是設(shè)計(jì)和性能的關(guān)鍵因素。信號(hào)完整性問題可能導(dǎo)致數(shù)據(jù)傳輸錯(cuò)誤、系統(tǒng)性能下降甚至設(shè)備損壞。地線(GND)是電路設(shè)計(jì)中的基本要素,它不僅為電路提供參考電位,還有助于減少電磁干擾
    的頭像 發(fā)表于 11-29 15:17 ?1513次閱讀