吴忠躺衫网络科技有限公司

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

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

3天內不再提示

如何使用腳本完成CRC和填充值的自動完成

嵌入式程序員 ? 來源:嵌入式程序員 ? 2023-10-21 09:50 ? 次閱讀

摘要

恩智浦的MPC架構的微控制器使用的開發(fā)環(huán)境IDE是S32DS ,該IDE使用的GNU GCC工具鏈沒有提供對編譯結果的CRC校驗和自動生成工具,所以需要我們制作一個腳本自動生成和填充,腳本調用Srecord工具執(zhí)行。

Srecord簡介

為了實現(xiàn)對S32DS IDE應用工程編譯結果生成的S19文件進行數(shù)據(jù)填充和CRC校驗和自動生成,滿足bootloader開發(fā)需求,我們借助功能強大的嵌入式MCU Flash編程文件編輯處理工具--Srecord, 制作一個bat的批處理腳本,腳本中調用的命令請參照srecord的文檔說明,這里不在贅述。

腳本制作

登錄官網下載最新版本1.65的srecord工具,解壓到電腦的任意目錄

所有要調用的工具都在bin文件夾下。根據(jù)說明文檔制作腳本 EPS_Fill_And_CRC_Gen_Command.bat ,腳本中調用的解壓目錄如果不相同,請更改為相應目錄,本文以我電腦的目錄為準,腳本全文如下:

@echo off

REM enter current path

cd /d %~dp0

REM add the srecord utility tools folder to path

set path= D:softwaresrecord-1.65.0-win64srecord-1.65.0-win64

REM set input file

SET SRC=*.srec

REM set the output file

SET APP=EPS_App_Flash_Fill_Add_CRC.srec

REM set the output file

SET FILL_VAL=0xAA

REM set the MCU app flash start address

SET START_ADDR=0x01000000

REM set the MCU app flash end address

SET END_ADDR=0x010FFFFC

REM set the MCU flash address to store the checksum/CRC result

REM it's usually the end of MCU app Flash end address/the end of APP Flash

SET CRC_ADDR=0x010FFFFC

REM set expected checksum/CRC method

SET CRC_method=CRC32_Big_Endian

REM delete the last copy result if it exit

if exist %APP% del %APP%

REM call srec_cat to execute memory fill and checksum auto-generate and store to specified address

srec_cat %SRC% -fill %FILL_VAL% %START_ADDR% %END_ADDR% -%CRC_method% %CRC_ADDR% -o %APP%

echo All commands have been executed successfuly!

pause

如果只想填充不想計算CRC,則刪除掉腳本中的計算CRC行即可。

將制作完成的腳本放入工程的編譯目錄下,如debug目錄下,雙擊腳本即可完成填充,

如果想自動讓IDE調用腳本生成填充值,需要做一些配置,這部分功能還在測試中,目前只支持手動雙擊調用腳本。如果有的電腦因為權限問題不能正確執(zhí)行腳本,請將制作的腳本放入srecord的解壓bin目錄下,將編譯的.srec或者s19文件也放入bin目錄下,雙擊腳本即可完成生成填充好的文件。

可以試用hexview或者支持hex文件查閱的軟件查看生成填充的文件,可以看到未用的已經全部填充為0xAA,填充值可以自己在腳本中設置。

009c3612-6d8b-11ee-939d-92fbcf53809c.png

審核編輯:湯梓紅

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

    關注

    48

    文章

    7649

    瀏覽量

    152107
  • 恩智浦
    +關注

    關注

    14

    文章

    5879

    瀏覽量

    108433
  • crc
    crc
    +關注

    關注

    0

    文章

    199

    瀏覽量

    29574
  • 腳本
    +關注

    關注

    1

    文章

    391

    瀏覽量

    14938

原文標題:如何使用腳本完成CRC和填充值的自動完成

文章出處:【微信號:InterruptISR,微信公眾號:嵌入式程序員】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    Linux中執(zhí)行shell腳本的兩種方式

    一條的執(zhí)行很是不大方便,這種太多命令的才能完成的,一般都是編寫一個shell腳本來進行操作,而不用一步一步的進行。有些時候在Linux中的很多對應的應用程序目錄下有很多.sh結尾的腳本,這些
    發(fā)表于 11-18 16:49 ?1863次閱讀
    Linux中執(zhí)行shell<b class='flag-5'>腳本</b>的兩種方式

    怎么使用hal accumulate函數(shù)完成crc分塊校驗與整體校驗crc值相等?

    怎么使用hal accumulate函數(shù)完成crc分塊校驗與整體校驗crc值相等
    發(fā)表于 03-27 07:46

    自動填充功能

    在AD9.0中有沒有自動填充功能?小面積的填充,而且要屬性是當下的網絡屬性,如果用FILL只能是矩形,而我要多邊形的,怎么做?
    發(fā)表于 10-14 22:29

    在網頁充值后自助設備如何給卡寫入值

    特有網頁上進行充值支付的操作,支付成功后服務器給自助設備發(fā)送充值金額的命令,同時自助設備將收到的值寫入電卡中,完成電卡充值。求大神指導下,這個程序邏輯是否可行?如可行,都需要什么東西,
    發(fā)表于 06-11 11:48

    CAN通信控制的CRC校驗

    序列。為完成此運算,可以使用一個 15 位的移位寄存器 CRC-RG(14:0)。被除多項式位數(shù)據(jù)流由幀起始到數(shù)據(jù)字段結束的無填充序列給定,如果以 NXTBIT 標記該位數(shù)據(jù)流的下一位,則
    發(fā)表于 12-24 10:28

    dsPIC33EP256MU806 CRC模塊的累加何時完成

    ——“當計算完成時,模塊將清除GO位并設置CRC中斷標志(如果CRCISEL=0)。”到目前為止,我還沒有使用中斷,所以我只是在GO位上旋轉,這與模塊沒有清除文檔相反。有沒有使用CRC模塊的經驗?如果能奏效的話,那就太好了。謝謝
    發(fā)表于 03-23 08:37

    如何停止評論的自動完成連字號?

    大家好,我不確定這是編譯器還是IDE設置。對不起,如果這是一個錯誤的論壇。每次我鍵入/ *,我得到一個自動*/它旁邊。我不想這樣,事實上,我不想發(fā)生任何事情。我查看了工具、選項、編輯器、代碼完成(對于C/C++)。但我不知道是什么使它起作用。我如何阻止它?謝謝
    發(fā)表于 04-10 09:50

    rex防止腳本還沒執(zhí)行完成就立刻發(fā)起怎么回事

    rex 防止腳本還沒執(zhí)行完成,就立刻發(fā)起
    發(fā)表于 04-28 11:38

    如何通過SR5500的RPI接口完成自動化測試?

    本文介紹了一種通過SR5500的RPI接口,非常方便的用腳本語言編寫程序完成自動化測試的方法。
    發(fā)表于 05-10 06:01

    HarmonyOS自動簽名完成出不來是為什么?

    自動簽名完成,點擊確認我沒有出現(xiàn)
    發(fā)表于 04-29 10:29

    CRC校驗代碼自動生成工具

    CRC校驗代碼自動生成工具根據(jù)輸入條件自動產生各種CRC的VHDL或verilog源程序
    發(fā)表于 05-20 11:16 ?294次下載
    <b class='flag-5'>CRC</b>校驗代碼<b class='flag-5'>自動</b>生成工具

    CNCnetIP電話遠程自動充值系統(tǒng)

    為改進工作效率低的人工處理IP 電話遠程充值和IP 帳號低余額續(xù)費撥號通知的問題,應提供IP 電話運營服務的代理商的需求,設計和開發(fā)了一個IP 電話遠程自動充值管理系統(tǒng),有效
    發(fā)表于 08-06 11:18 ?11次下載

    蘋果軟件工程師對安全碼自動填充功能進行介紹

    蘋果從iOS 12開始新增了一項被稱為“安全碼自動填充”(Security Code AutoFill )的功能,用戶往往會為了輸入驗證碼而在短信/app之間來回切換才能完成。而iOS 12系統(tǒng)中
    的頭像 發(fā)表于 10-21 15:25 ?2808次閱讀

    什么是腳本腳本程序學習

    腳本中編寫VB腳本代碼。可以象使用系統(tǒng)函數(shù)一樣使用項目中完成腳本。創(chuàng)建腳本時,確定其型號并定義傳送參數(shù)。“Function”類型的
    的頭像 發(fā)表于 05-11 10:39 ?6870次閱讀
    什么是<b class='flag-5'>腳本</b>?<b class='flag-5'>腳本</b>程序學習

    如何創(chuàng)建自動腳本

    在前面的 bash 初學者系列文章中,我們介紹了關于 bash 的一些基礎知識,在了解了這些基礎知識之后,可以嘗試創(chuàng)建一些自動腳本,來完成一些相對枯燥重復的管理任務。
    的頭像 發(fā)表于 01-04 16:50 ?3558次閱讀
    如何創(chuàng)建<b class='flag-5'>自動</b>化<b class='flag-5'>腳本</b>
    德州扑克 视频| 好用百家乐分析软件| 风水24山头| 富易堂百家乐娱乐城| 百家乐官网桌子| 八大胜百家乐官网的玩法技巧和规则 | 澳门百家乐官网| 澳门娱乐城| 久盛国际娱乐城| 百家乐官网免费路单| 壹贰博百家乐官网娱乐城| 澳门百家乐官网十大缆| 蓝盾百家乐官网赌城| 太阳城百家乐网址--| 大发888游戏攻略| 喀喇沁旗| 百家乐官网赌场娱乐城大全| 百家乐是骗人的| 威尼斯人娱乐网注册送38元彩金 | 找查百家乐玩法技巧| 网上赌博| 澳门百家乐官网是怎样赌| 百家乐境外赌博| 百家乐怎么玩| 百家乐官网视频象棋| 苹果百家乐官网的玩法技巧和规则| 百家乐最好的玩法| 二八杠规则| 三易博娱乐| 百家乐官网赢输| 赌百家乐的计划跟策略| 丰禾线上娱乐| 百家乐官网玩揽法大全| 深圳百家乐的玩法技巧和规则 | 百家乐官网专打单跳投注法 | 大发888赌场 游戏平台| 百家乐官网代打是真的吗| 百家乐如何写路| 大发888官网 df888ylcxz46| 百家乐官网投注五揽式| 百家乐筹码套装|