<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
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

    文章

    324

    瀏覽量

    36341
  • 文件
    +關注

    關注

    1

    文章

    540

    瀏覽量

    24454
  • 代碼
    +關注

    關注

    30

    文章

    4575

    瀏覽量

    67133
  • 命令行
    +關注

    關注

    0

    文章

    75

    瀏覽量

    10357

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

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

收藏 人收藏

    評論

    相關推薦

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

    在“使用IAR Embedded Workbench和MCU的CRC模塊來檢查代碼的完整性”一文中,介紹了如何在IAR Embedded
    的頭像 發表于 10-27 11:49 ?954次閱讀
    如何在<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 for RL78版本2.21.2

    大家好,請問誰有IAR Embedded Workbench for RL78版本 2.21.2這個軟件,可以發一下嗎,郵箱1733517686@qq.com,謝謝了。
    發表于 10-11 17:06

    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 ?1275次閱讀

    IAR_embedded_Workbench用戶指南介紹

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

    IAR embedded Workbench激活工具下載

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

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

    IAR Embedded Workbench工程選項(Options)里面Linker選項里面Checksum:勾選“Fill unused code memory”, Fill p
    的頭像 發表于 11-03 17:16 ?1059次閱讀

    全新 IAR Embedded Workbench for RISC-V 支持 Andes CoDense?擴展

    來源:IAR Systems IAR Embedded Workbench for RISC-V 3.11 版支持 AndeStar? V5 RISC-V 處理器的 Andes CoD
    的頭像 發表于 11-17 17:20 ?574次閱讀

    全新IAR Embedded Workbench for RISC-V 支持 Andes CoDense擴展

    全新 IAR Embedded Workbench for RISC-V 支持 Andes CoDense?擴展 IAR Embedded
    發表于 11-18 12:29 ?559次閱讀

    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 ?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
    發表于 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

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

    全球知名的嵌入式系統開發軟件解決方案供應商IAR Systems近日宣布,其旗艦產品IAR Embedded Workbench for Arm功能安全版已更新至最新版本9.50.3。
    的頭像 發表于 02-22 17:29 ?721次閱讀
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>