新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > STM32的JTAG、SWD和串口下載的問題

        STM32的JTAG、SWD和串口下載的問題

        作者: 時間:2016-11-10 來源:網(wǎng)絡(luò) 收藏
        最近有一個項目用到STM32,為了使PCB布線方便一些所以改了一些引腳,占用了JTAG接口的PA15和PB3,所以要禁用一下JTAG,下載采用SWD模式。這樣在實際操作中做出一些總結(jié)(方法網(wǎng)上都有、這里只是總結(jié)記錄一下):

        本文引用地址:http://www.104case.com/article/201611/317498.htm

        1:GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable,ENABLE);

        改變指定管腳的映射 GPIO_Remap_SWJ_Disable SWJ完全禁用(JTAG+SW-DP)

        2:GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);

        改變指定管腳的映射 GPIO_Remap_SWJ_JTAGDisable,JTAG-DP禁用 + SW-DP使能

        這里選擇你要的模式,我是只用SWD不用JTAG

        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        12
        voidGPIOint(void)
        {
        GPIO_InitTypeDef GPIO_InitStructure;
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);
        GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);
        RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA , ENABLE);
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15;
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP ;
        GPIO_Init(GPIOA, &GPIO_InitStructure);
        }

        STM32在程序中禁用JTAG功能后不能進行仿真會出現(xiàn)不能進行JTAG仿真的現(xiàn)象。

        如果不小心僅用了JTAG導致下載不了程序了可以用以下方法解決:

        1、設(shè)置啟動模式為ISP模式(BOOT0=1、BOOT1=0)或設(shè)置啟動模式為RAM運行模式(BOOT0=1、BOOT1=1)。

        將板子重新上電,此時就因不是在用戶程序模式,因此就不會執(zhí)行禁用JTAG的語句,JTAG功能也就可以正常使用。

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

        使用串口下載的軟件Flash_Loader_Demonstrator 官網(wǎng)上有。注意串口下載只能用USART1也就是PA9和PA10引腳的那組。

        3、如果你的仿真器支持SWD仿真模式,如IAR下用JLINK、MDK下用ULINK2。

        直接將仿真器的模式設(shè)為SWD模,就可以不受這個禁止JTAG功能的影響了。



        關(guān)鍵詞: STM32JTAGSWD串口下

        評論


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

        關(guān)閉
        主站蜘蛛池模板: 宣威市| 封开县| 招远市| 江西省| 得荣县| 遂昌县| 佛山市| 宝鸡市| 镇原县| 达尔| 乌拉特前旗| 思茅市| 陈巴尔虎旗| 社旗县| 定南县| 临猗县| 博乐市| 永州市| 定安县| 阿鲁科尔沁旗| 台安县| 红桥区| 乳山市| 太谷县| 许昌县| 吉木萨尔县| 治县。| 大名县| 韶关市| 兴仁县| 孙吴县| 田林县| 大港区| 含山县| 临邑县| 金乡县| 安化县| 晋宁县| 安泽县| 肥乡县| 石狮市|