一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

如何使用腳本完成CRC和填充值的自動(dòng)完成

嵌入式程序員 ? 來源:嵌入式程序員 ? 2023-10-21 09:50 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

摘要

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

Srecord簡介

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

腳本制作

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

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

@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

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

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

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

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

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

審核編輯:湯梓紅

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

    關(guān)注

    48

    文章

    7943

    瀏覽量

    154623
  • 恩智浦
    +關(guān)注

    關(guān)注

    14

    文章

    5976

    瀏覽量

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

    關(guān)注

    0

    文章

    204

    瀏覽量

    30096
  • 腳本
    +關(guān)注

    關(guān)注

    1

    文章

    398

    瀏覽量

    28433

原文標(biāo)題:如何使用腳本完成CRC和填充值的自動(dòng)完成

文章出處:【微信號(hào):InterruptISR,微信公眾號(hào):嵌入式程序員】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

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

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

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

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

    自動(dòng)填充功能

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

    在網(wǎng)頁充值后自助設(shè)備如何給卡寫入值

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

    CAN通信控制的CRC校驗(yàn)

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

    dsPIC33EP256MU806 CRC模塊的累加何時(shí)完成?

    ——“當(dāng)計(jì)算完成時(shí),模塊將清除GO位并設(shè)置CRC中斷標(biāo)志(如果CRCISEL=0)?!钡侥壳盀橹?,我還沒有使用中斷,所以我只是在GO位上旋轉(zhuǎn),這與模塊沒有清除文檔相反。有沒有使用CRC模塊的經(jīng)驗(yàn)?如果能奏效的話,那就太好了。謝謝
    發(fā)表于 03-23 08:37

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

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

    如何通過SR5500的RPI接口完成自動(dòng)化測試?

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

    HarmonyOS自動(dòng)簽名完成出不來是為什么?

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

    CRC校驗(yàn)代碼自動(dòng)生成工具

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

    CNCnetIP電話遠(yuǎn)程自動(dòng)充值系統(tǒng)

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

    蘋果軟件工程師對(duì)安全碼自動(dòng)填充功能進(jìn)行介紹

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

    什么是腳本?腳本程序?qū)W習(xí)

    腳本中編寫VB腳本代碼??梢韵笫褂孟到y(tǒng)函數(shù)一樣使用項(xiàng)目中完成腳本。創(chuàng)建腳本時(shí),確定其型號(hào)并定義傳送參數(shù)。“Function”類型的
    的頭像 發(fā)表于 05-11 10:39 ?7285次閱讀
    什么是<b class='flag-5'>腳本</b>?<b class='flag-5'>腳本</b>程序?qū)W習(xí)

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

    在前面的 bash 初學(xué)者系列文章中,我們介紹了關(guān)于 bash 的一些基礎(chǔ)知識(shí),在了解了這些基礎(chǔ)知識(shí)之后,可以嘗試創(chuàng)建一些自動(dòng)腳本,來完成一些相對(duì)枯燥重復(fù)的管理任務(wù)。
    的頭像 發(fā)表于 01-04 16:50 ?3932次閱讀
    如何創(chuàng)建<b class='flag-5'>自動(dòng)</b>化<b class='flag-5'>腳本</b>

    腳本錯(cuò)誤scripterror怎么解決

    分析和排查。以下是一些常見的解決腳本錯(cuò)誤的方法: 檢查語法錯(cuò)誤: 仔細(xì)檢查腳本中的代碼,看是否有拼寫錯(cuò)誤、缺少分號(hào)、括號(hào)不匹配等語法錯(cuò)誤。 在一些集成開發(fā)環(huán)境(IDE)或代碼編輯器中,可以借助自動(dòng)
    的頭像 發(fā)表于 11-26 14:46 ?1.2w次閱讀