色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

通用腳本的寫法以及命令行的寫法

痞子衡嵌入式 ? 來源:痞子衡嵌入式 ? 作者:痞子衡嵌入式 ? 2022-07-14 17:09 ? 次閱讀

1. 背景

2. 準備工作

2.1 硬件準備

2.2 軟件準備

3. PE工具腳本語法介紹

4. 操作實例

4.1 通用腳本的寫法

4.2 命令行的寫法

4.3 批處理文件的寫法

5. 總結:

6. 免責聲明:

1. 背景

前段時間,內部同事討論到使用Umultilink去批量燒錄的可能性,想起曾經做過類似的嘗試,并被客戶批量生產所采用。想來也是一個經濟實惠的操作,此處總結下,方便有需求的用戶加以應用和擴展。

USB Multilink Universal 是PEmicro的一款簡單易用的調試和編程工具,允許通過USB接口NXP多種處理器進行通信,包括S08、S12、ColdFire、MPC55xx/56xx、Kinetis以及S32K等多款MCU,同時其也支持ST、CypressMicrochip、Nordic、Renesas等MCU廠商,甚至還支持國產的芯片公司如GD、Auto chips、MindMotion靈動微、Zhixin等。Multilink的速度和可靠性非常適合產品開發階段,可以與市場上NXP主流的工具鏈無縫銜接,如CodeWarrior、S32DS、MCUXPresso、IAR、Keil、Cosmic和Mentor Graphics等,價格相對比較便宜(最常用的Multilink FX官網報價199刀),目前在市場上保有量很高。

而在量產階段,PEmicro也提供了一套工具叫做Cyclone Programmers,提供編程Image的板載存儲、為目標提供電源,而且可以通過 PC 進行控制,也可以脫機燒寫。在配置完成后產線工作人員只需要按一個啟動按鈕即可完成程序的燒錄。當然Cyclone 編程器也支持開發過程中用作調試器,并受到許多 IDE 的支持,但是鑒于其999刀的價格用來調試程序有點殺雞用牛刀的意思,所以大都是作為量產工具使用。

那么問題來了, 買不起999刀Cyclone Programmers,能否使用199刀Multilink作為量產工具呢?答案當然是可以的,而且還是無需打開GUI界面悄無聲息的那種。本文的目標就是讓大家不用拼夕夕,不用京冬冬,更不用淘寶寶,便可立省600美刀(最高立省800美刀),省錢的操作就是這么的樸素無華,卻熠熠生輝。

2. 準備工作

2.1 硬件準備

USB Multilink Universal、USB Multilink Universal FX 或者Multilink ACP,相信老Freescale的用戶對前面兩個不會陌生,最后一個倒是有些默認,簡單的來說它是一個cost down版本,只支持ARM Cortex-M 內核產品的燒錄。

2.2 軟件準備

Umultilink 驅動:USB Multilink Resources Install

序列號生成工具(Optional):Serialize Utility

Flash/EEPROM編程軟件:PROG Flash Programming Software

要指出的是第3個軟件不是完全免費的,如下圖,對于DSC和NEXUS內核是免費的,妥妥立省800刀,而對于S08、S12、PowerPC5xx/8xx、Kinetis、LPC及S32K等ARM內核的MCU都是需要額外收費的,價格是統一的199刀,這也就是前文為何說立省600刀的原因。

Note: Flash/EEPROM編程軟件 LICENSE是和Umultilink的HW序列號綁定的,也就意味著不能一個軟件license不能同時用在多個Umultilink上。如果需要多個License,PE官網按照Quantity是有折扣的,譬如說10個License,價格降到139美刀了;

f6c816d4-034f-11ed-ba43-dac502259ad0.png

其實對于PROG-HL-ARM版本還是很劃算,它涵蓋了市場上不同MCU廠家的大部分ARM內核處理器,如NXP、ST、Microchip、Nordic、Renesas等,甚至還有國產的芯片公司如Auto chips、MindMotion靈動微、Zhixin等,可以說是一個License在手,各家MCU編程功能我有,秒變Cyclone,如下截圖是已經支持的廠商列表。回想當初,曾幾何時,PEmicro的工具基本是Freescale芯片專屬,現如今支持的廠商越來越多,可見如今不僅MCU市場卷,工具市場也很卷啊。

f6e42874-034f-11ed-ba43-dac502259ad0.png

除此之外,該版本甚至還支持對外部SPI nor Flash的編程,對于如IMXRT系列這類沒有內部Flash,需要外掛Nor Flash的芯片來說也是支持的,已經支持的比較常用的vendor包括華邦Winbond、Microchip、ISSI、Microchip、旺宏MXIC、Adesto等,以部分ISSI SPI Nor Flash的支持為例如下圖2。

f6f63618-034f-11ed-ba43-dac502259ad0.png

當然,鑒于不同Norflash廠家的Feature,譬如是否支持SFDP,是否支持8線,是否支持DDR,是否需要Byte Swap,QE位位置的差異等,其算法完全無縫支持市場上所有的Nor Flash型號也不現實(筆者在里面吃過不少苦頭,心累),所以PEmicro也承諾可以幫用戶去做定制,而且是免費的,甚至可以提供源代碼讓客戶自己修改。

f70b4cc4-034f-11ed-ba43-dac502259ad0.png

3. PE工具腳本語法介紹

在安裝完以上軟件后,下一步就可以開始去編寫自動化燒錄的控制腳本程序了,在此之前還是需要了解下P&E工具腳本語法,本章節期望對關鍵信息點能夠簡明扼要的進行介紹,需要進一步擴展應用的可以參考PROGXXX_User_Manual。

P&E常用的調試工具包括Umultilink、Cyclone等, 但其腳本語法總體類似,如下以DSC內核的MWCT1003為例做一介紹,其語法格式如下:

CPROGDSC[?][filename][/PARAMn=s][v][reset_delayn][bdm_speedn][hideapp][Interface=x][port=y][showports][-usebyteaddr][/logfilelogfilename]示例:
CPROGDSC:ENGINE.CFGINTERFACE=USBMULTILINKPORT=PE5650030//燒錄DSC內核器件
CPROGARM:ENGINE.CFGINTERFACE=USBMULTILINKPORT=PE5650030//燒錄ARM內核器件

可以看到其包含很多參數,對應每個參數的含義如下:

[filename]-- 包含編程命令的配置腳本;default = prog.cfg,一個簡單的配置腳本的寫法如下。該腳本對于以前使用過999美刀的Cyclone或者Cyclone FX的用戶或許不會陌生,其和Cyclone GUI配置界面的操作步驟完全一樣。

f720c32e-034f-11ed-ba43-dac502259ad0.png

[/PARAMn=s]-- 指定命令行參數,用于替代可執行腳本.CFG中的特殊標號,譬如說芯片的型號,S19文件的位置,以及.CFG腳本中需要執行的BM(Blank Check)/EM(Erase Flash)/VM(Verify)等步驟;

[v]-- 指示編程器在programming 或者verify之前不需要檢查S19文件的地址范圍,這個選項可以加快用戶編程速度,該選項不建議打開;

[reset_delay n]-- 指定在Reset MCU后多長時間去查看芯片是否進入background debug,單位是ms。這個參數主要是用在外部有類似UM803/UM805等的延時復位芯片的場合,編程器需要等待這些延時復位芯片完全釋放才能嘗試去編程,否則會出錯;

[bdm_speed n]-- 指定BDM shift clock speed速度, 計算公式: USB Multilink (includes Universal): (1000000/(N+1)) Hz

[INTERFACE=x]-- X 可以是USBMULTILINK/CYCLONE/PARALLEL 三個參數中的一個,其中PARALLEL 并口下載很陳舊,很少再用到,對于本文來說UMULTILINK 就選擇USBMULTILINK;

[PORT=y]-- y代表USBx,此處的x =1,2,3... 主要用于同時連接Cyclone, Tracelink, 或者 Multilink的場景,如果只連接其中一種硬件,就只有USB1。舉例來說,如果PC端只連接一種debug硬件,配置可以是: INTERFACE=USBMULTILINK PORT=USB1

[showports]-- 用于顯示PC端已連接的Debug端口,會保存在ports.txt并存儲在CPROG文件目錄中;

[?]-- 用于暫停命令行執行,并顯示編程結果,使用時需要把該選項作為第一個參數;

[hideapp]-- 指定是否顯示命令行窗口,通常在調試階段建議打開,方便查看錯誤信息,量產時無需打開;

[-usebyteaddr]-- 指定S19文件時字節對齊還是word對齊,通常默認word對齊方式 ;

[/logfile logfilename]-- 打開log輸出,使能該選項后可以把調試過程中執行的命令以及錯誤信息全部打印到名稱為logfilename的文件中,方便分析改進;

4. 操作實例

通過腳本命令控制Umultilink作為量產工具在實現上有兩種思路:一種是把所有對芯片的Selection、Reset、Flash algorithm selection、erase、blank check、待燒錄S19文件的選擇都手動添加到.CFG腳本中,另外一種是使用一套通用的帶默認參數的.CFG腳本,然后在執行命令時傳入參數。

顯然第二種方式更加靈活,用戶可以直接在命令行中靈活替換通用腳本中的參數,從而支持更多的芯片型號,選擇燒寫算法以及指定燒錄文件位置,避免重復造輪子的工作。除此之外,第一種方式還一個缺點是CFG腳本中只支持絕對路徑,不支持相對路徑,更換電腦或者目錄都可能導致原有的配置無法工作,所以第二種方法是比較建議的,下文就以第二種方法進行講解。

4.1 通用腳本的寫法

:DEVICE /PARAM1;Select target device to program
RE ;Reset the MCU
CM /PARAM2;Choose Flash Module
EM ;Erase the module
BM ;Blank Check the module
SS /PARAM3 ;Specify the S19 to use
PM ;Program the module with the S19
/PARAM4 ;Verify the module again

4.2 命令行的寫法

一個完整的示例如下,具體每個參數的含義可以參考上面的表述,只能說”很顯然“()

C:PEMICROCPROGDSC INTERFACE=CYCLONE PORT=USB1 BDM_SPEED 1 C:PROJECTGENERIC.CFG /PARAM1=MWCT1013A /PARAM2=C:PEMICROfreescale_mwct1013a_1x16x144k_all.dsp “/PARAM3=C:PEMICROEXAMPLE FILESTEST.S19” /PARAM4=VM

Note:1. 以上整個command是連續的,每個參數之間只有空格,不能有行break; 2. 如果其中參數有空格,需要引號引起來,例如 “/PARAM3=C:PEMICROEXAMPLE FILESTEST.S19"

4.3 批處理文件的寫法

對于產線來說,如果每次敲入命令行是比較繁瑣的,所以可以保存成.bat批處理文件,這樣就可以被產線自動化測試的FCT站直接調用,悄無聲息的完成燒錄和驗證的流程。

如下批處理文件的寫法,其中errorlevel是USBMULTILINK的返回值,用于判斷命令行是否正確執行;

C:PEMicroPROGDSCcprogdsc.exe INTERFACE=USBMULTILINK PORT=USB1 D:YU_CustomerXXXGENERIC.CFG /PARAM1=MWCT1013A /PARAM2=C:PEMicroPROGDSCAlgorithmsfreescale_mwct1013a_1x16x144k_all.dsp /PARAM3=D:YU_CustomerXXXTEST.elf.S /PARAM4=VMif errorlevel 1 goto bad
goto good
:bad
ECHO BAD BAD BAD BAD BAD BAD BAD BAD
ECHO %errorlevel%
:good
ECHO done
pause

完成以上步驟后,在電腦端可以直接執行雙擊第三步的.bat文件即可實現對目標板的燒錄,整個過程都是在后臺自動執行的(前提是在命令行中配置了hideapp選項),可以很方便的集成到自動化生產線的FCT站中。當然,考慮到程序燒錄的健壯性,建議額外加入一些錯誤處理機制,如4.3章節中的批處理文件,就會對errorlevel返回值進行判斷。如下是上面腳本出錯時的執行結果(沒有使能hideapp選項),可以看到會有出錯的提示信息。

f72ecf96-034f-11ed-ba43-dac502259ad0.png

5. 總結:

上文講解了Multilink作為量產工具所需要做的準備工作,支持的器件,P&E工具腳本語法,并結合一個具體實例介紹了通用腳本的寫法、命令行的寫法以及批處理文件的寫法,方便有需要的用戶以Multilink作為量產工具,實現低成本的量產工具。除去離線燒錄和加密存儲之外,Cyclone能實現的基本功能U-Multilink大都能夠實現,真正的實現低成本。當然,如果不差錢,Cyclone還是優先推薦,畢竟其支持加密文件存儲這點還是很強大的,可以把binary文件生成加密的SAP格式,防止知識產權被非法竊取。

原文標題:如何巧用U-Multilink作為量產工具最高立省800刀

文章出處:【微信公眾號:痞子衡嵌入式】歡迎添加關注!文章轉載請注明出處。

審核編輯:彭靜

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

    關注

    456

    文章

    51114

    瀏覽量

    426004
  • 文件存儲
    +關注

    關注

    0

    文章

    16

    瀏覽量

    10624
  • 腳本
    +關注

    關注

    1

    文章

    391

    瀏覽量

    14916
  • 調試程序
    +關注

    關注

    0

    文章

    10

    瀏覽量

    2116

原文標題:如何巧用U-Multilink作為量產工具最高立省800刀

文章出處:【微信號:pzh_mcu,微信公眾號:痞子衡嵌入式】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    圖形用戶界面與命令行接口的比較

    在計算機科學和信息技術領域,用戶與計算機交互的方式主要分為兩種:圖形用戶界面(GUI)和命令行接口(CLI)。這兩種界面各有優勢和局限性,適用于不同的場景和用戶需求。 1. 定義與基本特征 圖形用戶
    的頭像 發表于 11-12 14:38 ?491次閱讀

    Mobaxterm 的命令行使用方法

    的遠程桌面協議(如RDP和VNC),以及文件傳輸協議(如FTP和SFTP)。本文將詳細介紹如何使用Mobaxterm的命令行功能。 2. 安裝 Mobaxterm 在開始之前,確保你已經安裝
    的頭像 發表于 11-11 09:08 ?1892次閱讀

    APM32F411板的python+pyocd命令行操作

    前段時間學習了一下如何使用pyocd配合APM32F411VCTINY板在命令行下給它進行各種騷操作,在使用一段時間后就想著:pyocd是基于python的,那是不是也可以使用python腳本+pyocd使用起來呢?
    的頭像 發表于 10-18 16:21 ?396次閱讀
    APM32F411板的python+pyocd<b class='flag-5'>命令行</b>操作

    執行shell腳本的方式包括什么

    執行Shell腳本的方式有很多種,以下是一些常見的方法: 直接運行腳本文件 在命令行中,可以直接使用腳本文件的路徑來運行腳本。例如: ./s
    的頭像 發表于 08-30 15:17 ?373次閱讀

    使用idf4.3在命令行打開menuconfig,如何才能開啟lwip配置界面?

    請問使用idf4.3在命令行打開menuconfig,如何才能開啟lwip配置界面。
    發表于 06-21 06:08

    請問CY8CKIT-005-A是否支持命令行編程?

    我使用 minipro4 SWD 和 MTB-programmer 5.0 對 MCU 編程,在批量生產中,我們希望使用腳本編程,它是否支持命令行編程?
    發表于 06-03 06:19

    鴻蒙ArkUI-X跨平臺開發:【命令行工具(ACE Tools)】

    ACE Tools是一套為ArkUI-X項目跨平臺應用開發者提供的命令行工具,支持在Windows/Ubuntu/macOS平臺運行,用于構建OpenHarmony/HarmonyOS、Android和iOS平臺的應用程序,其功能包括開發環境檢查,新建項目,編譯打包,安裝調試等。
    的頭像 發表于 05-21 17:39 ?1915次閱讀
    鴻蒙ArkUI-X跨平臺開發:【<b class='flag-5'>命令行</b>工具(ACE Tools)】

    請問handle的寫法

    遇到一行代碼 YDLidar *laser = lidarCreate(); //Create a handle to this Lidar. 請問這行代碼是什么意思,句柄的寫法怎么是這樣的呀
    發表于 05-18 10:42

    高效云端管理的秘訣——華為云命令行工具 KooCLI

    發現了云上命令行工具,我的云端管理效率從此得到了質的飛躍。 我從華為云官方產品幫助文檔中了解了 KooCLI 工具,文檔中介紹的便捷操作和高效管理讓我心動不已,于是,我開啟了我的體驗。通過簡單的命令行輸入,我能夠快速完成
    的頭像 發表于 05-10 00:25 ?721次閱讀
    高效云端管理的秘訣——華為云<b class='flag-5'>命令行</b>工具 KooCLI

    鴻蒙OpenHarmony南向:【Hi3516標準系統入門(命令行方式)】

    除小型系統外,Hi3516DV300開發板還支持標準系統。此章節簡要介紹如何使用命令行在Hi3516DV300開發板上進行標準系統的開發。
    的頭像 發表于 05-08 09:26 ?925次閱讀
    鴻蒙OpenHarmony南向:【Hi3516標準系統入門(<b class='flag-5'>命令行</b>方式)】

    STM8 flash loader命令行調用錯誤的原因?

    [td]我目前在用flash loader的命令行,編寫自己的上位機軟件來升級程序,但是在用命令行調用的時候一直出錯,有人能幫忙分析下嗎? 我編寫的bat文件
    發表于 05-06 07:23

    HarmonyOS開發:【基于命令行(安裝庫和工具集)】

    使用命令行進行設備開發時,可以通過以下步驟安裝編譯OpenHarmony需要的庫和工具。
    的頭像 發表于 04-25 21:03 ?465次閱讀
    HarmonyOS開發:【基于<b class='flag-5'>命令行</b>(安裝庫和工具集)】

    香港vps的centos如何切換命令行和桌面?

    要在CentOS上切換命令行和桌面環境,您可以通過以下步驟進行: 1、安裝桌面環境:如果您的CentOS VPS上還沒有安裝圖形桌面環境,您需要安裝一個。一般來說,常用的桌面環境有GNOME、KDE
    的頭像 發表于 04-10 17:41 ?693次閱讀

    STM32G070RB使用jlink命令行下載無法識別芯片怎么解決?

    STM32G070RB 使用jlink命令行下載無法識別芯片,想手動添加芯片,請問哪里可以下載驅動.elf文件 或者有什么方法能夠實現jlink命令行下載
    發表于 04-02 06:15

    tasking的命令行控制中如何生成makefiles文件?

    tasking的命令行控制中如何生成makefiles文件?
    發表于 02-06 07:56
    主站蜘蛛池模板: 成年人在线免费观看视频网站| 久久免费精品一区二区| 婷婷开心激情综合五月天| 日韩欧美精品有码在线播放免费 | 色多多污污版免费下载安装| 日本午夜看x费免| 欧美亚洲日韩国码在线观看| 久热这里在线精品| 极品 女神校花 露脸91| 国产 亚洲 中文字幕 在线| 69SEX久久精品国产麻豆| 伊人网站在线| 亚洲成在人线视频| 亚洲欧美日韩一级特黄在线| 伊人大香人妻在线播放| 亚洲欧美自拍明星换脸| 一个人免费完整观看日本 | 欧美精品成人a多人在线观看| 久久一本岛在免费线观看2020| 美女脱三角裤| 久久免费视频| 男人到天堂a在538线| 肉伦禁忌小说np| 亚洲欧美综合中文字幕| 69丰满少妇AV无码区| 超碰免费视频在线观看| 国产欧美一区二区三区在线看| 国产黄A片在线观看永久免费麻豆| 国产色婷婷精品人妻蜜桃成熟时 | 亚洲天堂一区二区三区| 7723日本高清完整版在线观看| 办公室韩国电影免费完整版| www伊人网| 超嫩校花被灌醉在线观看| 国产精品白浆精子流水合集 | 2021国产精品一卡2卡三卡4卡| 成人手机在线| 娇妻被朋友玩得呻吟在线电影| 男女疯狂一边摸一边做羞羞视频| 少妇一夜未归暴露妓女身份| 夜色帮首页|