在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

如何在雅特力AT32 MCU上創建IAP應用程序

雅特力 AT32 MCU ? 2024-05-20 08:15 ? 次閱讀

概述

AT32 CAN IAP快速使用方法

使用CAN進行IAP升級,此示例使用PC上位軟件(IAP_Programmer.exe)通過一個USB轉CAN的橋接設備和目標板進行通信,IAP Demo和橋接設備默認CAN波特率使用500K。如下是連接示意圖:

  • PC通過USB連接USB to CAN Bridge(使用AT-START實現一個轉接設備,代碼參考usb_vcp_bridge_can源代碼)
  • USB to CAN Bridge通過CAN Transceiver連接CAN目標板(注意使用CAN必須要使用CAN Transceiver,CANL連接CANL, CANH連接CANH)

圖1.連接示意圖14993384-163e-11ef-bebc-92fbcf53809c.png

一、硬件資源

1. USB轉CAN橋接板(目前使用一塊AT-START-AT32F403A實現USB轉CAN)1) USB(PA11/PA12)2) CAN(PB8/PB9)3) 指示燈LED2/LED3/LED44) AT-START實驗板2. AT-START-AT32F403A CAN IAP目標板1) 指示燈LED2/LED3/LED42) CAN(PB8/PB9)3) AT-START實驗板3. CAN Transceiver轉接板1)CAN Transceiver轉接板用于USB to CAN Bridge和CAN目標板的連接注意:USB轉CAN橋接板的波特率和CAN IAP目標板波特率要配置一致另外要使用CAN通信,必須外接CAN轉換芯片

二、軟件資源

1) ToolRelease

  • IAP_Programmer.exe,PC機tool,用于演示IAP升級流程
  • IAP_Programmer_V2.x.x, PC tool源代碼

2) SourceCode\utilities

  • can_iap_demo,IAP源程序,運行LED2閃爍
  • usb_vcp_bridge_can,USB轉CAN橋接源程序
  • can_app_led3_toggle,app1源程序,運行時LED3閃爍
  • can_app_led4_toggle,app2源程序,運行LED4閃爍

注:示例工程基于keilv5建立,若用戶需要在其他編譯環境上使用,請參考AT32F403A_407_Firmware_Library_V2.x.x\project\at_start_f403a\templates中各種編譯環境(例如IAR6/7/8,keil 4/5, eclipse_gcc)進行對應修改即可。

IAP demo使用

1) 打開can_iap_demo工程源程序,選擇對應MCU型號的target編譯后下載到實驗板2) 打開usb_vcp_bridge_can工程源程序,下載到USB轉CAN轉接板3) 連接轉接板和目標板的CANH/CANL4) 將轉接板USB接入到PC,可以看到會有對應的虛擬串口設備COMxx5) 打開IAP_Programmer.exe6) 選擇正確的串口、APP下載地址和bin文檔,點擊Download下載,如下圖7) 觀察LED2/3/4閃爍,LED2閃爍can IAP工作,LED3閃爍-app1工作,LED4閃爍-app2工作圖2. IAP demo上位機14b95ea2-163e-11ef-bebc-92fbcf53809c.png

AT32 CAN IAP程序設置

地址分布

表1. 地址分布14df7114-163e-11ef-bebc-92fbcf53809c.png注:bootloader區域最后一個扇區,用于存放防止升級過程掉電的flag,用戶編譯修改bootloader時,要保證不覆蓋flag的地址。

執行流程

IAP分為Bootloader和App兩部分,應用在App中執行,升級過程在bootloader中執行。程序執行整體流程框圖如下:圖3. 程序執行流程14fb93d0-163e-11ef-bebc-92fbcf53809c.png

bootloader project設置

1) Keil設置圖4. bootloader project中address 1在Keil設置1517dd88-163e-11ef-bebc-92fbcf53809c.png2) bootloader源程序修改Iap.h文件中圖5. bootloader project中address 2在程序中設置15413a16-163e-11ef-bebc-92fbcf53809c.png

app project設置

IAP demo提供了2個app程序供測試用,皆以address 2(0x800 4000)為起始地址。app1 LED3閃爍,app2 LED4閃爍。以app1為例,設計步驟如下:1) Keil工程設置圖6. app project中address 2在Keil設置155837ca-163e-11ef-bebc-92fbcf53809c.png2) app1源程序設置圖7. app project向量表偏移在程序中設置15882dea-163e-11ef-bebc-92fbcf53809c.png3) 編譯生成bin文件通過User選項卡,設置編譯后調用fromelf.exe,根據.axf文件生成.bin文件,用于IAP更新。通過以上3個步驟,我們就可以得到一個.bin的APP程序,通過bootloader程序即可實現更新。4) 開啟debug app code功能如果在設計app code過程中需要對app project進行單獨調試,請按照以下操作。a) 先下載bootloader工程b) 再調試app工程

Bootloader CAN通信協議

上位機升級流程

如下下圖是上位機升級流程:

  • 獲取設備信息:包括app起始地址,app flash size大小,sector size大小
  • 發送開始升級命令
  • 寫存儲器
  • 獲取CRC進行校驗
  • 發送升級完成命令
  • 跳轉到APP執行

具體命令操作參考命令詳解圖8. 上位機升級流程15a4e23c-163e-11ef-bebc-92fbcf53809c.png

IAP端下位機通信處理流程

IAP下位機端會通過接收主機端發送的命令做數據處理,包括讀寫數據,crc校驗等。圖9. IAP端下位機命令15c6d5a4-163e-11ef-bebc-92fbcf53809c.png注: ACK: 0x79NACK: 0x1F

升級命令詳解

本節主要說明CAN IAP每條協議命令的作用和使用方法,包括主機端和設備端對命令解析的流程。所有命令通過CAN標準幀的ID來確定,CAN每一包數據最大8字節,例如Get Info命令,此時CAN標準幀的ID為0。注意:所有命令都使用標準幀數據幀來傳遞如下是命令列表15edcbfa-163e-11ef-bebc-92fbcf53809c.png

一、Get Info命令

此命令用于獲取APP信息,包括APP起始地址,app flash size大小,sector size大小主機端協議發送流程:1610f4a4-163e-11ef-bebc-92fbcf53809c.png

二、Upgrade Start命令

獲取設備信息之后,可以發送此命令開始升級,設備端收到此命令之后會去刪除一個app的標志,標志在開始升級。主機端協議發送流程:16388726-163e-11ef-bebc-92fbcf53809c.png

三、Read Mmeory命令

此命令用于讀取app flash數據主機端協議發送流程:1652203c-163e-11ef-bebc-92fbcf53809c.png

四、Write Memory命令

此命令用于寫APP數據到存儲器,注意每次寫入的地址必須sector對齊(sector大小可通過GetInfo獲取),數據的長度為1個sector大小或者小于1個sector。每個sector的數據最好是一次發完。主機端協議發送流程:1675570a-163e-11ef-bebc-92fbcf53809c.png

五、Get CRC命令

此命令用于獲取指定地址指定大小數據的CRC,地址和大小必須4字節對齊主機端協議發送流程:16a22be0-163e-11ef-bebc-92fbcf53809c.png

六、JUMP命令

此命令用于跳轉到APP代碼執行主機端協議發送流程:1724b6dc-163e-11ef-bebc-92fbcf53809c.png

七、Upgrade Finish命令

此命令用于設置升級完成標志。主機端協議發送流程:174000fe-163e-11ef-bebc-92fbcf53809c.png

USB轉CAN橋接

USB轉CAN橋接使用一塊AT32F403A的AT-START開發板實現,USB端實現一個虛擬串口設備,轉接板通過USB與PC上位機通信,然后通過CAN與下位機進行通信,實現USB與CAN數據的透傳功能。注意轉接板的CAN波特率與下位機的CAN波特率要配置相同。

數據轉發流程

如下是數據轉發流程圖10.數據轉發流程175ba3ae-163e-11ef-bebc-92fbcf53809c.png

USB CAN數據轉發

USB轉CAN橋接按照CAN協議進行封裝,封裝格式:標準幀ID(1字節)+幀長(1字節)+數據(數據最大8字節)

USB數據轉到CAN總線:

USB到CAN按照一包USB數據轉成一幀CAN數據。收到一包USB數據如:0x01 0x02 0x11 0x220x01:表示標準幀ID0x02:表示數據長度0x11,0x22:表示具體數據

轉換成CAN幀后:

ID=0x01DLC=0x02DATA0=0x11DATA1=0x22

CAN總線數據轉到USB:

CAN同樣按照一幀數據轉換成一包USB數據:收到一幀CAN數據:ID=0x02,DLC=0x03,DATA0=0x11,DATA0=0x22,DATA0=0x33

轉換成USB包之后:0x02 0x03 0x11,0x22,0x33

0x02:表示標準幀ID0x03:表示數據長度0x11,0x22,0x33:表示具體數據

以Write Memory為例寫32字節數據到0x08004000

主機端流程:發送1:0x31 0x6 0x08 0x00 0x40 0x00 0x00 0x20(ID+長度+6字節數據)接收1:0x31 0x01 0x79(ID+長度+ACK)發送2:0x31 0x8 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA(ID+長度+8字節數據)發送3:0x31 0x8 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA(ID+長度+8字節數據)發送4:0x31 0x8 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA(ID+長度+8字節數據)發送5:0x31 0x8 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA(ID+長度+8字節數據)

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

    關注

    146

    文章

    17318

    瀏覽量

    352649
  • IAP
    IAP
    +關注

    關注

    2

    文章

    164

    瀏覽量

    24392
  • 雅特力
    +關注

    關注

    0

    文章

    168

    瀏覽量

    8142
  • AT32
    +關注

    關注

    1

    文章

    118

    瀏覽量

    2165
收藏 人收藏

    評論

    相關推薦

    通過Ymodem創建IAP應用程序

    AT32 IAP by Ymodem前言對于大多數基于閃存的系統,一項重要要求是能夠在最終產品中安裝固件時進行更新。此功能稱為應用程序內編程(IAP)。本應用筆記的目的是提供在
    發表于 11-03 20:11

    AT32微控制器創建IAP by USB HID應用程序的方法

    對于大多數基于閃存的系統,一項重要要求是能夠在最終產品中安裝固件時進行更新。此功能稱為應用程序內編程(IAP)。本應用筆記的目的是提供在AT32微控制器
    發表于 10-19 06:48

    AT32微控制器創建Multi MCU IAP應用程序的方法

    對于大多數基于閃存的系統,一項重要要求是能夠在最終產品中安裝固件時進行更新。此功能稱為應用程序內編程(IAP)。本應用筆記的目的是提供在AT32微控制器
    發表于 10-24 06:48

    AT32微控制器創建IAP by Ymodem應用程序的方法

    對于大多數基于閃存的系統,一項重要要求是能夠在最終產品中安裝固件時進行更新。此功能稱為應用程序內編程(IAP)。本應用筆記的目的是提供在AT32微控制器
    發表于 10-24 07:38

    AT32微控制器創建IAP by Kermit應用程序的方法

    AT32 IAP by Kermit提供在AT32微控制器創建IAP by Kermit
    發表于 10-24 07:56

    使用CAN的AT32 IAP

    AT32微控制器創建IAP應用程序的一般準則。AT32微控制器可以運行用戶特定的固件來對微控
    發表于 10-26 06:39

    攜高效能AT32 MCU“芯”動亮相ICCAD 2020

    高峰論壇,獲得了業界人士、廣大客戶及眾多媒體的廣泛關注。 (供圖,下同) 在同期舉辦的IP 與 IC 設計專題論壇
    的頭像 發表于 12-16 17:12 ?2103次閱讀

    攜高性能AT32 MCU精彩亮相全球MCU生態發展大會

    技術、邊緣AI、新興應用和生態發展等熱門議題。 業務處長陳佳延在大會發表了題為“
    的頭像 發表于 08-30 10:04 ?4564次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b>攜高性能<b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>精彩亮相全球<b class='flag-5'>MCU</b>生態發展大會

    AN0001 AT32 IAP 使用 USART

    是提供在AT32微控制器創建IAP應用程序的一般準則。AT32微控制器可以運行用戶特定的固件來
    發表于 01-14 12:52 ?4次下載
    AN0001 <b class='flag-5'>AT32</b> <b class='flag-5'>IAP</b> 使用 USART

    AT32 SPI

    AT32 SPI 科技AT32F415系
    發表于 03-30 10:44 ?525次閱讀

    何在AT32 MCU使用FPU功能

    何在AT32 MCU使用FPU功能
    的頭像 發表于 11-01 17:18 ?4108次閱讀
    如<b class='flag-5'>何在</b><b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b><b class='flag-5'>上</b>使用FPU功能

    如何使用AT32 MCU定時器進行PWM輸入測試

    如何使用AT32 MCU定時器進行PWM輸入測試
    的頭像 發表于 10-27 14:20 ?3077次閱讀
    如何使用<b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>定時器進行PWM輸入測試

    AT32 MCU如何使用USB MSD 進行IAP升級?

    AT32 MCU如何使用USB MSD 進行IAP升級?
    的頭像 發表于 10-27 09:23 ?1242次閱讀
    <b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>如何使用USB MSD 進行<b class='flag-5'>IAP</b>升級?

    AT32 MCU實現高效電機驅動控制與應用

    發展。受邀出席此次會議,產品市場總監林金海發表了題為“AT32
    的頭像 發表于 11-17 08:15 ?886次閱讀
    <b class='flag-5'>雅</b><b class='flag-5'>特</b><b class='flag-5'>力</b><b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>實現高效電機驅動控制與應用

    AT32 MCU與SEGGER攜手合作,開發量產事半功倍

    近日,與SEGGER共同宣布J-Link仿真調試器與Flasher在線燒錄器全面支持AT32 MCU產品,SEGGER工具鏈的加持使
    的頭像 發表于 02-23 10:27 ?461次閱讀
    主站蜘蛛池模板: tube日本videos69| 久操视频在线播放 | 国产精品虐乳在线播放 | 亚洲综合色网站 | 黄色网日本 | 欧美成人午夜 | 色综合88| 亚洲天堂网站在线 | 亚洲第一页在线 | 亚洲国产精品久久久久婷婷老年 | 午夜精品久久久久久毛片 | 日本xxxx色视频在线观看免费 | 婷婷综合网站 | 天天爱天天干天天操 | 亚洲色图综合网 | 青楼社区51在线视频视频 | 91中文字幕视频 | 午夜在线观看福利 | 日韩亚洲欧洲在线rrrr片 | 2021国产成人午夜精品 | 男女吃奶一进一出动态图 | 日本不卡视频一区二区三区 | 爽爽爽爽爽爽a成人免费视频 | 黄色小毛片 | 狼人 成人 综合 亚洲 | 国产午夜三区视频在线 | 久久久久国产一级毛片高清片 | 午夜乩伦 | 女人本色高清在线观看wwwwww国产 | 天天射色综合 | 午夜视频网站 | 一级做a爰片久久毛片图片 一级做a爰片久久毛片鸭王 | 午夜神马福利免费官方 | 4虎影院在线观看 | 四虎精品久久 | 亚洲第一狼人社区 | 国产午夜精品久久久久九九 | 欧美福利在线播放 | 亚洲国产成人久久77 | 日本黄色大片免费看 | 午夜免费啪视频观看网站 |