新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > STM32在程序中禁用JTAG功能后不能進(jìn)行仿真的解決辦法

        STM32在程序中禁用JTAG功能后不能進(jìn)行仿真的解決辦法

        作者: 時(shí)間:2016-11-30 來源:網(wǎng)絡(luò) 收藏
        STM32在程序中禁用JTAG功能后不能進(jìn)行仿真會(huì)出現(xiàn)不能進(jìn)行JTAG仿真的現(xiàn)象。

        在程序中,通常禁止JTAG的函數(shù)如下所示:
        //改變指定管腳的映射GPIO_Remap_SWJ_Disable SWJ 完全失能(JTAG+SW-DP)
        GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);

        //改變指定管腳的映射GPIO_Remap_SWJ_JTAGDisableJTAG-DP 失能 + SW-DP使能
        GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable , ENABLE);

        當(dāng)設(shè)置了以上語句后,當(dāng)運(yùn)行了這兩個(gè)語句后,JTAG仿真就與目標(biāo)失去去聯(lián)系。

        解決辦法有:

        1、設(shè)置啟動(dòng)模式為ISP模式(BOOT0=1、BOOT1=0)或設(shè)置啟動(dòng)模式為RAM運(yùn)行模式(BOOT0=1、BOOT1=1)。
        將開發(fā)板斷電后重新上電,此時(shí)就因不是在用戶程序模式,因此就不會(huì)執(zhí)行禁用JTAG的語句,JTAG功能也就可以正常使用。

        2、設(shè)置啟動(dòng)模式為ISP模式(BOOT0=1、BOOT1=0),用ISP程序?qū)TM32的FLASH擦除,之后就可恢復(fù)JTAG功能。

        3、如果你的仿真器支持SWD仿真模式,如IAR下用JLINK、MDK下用ULINK2。
        直接將仿真器的模式設(shè)為SWD模,就可以不受這個(gè)禁止JTAG功能的影響了。
        lhtzyn777(2009-4-13 11:04:00)
        這樣的話,
        GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);
        GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable , ENABLE);
        這樣設(shè)置之后PB3,PB4是不是可以做普通IO使用?可以設(shè)置為推挽輸出嗎?
        zzu65(2009-4-13 16:35:55)
        可以作為普通IO使用



        關(guān)鍵詞: STM32JTAG功能仿

        評(píng)論


        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 寿阳县| 枣强县| 前郭尔| 津南区| 辽阳市| 青冈县| 内乡县| 台东市| 兰考县| 民乐县| 枣庄市| 甘洛县| 南召县| 丰都县| 彩票| 岱山县| 新泰市| 林芝县| 花莲市| 万山特区| 永年县| 哈巴河县| 叶城县| 雅安市| 南城县| 出国| 金堂县| 洮南市| 盐池县| 界首市| 乌兰察布市| 连州市| 台东县| 江阴市| 华宁县| 山东| 古交市| 汉寿县| 桃源县| 尖扎县| 威宁|