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

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

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

3天內不再提示

程序換個IDE就不運行了?

茶話MCU ? 來源:茶話MCU ? 2023-07-24 15:30 ? 次閱讀

有人使用STM32H743芯片做應用開發,遇到個比較奇怪的事情。事情是這樣的,他使用ST公司的圖形化配置工具STM32CubeMx進行基本配置后,如果基于ARM MDK IDE創建工程并組織代碼,編譯除錯后運行一切正常。但如果他基于IAR IDE創建工程并使用相同的用戶代碼時,發現程序沒法正常運行,同時還沒有任何報錯。頗為奇怪。

經進一步了解。他的代碼要實現的一個主要功能就是ADC,并利用通用DMAADC結果搬運到內存。現在最明顯的問題就是,當把IDE從MDK切換到IAR后,ADC的結果沒有被搬運到內存。借助調試可以確認,ADC外設確實啟動了、DMA配置也沒有問題,那到底怎么回事呢?兩個環境下的外設配置及用戶應用代碼是完全一樣的。

借助調試,在調試過程中無意發現了一點點差異。那就是兩個IDE分別為存放ADC結果的內存安排的地址不一樣。下面兩幅截圖來自ARM MDK和IAR環境下存放ADC結果的內存地址。

8547dcbc-29f3-11ee-a368-dac502259ad0.png

855a604e-29f3-11ee-a368-dac502259ad0.png

不難看到,在MDK環境下,內存地址安排在0x2400008c開始的地方,而在IAR環境下內存地址被安排在0x20000084開始的地方。難道問題就出在這個地方?

------正是!

我們先查看STMH7參考手冊,看看上面2個地址位于哪些內存區。

85bfcbf0-29f3-11ee-a368-dac502259ad0.png

也就是說,IAR默認將存放ADC結果的內存安排在DTCM區,而MDK將其安排在AXI SRAM區。我們可以查看手冊得知,H7系列的通用DMA1或DMA2是沒法訪問DTCM的。DTCM只能被內核或MDMA訪問。

85eabd2e-29f3-11ee-a368-dac502259ad0.png

861d1f94-29f3-11ee-a368-dac502259ad0.png

上圖中的短橫杠表示不可訪問。原來是這樣,難怪編譯過程中沒有任何報錯提示,只是所選DMA硬件上不支持對DTCM的訪問而已。

既然知道了原因,問題就好解決了。我們可以在IAR環境里直接給定存儲地址,能讓DMA訪問到就行。或者在IAR調試環境下修改內存使用的默認地址于AXI SRAM區【參考下面截圖示意操作】。

86690580-29f3-11ee-a368-dac502259ad0.png

OK,今天的話題就分享到這里。這里多分享一點,愿君少跳一次坑。下次再聊。

審核編輯:湯梓紅

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

    關注

    99

    文章

    6530

    瀏覽量

    545379
  • IDE
    IDE
    +關注

    關注

    0

    文章

    339

    瀏覽量

    46809
  • 程序
    +關注

    關注

    117

    文章

    3794

    瀏覽量

    81270
  • dma
    dma
    +關注

    關注

    3

    文章

    566

    瀏覽量

    100811
  • STM32H743
    +關注

    關注

    0

    文章

    24

    瀏覽量

    1742

原文標題:程序換個IDE就不運行了?

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

收藏 人收藏

    評論

    相關推薦

    STM8程序脫機后就不運行的原因?

    Delay_T = 1000; while(Delay_T); 上面這部分程序在Main()中的初始化程序后,仿真可正常執行。但脫機后,就不運行了。 改為 Delay_T = 100
    發表于 04-19 08:05

    STM32F401 AHB時鐘大于30MHz就不運行了是怎么回事?

    STM32F401 AHB時鐘大于30MHz 就不運行了,手冊數據是84MHz,是什么問題?
    發表于 04-24 08:28

    添加移位寄存器后就不能正常運行了,該怎么破?

    之前的程序運行很正常,但是添加一個移位寄存器來記錄事件的發生次數后,程序就不能正常運行了,請高手指點,附圖兩張。
    發表于 03-03 23:13

    第一次使用軟件仿真,我寫了個調試程序,在開發板上可以運行,但在PROTEUS上就不行了,為什么呢

    ` 本帖最后由 wcm014 于 2015-11-21 15:01 編輯 如題,我用PIC12F675寫了個調試程序,第一次用軟件仿真,在開發板上可以運行,但在PROTEUS上就不行了,是不是我
    發表于 11-21 14:31

    cc2540 程序隔斷時間后就不運行了怎么回事?

    cc2540下載程序后,過一段時間(幾十個小時)程序就不運行了,重啟也不行,必須要重新燒錄程序才能運行
    發表于 03-11 15:25

    cc2530為什么跑了幾天后程序就不正常運行了

    cc2530為什么跑了幾天后程序就不正常運行了?cc2530程序剛開始都能正常的運行,可是當跑了幾天左右
    發表于 04-05 16:16

    請問一下,STM32 boot0和boot1兩個都懸空的話程序是不是就不運行了

    請問一下,STM32 boot0和boot1兩個都懸空的話程序是不是就不運行了運行程序的話boot0必須要接地嗎?求大神解答一下,本人新手。多謝!!
    發表于 06-05 18:45

    STC同樣的程序換個芯片就不運行

    如題,壇友們有沒遇到這樣的問題呢我在STC12LE5A60S2-LQFP44上面可以運行程序,移植到STC12C5616AD-LQFP32上就不運行,郁悶了兩個晚上。。。頭文件由S
    發表于 04-08 22:49

    為什么程序運行到OSStatInit()時就不在運行了

    程序運行到OSStatInit()時就不在運行了,將OSStatInit()注釋掉后每個任務都只運行一次后就不再運行了,但是這兩種情況下,卡
    發表于 10-15 21:37

    為什么單片機斷電重啟以后程序就不運行了?怎么解決?

    單片機最小系統是我自己焊的,我認為不是程序和芯片的問題,芯片和程序在其它的插座上運行的好好的。但我焊的這個插座卻不行。是晶振,復位還是什么電路出問題了嗎
    發表于 10-26 07:00

    使用VISUALDSP++5.0,為什么一選擇指令和數據cache程序就不運行了

    我使用VISUALDSP++5.0,不選擇指令和數據cache,程序就能運行,為什么一選擇指令和數據cache,程序就不運行了,不能仿真
    發表于 12-20 08:27

    Vitis IDE入門helloworld程序

    第一個Xilinx Vitis IDE入門helloworld程序
    發表于 07-25 17:37 ?1291次閱讀
    Vitis <b class='flag-5'>IDE</b>入門helloworld<b class='flag-5'>程序</b>

    基于IAR IDE創建工程程序不能運行怎么解決

    除錯后運行一切正常。但如果他基于IARIDE創建工程并使用相同的用戶代碼時,發現程序沒法正常運行,同時還沒有任何報錯。頗為奇怪。 經進一步了解。他的代碼要實現的一個主要功能就是ADC,并利用通用DMA將ADC結果搬運到內存。現在
    的頭像 發表于 07-22 17:27 ?1715次閱讀
    基于IAR <b class='flag-5'>IDE</b>創建工程<b class='flag-5'>程序</b>不能<b class='flag-5'>運行</b>怎么解決

    運行c程序的基本步驟

    運行C程序的基本步驟可以分為以下四個主要步驟:編寫程序、編譯程序、鏈接程序運行程序。本文將詳細
    的頭像 發表于 11-27 16:21 ?5956次閱讀

    運行Python程序的幾種常見方法

    方法: 使用Python解釋器 Python解釋器是運行Python程序的基本工具。在命令行中輸入 python 命令,即可啟動解釋器。然后輸入程序代碼,按回車即可執行。這種方法適用于簡單的
    的頭像 發表于 11-28 15:32 ?2594次閱讀
    主站蜘蛛池模板: 九色PORNY丨视频入口| 国产成人在线观看免费网站| 小p孩玩成年女性啪啪资源| 性色欲情网站IWWW| 国产99久久亚洲综合精品西瓜tv| 国产午夜精品理论片| 久久视频这有精品63在线国产 | 红色机尾快播| 美女快播第一网| 日韩人妻精品久久日 | 色呦呦导航| 一本道综合久久免费| 2020亚洲国产在线播放在线| 广播电台在线收听| 日韩亚洲欧美中文高清| 高h肉文合集| 欧美内射深插日本少妇| 亚洲色欲色欲WWW在线成人网| gogo免费在线观看| 精品无码国产AV一区二区三区| 日本不卡免免费观看| 阴茎插入阴道| 国产69精品久久久熟女| 丝瓜视频樱桃视频在线观看免费| 最好看中文字幕国语| 国产精品亚洲精品久久国语| 女人高潮时一吸一夹| 亚洲精品在线影院| 国产产乱码一二三区别免费| 午夜家庭影院| 成电影人免费网站| 美女搞鸡网站| 亚洲人成网站在线播放| 国产成人精品三级在线| 亚洲成人精品| 国产精品三级在线观看| 日本一在线中文字幕| 99久久爱re热6在线播放| 九九影院午夜理论片无码| 97久久伊人精品影院| 男女亲吻摸下面吃奶视频|