衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

在IAR Embedded Workbench中計算多個地址區間的Checksum

IAR愛亞系統 ? 來源:IAR愛亞系統 ? 2024-01-05 12:33 ? 次閱讀

在前面的文章“使用IAR Embedded Workbench和MCU的CRC模塊來檢查代碼的完整性”中介紹了如何在IAR Embedded Workbench中配置生成對應代碼區域的CRC校驗碼。但是在IDE里面的Linker > Checksum選項里面只能配置一個地址區間并且只能生成一個Checksum。如果有多個地址空間,那么IDE里面的Linker > Checksum選項沒有辦法滿足需求,需要使用命令行的方式。

本文主要介紹如何在IAR Embedded Workbench中計算多個地址區間的Checksum。

兩個地址區間生成兩個Checksum

假設對應的兩個地址空間分別為0x08000000-0x0801FFFB(對應Checksum放到0x0801FFFC)和0x08030000-0x0803FFFB(對應Checksum放到0x0803FFFC)。

不使能Linker > Checksum選項中的配置:

8f362860-ab7f-11ee-8b88-92fbcf53809c.png

在Linker > Extra Options中添加對應的命令:

--place_holder __checksum1,4,.checksum1,4
--place_holder __checksum2,4,.checksum2,4

8f5b587e-ab7f-11ee-8b88-92fbcf53809c.png

ICF文件中添加對應的命令:

define exported symbol __checksum_begin1 =0x08000000;
define exported symbol __checksum_end1   =0x0801FFFB;
define exported symbol __checksum_begin2 =0x08030000;
define exported symbol __checksum_end2   =0x0803FFFB;




place at address mem: 0x0801FFFC { section .checksum1 };
place at address mem: 0x0803FFFC { section .checksum2 };

在Build Actions里面添加對應生成Checksum的命令:

ielftool --fill 0xFF;0x08000000-0x0801FFFB --fill 0xFF;0x08030000-0x0803FFFB --checksum 
__checksum1:4,crc32:Li,0xffffffff;0x08000000-0x0801FFFB --checksum 
__checksum2:4,crc32:Li,0xffffffff;0x08030000-0x0803FFFB --verbose "$TARGET_PATH$" "$TARGET_PATH$"    

8f7246f6-ab7f-11ee-8b88-92fbcf53809c.png

8f837eda-ab7f-11ee-8b88-92fbcf53809c.png

Build并查看對應的Build Log和MAP文件檢查Checksum相關的信息

8f97a914-ab7f-11ee-8b88-92fbcf53809c.png

8fb29daa-ab7f-11ee-8b88-92fbcf53809c.png

兩個地址區間生成一個Checksum

假設對應的兩個地址空間分別為0x08000000-0x0801FFFF和0x08030000-0x0803FFFB(對應Checksum放到0x0803FFFC)。

不使能Linker > Checksum選項中的配置:

8fd1020e-ab7f-11ee-8b88-92fbcf53809c.png

在Linker > Extra options中添加對應的命令:

--place_holder __checksum,4,.checksum,4

91088de0-ab7f-11ee-8b88-92fbcf53809c.png

在ICF文件中添加對應的命令:

define exported symbol __checksum_begin1 =0x08000000;
define exported symbol __checksum_end1   =0x0801FFFF;
define exported symbol __checksum_begin2 =0x08030000;
define exported symbol __checksum_end2   =0x0803FFFB;
 
place at address mem: 0x0803FFFC { section .checksum };
在Build Actions里面添加對應生成Checksum的命令:
ielftool--fill0xFF;0x08000000-0x0801FFFF--fill0xFF;0x08030000-0x0803FFFB--checksum
__checksum:4,crc32:Li,0xffffffff;0x08000000-0x0801FFFF;0x08030000-0x0803FFFB --verbose "$TARGET_PATH$" "$TARGET_PATH$"  

9128bf7a-ab7f-11ee-8b88-92fbcf53809c.png

914069e0-ab7f-11ee-8b88-92fbcf53809c.png

Build并查看對應的Build Log和MAP文件檢查相關Checksum的信息:

9158ff5a-ab7f-11ee-8b88-92fbcf53809c.png

9175abd2-ab7f-11ee-8b88-92fbcf53809c.png

總結

本文通過兩個例子介紹了如何在IAR Embedded Workbench中計算多個地址區間的Checksum,包括多個地址區間生成多個Checksum和多個地址區間生成一個Checksum。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • IAR
    IAR
    +關注

    關注

    5

    文章

    354

    瀏覽量

    36780
  • 文件
    +關注

    關注

    1

    文章

    570

    瀏覽量

    24821
  • 代碼
    +關注

    關注

    30

    文章

    4825

    瀏覽量

    69043
  • 命令行
    +關注

    關注

    0

    文章

    78

    瀏覽量

    10420

原文標題:在IAR Embedded Workbench中計算多個地址區間的Checksum

文章出處:【微信號:IAR愛亞系統,微信公眾號:IAR愛亞系統】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    如何在IAR Embedded Workbench中配置生成對應代碼區域的CRC校驗碼

    “使用IAR Embedded Workbench和MCU的CRC模塊來檢查代碼的完整性”一文中,介紹了如何在IAR
    的頭像 發表于 10-27 11:49 ?1772次閱讀
    如何在<b class='flag-5'>IAR</b> <b class='flag-5'>Embedded</b> <b class='flag-5'>Workbench</b>中配置生成對應代碼區域的CRC校驗碼

    IAR版本為Embedded Workbench 6.5 Kickstart 1.4 編繹報錯怎么解決?

    請教 IAR 這個錯誤是什么問題 IAR版本為Embedded Workbench 6.0 Kickstart 1.30 編繹正常沒出錯
    發表于 05-09 06:36

    IAR Embedded Workbench中進行ARM+RISC-V多核調試

    之前的文章中,我們介紹了如何在IAR Embedded Workbench for Arm中進行多核調試,其中所有的CPU內核都是基于ARM架構。近些年來,隨著RISC-V的興起,不
    發表于 06-14 16:55

    IAR Systems發布 IAR Embedded Wor

    IAR Systems發布 IAR Embedded Workbench for ARM新版本  IAR Systems發布
    發表于 02-11 09:14 ?1381次閱讀

    IAR_embedded_Workbench用戶指南介紹

    IAR embedded Workbench for ARM 是 IAR Systems 公司為 ARM 微處理器開發的一 個集成開發環境(下面簡稱
    發表于 11-09 18:08 ?90次下載

    IAR Embedded Workbench?集成開發環境已全面支持航順芯片HK32MCU系列

    IAR Systems?日前宣布:其最新發布的IAR Embedded Workbench for Arm? version 9.20已全面支持航順芯片HK32MCU系列,以保障基于H
    發表于 12-23 14:08 ?1798次閱讀

    IAR embedded Workbench激活工具下載

    IAR embedded Workbench的激活工具下載
    發表于 06-20 10:08 ?18次下載

    IAR Embedded Workbench創新工具促進智能醫療設備小型化

    IAR Systems 助力韓國 Osong Medical Innovation Foundation(KBIO Health) 開發先進醫療設備,IAR Embedded Workbenc
    發表于 08-12 14:22 ?755次閱讀

    如何在IAR Embedded Workbench中填充提高系統的健壯性

    IAR Embedded Workbench工程選項(Options)里面Linker選項里面Checksum:勾選“Fill unuse
    的頭像 發表于 11-03 17:16 ?1696次閱讀

    YRDKRX62N 快速入門指南(IAR Embedded Workbench)

    YRDKRX62N 快速入門指南 (IAR Embedded Workbench)
    發表于 04-12 19:14 ?0次下載
    YRDKRX62N 快速入門指南(<b class='flag-5'>IAR</b> <b class='flag-5'>Embedded</b> <b class='flag-5'>Workbench</b>)

    YRDKRL78G13 快速入門指南(IAR Embedded Workbench) Rev.1.01

    YRDKRL78G13 快速入門指南 (IAR Embedded Workbench) Rev.1.01
    發表于 04-13 18:49 ?0次下載
    YRDKRL78G13 快速入門指南(<b class='flag-5'>IAR</b> <b class='flag-5'>Embedded</b> <b class='flag-5'>Workbench</b>) Rev.1.01

    YRDKRX62N 快速入門指南(IAR Embedded Workbench)

    YRDKRX62N 快速入門指南 (IAR Embedded Workbench)
    發表于 08-04 18:30 ?1次下載
    YRDKRX62N 快速入門指南(<b class='flag-5'>IAR</b> <b class='flag-5'>Embedded</b> <b class='flag-5'>Workbench</b>)

    YRDKRL78G13 快速入門指南(IAR Embedded Workbench) Rev.1.01

    YRDKRL78G13 快速入門指南 (IAR Embedded Workbench) Rev.1.01
    發表于 08-10 18:31 ?0次下載
    YRDKRL78G13 快速入門指南(<b class='flag-5'>IAR</b> <b class='flag-5'>Embedded</b> <b class='flag-5'>Workbench</b>) Rev.1.01

    適用于AVR單片機的IAR embedded Workbench入門指南

    電子發燒友網站提供《適用于AVR單片機的IAR embedded Workbench入門指南.pdf》資料免費下載
    發表于 09-20 10:08 ?11次下載
    適用于AVR單片機的<b class='flag-5'>IAR</b> <b class='flag-5'>embedded</b> <b class='flag-5'>Workbench</b>入門指南

    IAR推出新版IAR Embedded Workbench for Arm功能安全版

    全球知名的嵌入式系統開發軟件解決方案供應商IAR Systems近日宣布,其旗艦產品IAR Embedded Workbench for Arm功能安全版已更新至最新版本9.50.3。
    的頭像 發表于 02-22 17:29 ?1476次閱讀
    百家乐赌博合作| 线上百家乐官网玩法| 威尼斯人娱乐诚| 百家乐官网辅助器| 网上娱乐城注册送彩金| 百家乐没边| 百家乐官网干洗店| 时时博娱乐城| 百盛百家乐的玩法技巧和规则| 网上百家乐官网赌场娱乐网规则| 乐百家国际娱乐城| 新濠峰百家乐的玩法技巧和规则| 玩百家乐官网澳门皇宫娱乐城| 大发888开户注册会员| 百家乐棋牌正式版| 电脑百家乐官网的玩法技巧和规则| 高州市| 大发888娱乐城怎么玩| 太阳城百家乐娱乐开户| 六合彩投注网| 百家乐透视牌靴| 七匹狼百家乐官网的玩法技巧和规则 | 送彩金百家乐的玩法技巧和规则 | 基础百家乐官网博牌| 聊城市| 大发888娱乐城主页| 百家乐h游戏怎么玩| 百家乐官网破战| 体育投注| 大发888大发888娱乐城| 澳门百家乐然后赢| 三合四局24向黄泉| 威尼斯人娱乐棋牌是真的吗| 百家乐微笑心法搜索| 百家乐官网在线洗码| 优博百家乐官网现金网| 威尼斯人娱乐城最新地址| 至尊百家乐奇热| 华泰百家乐官网的玩法技巧和规则| 百家乐官网那个平台信誉高| 囊谦县|