STM32 程序禁用JTAG、SWD

来源:互联网 发布:用java编写菱形 编辑:程序博客网 时间:2024/05/19 23:12

STM32 程序禁用JTAG、SWD


  • 标准库禁用
  • HAL库禁用
  • 不能下载程序
  • PB3

禁用方式

程序中在使用到JTAG、SWD的某个IO 时,需要禁用掉相关调试方法后,再配置相应的IO方式。在需要相应的接口配置前使用这些代码。

  • 标准库配置:
 RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO|RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOF, ENABLE);  //使能相应接口的时钟,以及RCC_APB2Periph_AFIO GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);//完全禁用SWD及JTAG  GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);     //禁用JTAG
  • HAI库配置方式:
    __HAL_RCC_AFIO_CLK_ENABLE();  __HAL_RCC_GPIOB_CLK_ENABLE();             //    __HAL_RCC_GPIOF_CLK_ENABLE();               ///* JTAG-DP Disabled and SW-DP Disabled */  __HAL_AFIO_REMAP_SWJ_DISABLE();           //完全禁用SWD及JTAG     __HAL_AFIO_REMAP_SWJ_NOJTAG();              //禁用JTAG

产生的副作用

在禁用掉相应的接口方式后,即不能再使用这种方式下载程序了。因此会出现很多人遇到的:“”RAM check failed at :“”或者“NO M-Cortex”.

遇到这个状况,需要再次下载程序,有如下三种办法:

  • 如果只禁用的JTAG,可以用SWD模式下载程序进去。

否则只能后续两种,但总体思路都是不认让代码运行起来,不去禁用JTAG及SWD,这时候下载程序。

  • 采用人工复位,按钮或短接。在程序下载进行到复位的这一步,完成复位动作。
  • 拉高BOOT0->重新上电->程序不能运行->下载程序-> 拉低BOOT0->重新上电->程序正常运行。

注意及总结

  • 根据自己实际需要的禁用方式来禁用JTAG及SWD。我只需禁用JTAG,不用完全禁用,就会避免这些问题了。
  • 一开始能正常下载,后来不能下载了,一定是代码配置中出现的问题。细心查找网络资源及代码配置试验后,总结出了出错原因。
阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 网页三剑客 三剑客影院 三剑客减肥产品靠谱吗 三剑客是比喻什么意思 尼康三剑客 老中医祛痘三剑客 网页制作三剑客教程 佳能三剑客 三剑客与飞机妹国语版 三剑客是什么意思 北影三剑客 三剑客中文 网络三剑客 三剑舞下载 三剑舞2 三剑舞破解版 三剑舞为什么玩不了 三剑舞现在不能玩了 三剑舞中文破解版免费 三剑豪论坛 死神之剑豪 三剑豪2 三剑豪乐逗版下载 三剑豪激活码 宇宙剑豪扎姆夏 海贼之雷霆剑豪 海贼之剑豪之道 海贼之剑豪大将 三力士股份有限公司 三力士三角带 三力士皮带 三加二学校有哪些 三加二大专学校 三加二有哪些学校 三加二大专是全日制吗 石家庄三加二学校有哪些学校 三勒浆 三勒浆的功效与作用 电器三包规定 家电三包规定 质量三包规定