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

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

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

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

關(guān)于在Bootloader模式下的應(yīng)用程序下載

STM32單片機 ? 來源:STM32單片機 ? 作者:STM32單片機 ? 2022-06-16 16:57 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1.引言

STM32 MCU 在 bootloader 模式下,可以通過多種可用外設(shè)(USART、CAN、USB、I2C、SPI等)將程序下載到內(nèi)部存儲器中,詳細內(nèi)容可參考應(yīng)用筆記 AN2606《STM32 microcontroller system memory boot mode》。本文檔主要介紹利用 STLINK-V3SET 調(diào)試/編程工具的 I2C 接口將程序下載到 SDRAM 中并執(zhí)行的方法。

6ec055d0-d758-11ec-bce3-dac502259ad0.png

2.問題描述

問題源自客戶的實際需求,希望通過 I2C 接口將程序下載到 SRAM 中執(zhí)行,進行芯片功能性測試。

3.問題分析與定位

關(guān)于在 Bootloader 模式下的應(yīng)用程序下載,有多篇 LAT 可參考。例如《如何使用STM32NUCLEO 板來測試串口 Bootloader》、《一種在 IAR 中實現(xiàn)通過 SRAM 應(yīng)用程序跳轉(zhuǎn)到bootloader 的方法》等。應(yīng)用程序下載到 SRAM 中,也有 LAT 可參考,如《一種在 IAR 中實現(xiàn)通過將程序在 SRAM 中調(diào)試的方法 》。通過調(diào)研,STLINK-V3SET 支持 I2C Bootloader 程序下載,可以實現(xiàn)在 bootloader 模式下的將應(yīng)用程序下載到 SRAM 中。

4.問題解決

本文檔以 NUCLEO-F401RE 開發(fā)板為例進行介紹。本文檔介紹方法分為 3 個步驟,首先進行硬件配置與接線,使得 STM32F401RE 與 STLINK-V3SET 通過 I2C 相連,同時保證 STM32F401RE 復(fù)位后可進入 bootloader 模式;其次進行軟件配置與編程,通過 IAR 可以將程序下載到 SRAM 中;最后通過 STM32CubeProgrammer 軟件進行程序下載并運行。下邊按三個步驟分別介紹。

4.1 硬件配置與接線

查看 AN2606 可知,通過 Boot0,Boot1 的硬件設(shè)置(Boot0 = 1,Boot1 = 0),可使 NUCLEO板上電復(fù)位后進入 bootloader 模式。STM32F401RE 的 I2C1, I2C2, I2C3 均支持 bootloader,這里選取 I2C1 接口實現(xiàn)在 bootloader 模式下的程序下載功能。

6ed8f716-d758-11ec-bce3-dac502259ad0.png

6f2828d6-d758-11ec-bce3-dac502259ad0.png

關(guān)于 STLINK-V3SET 與 SRM32F401RE 之間的 I2C 連接,STLINK-V3SET 模塊上已提供 680 歐姆上拉電阻,已通過閉合 JP10 跳線激活。同時還需要通過 NUCLEO 板為 STLINK-V3SET 提供 3.3V 供電。參考 AN2606 中 I2C 接線方式,兩者的引腳接線如下表所示:

6f464c30-d758-11ec-bce3-dac502259ad0.png

最后,用一根 USB Type A 轉(zhuǎn) Micro B 的線連接 STLINK-V3SET 和 PC,同樣通過調(diào)試線給STM32 NUCLEO-F401RE 供電。

4.2 通過 IAR 將程序下載到 SRAM 中

參考另一篇實戰(zhàn)經(jīng)驗:《一種在 IAR 中實現(xiàn)通過將程序在 SRAM 中調(diào)試的方法》,主要操作為以下 2 點。

(1)在工程的鏈接選項中選擇 stm32f411xe_sram.icf 。

6f7d6b66-d758-11ec-bce3-dac502259ad0.png

(2)設(shè)置一下中斷向量表的位置 :

6fabec66-d758-11ec-bce3-dac502259ad0.png

4.3 通過 STM32CubeProgrammer 將程序下載到 SRAM 中并運行

由于 bootloader 使用了一部分 SRAM 程序,需要修改下地址避免沖突。參考另一篇實戰(zhàn)經(jīng)驗:《一種在 IAR 中實現(xiàn)從在 SRAM 運行的應(yīng)用程序跳轉(zhuǎn)到 bootloader 的方法》,對于 SRAM 中 bootloader 區(qū)域,我們從關(guān)于 bootloader 的應(yīng)用筆記可以看到以下信息 :

6fc1dfee-d758-11ec-bce3-dac502259ad0.png

從紅色部分我們可以看到 bootloader 使用了一部分內(nèi)部 SRAM,因此我們需要在stm32f411xe_sram.icf 中修改代碼運行的起始地址來避免與 Bootloader 運行時的沖突:

700e3952-d758-11ec-bce3-dac502259ad0.png

同時,需要修改下中斷向量表的偏移量:

705012fa-d758-11ec-bce3-dac502259ad0.png

在應(yīng)用中我們寫入以下程序 ,每隔 1s 閃爍 LED 燈。

7073ad5a-d758-11ec-bce3-dac502259ad0.png

最后,通過 STM32CubeProgrammer 進行程序下載。打開 STM32CubeProgrammer(版本 2.6),在 Serial number 選擇 STLINK-V3SET,相關(guān)配置如圖所示。端口選擇 I2C,波特率設(shè)為 400KHz,地址設(shè)為 0x39(地址為 7 位,例如 STM32F401RE I2C1 地址為 0b0111001x,則 I2C 設(shè)置的地址為 0b0111001,即 0x39,不同系列 MCU 地址可能不同,請查看 AN2606)。

709ead16-d758-11ec-bce3-dac502259ad0.png

點擊 Connect 后,如果連接成功,如圖所示。

70d97a90-d758-11ec-bce3-dac502259ad0.png

點擊 Erasing & Programming,加載 Hex 文件,勾選 Verify programming 和 Run after programming,如下圖所示。點擊 Start Programming,開始程序下載。程序下載成功后,可以看到 LED2 以 1Hz 頻率閃爍,同時 STM32CubeProgrammer 斷開連接。若要重新連接,需要按 NUCLEO 板上的復(fù)位鍵,使得 MCU 進入 bootloader 模式。

70feb1b6-d758-11ec-bce3-dac502259ad0.png

小結(jié)

利用 STLINK-V3SET,通過 STM32CubeProgrammer 軟件的 I2C 接口下載程序生成的 HEX 文件后,我們可以看到程序下載到 SRAM 運行之后,LED 燈每隔 1s 閃爍 1 次,應(yīng)用程序下載成功。

原文標(biāo)題:工程師筆記|通過 STLINK-V3SET I2C 接口將程序下載到 SRAM 中并執(zhí)行的方法

文章出處:【微信公眾號:STM32單片機】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

審核編輯:湯梓紅

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

    關(guān)注

    6

    文章

    786

    瀏覽量

    115967
  • STM32
    +關(guān)注

    關(guān)注

    2293

    文章

    11032

    瀏覽量

    364999
  • I2C
    I2C
    +關(guān)注

    關(guān)注

    28

    文章

    1541

    瀏覽量

    127861
  • 應(yīng)用程序
    +關(guān)注

    關(guān)注

    38

    文章

    3337

    瀏覽量

    59040
  • bootloader
    +關(guān)注

    關(guān)注

    2

    文章

    239

    瀏覽量

    46701

原文標(biāo)題:工程師筆記|通過 STLINK-V3SET I2C 接口將程序下載到 SRAM 中并執(zhí)行的方法

文章出處:【微信號:STM32_STM8_MCU,微信公眾號:STM32單片機】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

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

    BootLoader通過串口下載bin文件后為什么應(yīng)用程序的串口就失效了?

    BootLoader通過串口下載bin文件后為什么應(yīng)用程序的串口就失效了?1、使用ZStack-CC2530-2.4.0-1.4.0版本;2、現(xiàn)象如下(1)應(yīng)用程序編譯設(shè)置項不使用Se
    發(fā)表于 03-11 14:34

    請問使用HPI下載模式應(yīng)用程序鏡像下載到DSP中但是應(yīng)用程序不運行,是什么原因?

    請問一,使用HPI下載模式應(yīng)用程序鏡像下載到DSP中但是應(yīng)用程序不運行,是什么原因?我已經(jīng)按
    發(fā)表于 07-31 07:32

    怎么創(chuàng)建一個bootloader應(yīng)用程序項目

    我用串口獲取十六進制文件,然后寫在外部閃存上。Bootloader包含從外部Flash讀取并在內(nèi)部閃存上進行應(yīng)用程序更新的軟件。Bootloader、應(yīng)用程序和更新工作非常完美。新要求
    發(fā)表于 09-27 14:38

    如何使用Bootloader跳轉(zhuǎn)到Bootloadable應(yīng)用程序

    你好,我正在嘗試Bootloader和“USB HID引導(dǎo)加載程序”的BootloadEdvices程序。如果按SWI2,則執(zhí)行引導(dǎo)加載程序
    發(fā)表于 12-21 15:12

    怎么從應(yīng)用程序更新Bootloader?

    嗨,我正在使用PIC32 MZ2048 EFH064,我有一個Bootloader位于BFM中。以及PFM中的應(yīng)用固件。-第一次上電設(shè)備將處于主引導(dǎo)加載模式,并將下載應(yīng)用固件。
    發(fā)表于 04-09 10:22

    SPC5怎么從應(yīng)用程序調(diào)用bootloader

    的微控制器從閃存啟動,并能夠隨時從應(yīng)用程序調(diào)用引導(dǎo)加載程序。我怎樣才能做到這一點?我文檔中找不到關(guān)于此主題的任何信息。在此先感謝您的支持。#boot #spc5 #
    發(fā)表于 07-03 06:45

    CAN Bootloader應(yīng)用程序

    我已經(jīng)把CAN Bootloader程序下載到MCU中了,從上位機軟件(CANTest)發(fā)送ID和data沒問題(示波器也能檢測到正確的數(shù)據(jù))?,F(xiàn)在用CANTest軟件將應(yīng)用程序(該
    發(fā)表于 11-25 08:55

    PIC16F使用中斷的Bootloader應(yīng)用程序

    應(yīng)用程序中斷的明確答案。我的Bootloader被設(shè)置為使用ROM中的03FF,而我的應(yīng)用程序使用代碼偏移編譯器選項(設(shè)置為0x0400)。我可以..lst文件中看到兩個ISR都位
    發(fā)表于 03-18 10:22

    bootloader程序下載說明

    單片機學(xué)習(xí)資料,程序下載器——bootloader程序下載說明,感興趣的小伙伴可以看一看。
    發(fā)表于 11-03 15:50 ?0次下載

    BootLoader引導(dǎo)程序

    BootLoader引導(dǎo)程序,下載驅(qū)動,完善內(nèi)容
    發(fā)表于 05-02 09:26 ?16次下載

    vivo高通F模式型號識別應(yīng)用程序免費下載

    本文檔的主要內(nèi)容詳細介紹的是vivo高通F模式型號識別應(yīng)用程序免費下載 密碼12345
    發(fā)表于 10-29 08:00 ?20次下載
    vivo高通F<b class='flag-5'>模式</b>型號識別<b class='flag-5'>應(yīng)用程序</b>免費<b class='flag-5'>下載</b>

    SAMC21 BootLoader上位機應(yīng)用程序免費下載

    本文檔的主要內(nèi)容詳細介紹的是SAMC21 BootLoader上位機應(yīng)用程序免費下載可以和Atmel samc21 BOOT.rar里的程序配套使用。
    發(fā)表于 06-20 08:00 ?19次下載
    SAMC21 <b class='flag-5'>BootLoader</b>上位機<b class='flag-5'>應(yīng)用程序</b>免費<b class='flag-5'>下載</b>

    Atmel Samc21單片機的BootLoader程序和資料合集免費下載

    該單片機程序BootLoader程序,即只需要提供.HEX文件或者.bin文件,利用232串口就可以向單片機進行燒錄.而不需要調(diào)試器,與本人上傳的"SAMC21 BootLoader
    發(fā)表于 06-27 08:00 ?52次下載
    Atmel Samc21單片機的<b class='flag-5'>BootLoader</b><b class='flag-5'>程序</b>和資料合集免費<b class='flag-5'>下載</b>

    華大HC32F460 Bootloader應(yīng)用程序的實現(xiàn)

    ,正好用這個熟悉一M4的內(nèi)核和華大的MCU。先說一bootloader的實現(xiàn)的效果:程序由boot loader啟動,判斷是否需要由bootlo
    發(fā)表于 11-23 18:06 ?99次下載
    華大HC32F460 <b class='flag-5'>Bootloader</b>及<b class='flag-5'>應(yīng)用程序</b>的實現(xiàn)

    bootloader應(yīng)用程序之間共享FEE塊

    電子發(fā)燒友網(wǎng)站提供《bootloader應(yīng)用程序之間共享FEE塊.pdf》資料免費下載
    發(fā)表于 10-10 09:18 ?2次下載
    <b class='flag-5'>在</b><b class='flag-5'>bootloader</b>和<b class='flag-5'>應(yīng)用程序</b>之間共享FEE塊