国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

探究STM32H7芯片IAP跳轉失敗案例

茶話MCU ? 來源:cc ? 2019-02-26 15:32 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

STM32用戶反饋,他在使用STM32H750VB編寫用戶引導程序【BOOT CODE】和應用程序【APP CODE】。根據數據手冊描述,STM32H750有128K Bytes的片內flash,地址是從0x0800 0000~~0x0801 FFFF。他將用戶bootloader放在0x0800 0000~0x0800 2FFF,應用程序放在0x08003000~0x0801 FFFF。但當他按照這樣的存儲分配設計時,發現總是沒法實現從BOOT區到APP區的跳轉。

基于該用戶的反饋信息,給他做了些提醒,比如中斷矢量表定位問題,客戶都說已經注意到了,代碼應該沒有問題。我這邊就客戶反饋的問題找了塊STM32H743的板做了驗證測試。發現從BOOT區到APP區的跳轉并沒有異常,那么客戶怎么又有問題呢?

再次查看了客戶郵件的反饋信息。他用的默認內部SRAM區為AXI SRAM,地址區間在0x24000000 --0x2407FFFF,即下面表格中的A區,而我使用的默認內部SRAM區是DTCM SRAM,地址區間在0x20000000 -0x2001FFFF,即下面表格中的B區。

難道是這個差別導致跳轉的不同結果?當然,這兩個SRAM區在使用上還是有差異的。

我嘗試著將測試工程的默認SRAM區從TCM RAM也改成AXI SRAM進行測試。果真沒法實現從BOOT區到APP區的跳轉!看來跳轉失敗跟選擇這個默認SRAM區有關系。也就是說當我默認使用DTCM RAM時跳轉正常,如果默認使用AXI SRAM時會跳轉失敗。

我們知道,STM32H7系列芯片支持D-CACHE/I-CACHE。具體到這里,如果使用AXI SRAM往往會用到D-CACHE。我們的工程代碼里也的確開啟了D-CACHE,如果是因為這個原因,如果在做跳轉操作之前關閉D-CACHE應該就能實現正常跳轉。 于是對代碼稍加調整,實際上也就是加了句關閉D-CACHE的代碼。【紅色方框處】

再次進行測試,此時即使使用AXI RAM做為默認內存空間,從用戶BOOT區也能可靠跳轉到APP區,完美實現。

這里涉及到STM32H7系列芯片內部不同存儲區的訪問特性和D-Cache相關知識,細節還是挺多的。有興趣的話,可以自行查看相關技術手冊做進一步的了解和探究。有時間,后續將在這里做進一步交流。此時分享該應用案例,一做應用提醒,二做拋磚引玉。

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

    關注

    463

    文章

    54010

    瀏覽量

    466151
  • STM32
    +關注

    關注

    2309

    文章

    11162

    瀏覽量

    373472

原文標題:一個STM32H7芯片IAP跳轉失敗的案例

文章出處:【微信號:stmcu832,微信公眾號:茶話MCU】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    CW32L083 IAP跳轉后中斷無響應是什么原因?

    最近做一個項目,需要IAP。按照官方的教程一切順利,軟件APP跳轉一切正常,但是跳轉后中斷沒有響應。搜索了一堆資料,APP在mian中找開了中斷,在不同地方設置VROT,都沒能解決,查了數據手冊,也
    發表于 12-09 07:19

    RTthread 4.1 stm32h7系列不支持pwm要怎么處理?

    找問題找了很久,搜到了一個4.0.2版本pwm 沒有支持STM32H7系列的帖子 現在是4.1 還是沒有,求助大佬幫改個代碼 報錯信息 驅動程序里沒有STM32H7的 static
    發表于 09-10 07:34

    從 rtthread studio 上拉下來的 stm32h7 FDACN 驅動調不通是哪里的問題?

    請問我從 rtthread studio 上拉下來的 stm32h7 FDACN 驅動調不通,是這個驅動有問題嗎
    發表于 09-10 06:03

    rt thread studio編寫STM32H7不能使用V2版串口驅動是怎么回事?

    使用rt thread studio編寫STM32H7程序,使用rt thread settings可視化工具配置:使用UART設備驅動程序,配置為RT_USING_SERIAL_V2,但是使用的還是drv_usart.c,沒有drv_usart_v2.c。這是真么回事
    發表于 08-29 07:56

    STM32H7使用HAL庫如何控制外置USB HS PHY進入低功耗?

    項目使用STM32H7的HAL庫控制外置USB HS PHY(如USB3300或CH132)的。不知如何讓MCU通過ULPI接口寫寄存器讓USB HS PHY進入低功耗,且USB保持鏈接狀態讓PC可以重新喚醒。
    發表于 08-14 07:21

    求助,關于stm32H7多DMA數據流問題求解

    情況如下:stm32H7配置了一個adc進行采樣,通過dma進行數據傳輸,串口接收和發送命令,用兩個dma數據流通道,采用的空閑中斷。 問題:adc一直在中斷中,調試未進入串口中斷,關閉adc后串口
    發表于 07-29 15:02

    IAP升級跳轉APP跳轉Boot失敗了怎么解決?

    使用的MCU是STM32U535RC ,V6 編譯器 跳轉實現的功能如下 /** *@brief直接跳轉到 Boot 程序 */ void LibJumpToBoot(UINT32
    發表于 07-21 06:15

    有沒有哪位大神提供一個STM32H523或者STM32H563的串口升級的IAP程序?

    有沒有哪位大神提供一個STM32H523或者STM32H563的串口升級的IAP程序
    發表于 06-12 06:56

    STM32H7CubeMX配置硬件I2C,讀寫失敗是什么問題呀?

    STM32H7CubeMX配置硬件I2C,讀寫失敗什么問題呀,同樣的操作F4和F1都能正常使用,應該不存在i2c地址錯誤,操作都是一樣的,但H7就是用不了。I2C_WaitOnFlagUntilTimeout返回HAL_ERRO
    發表于 06-12 06:21

    使用STM32H7的FDCAN通訊,為什么CAN1會收到CAN2的幀ID,CAN2也會收到CAN1的?

    使用STM32H7的FDCAN通訊,請問為什么CAN1會收到CAN2的幀ID,CAN2也會收到CAN1的?
    發表于 03-14 10:33

    當內存不夠時,stm32h7 ITCM可以當普通ram用嗎?

    當內存不夠時,stm32h7 ITCM可以當普通ram用嗎
    發表于 03-14 06:13

    STM32H723 IAP跳轉進入硬件故障怎么解決?

    1、棧頂指針校驗不通過; 2、屏蔽棧頂指針校驗,跳轉進入硬件故障;
    發表于 03-13 08:10

    求助,關于STM32H7系列芯片下的ECC功能的疑問求解

    我這里采用的是STM32H755的芯片,參考了文檔
    發表于 03-11 07:43

    STM32H7 ADC_IRQHandler和ADC3_IRQHandler這兩個中斷入口函數在使用上有什么區別?

    STM32H7,ADC_IRQHandler和ADC3_IRQHandler這兩個中斷入口函數在使用上有何區別?
    發表于 03-11 07:28

    請問STM32H5遞增HDPL后如何跳轉下一級程序?

    STM32H5的HDP保護,比如某一級ROT提升HDP等級并跳轉下一級代碼運行。那設置HDP等級提升后,立刻生效嗎?如果生效,芯片不能再執行當前ROT中的程序,接下來怎么跳轉到下一級程
    發表于 03-11 06:00