STM32C8T6 JTAG使用到PB3|PB4|PA13|PA14|PB15端口做普通IO时,需禁止JTAG!


GPIO_InitTypeDef GPIO_InitStructure;
 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOC|RCC_APB2Periph_AFIO, ENABLE);
 
 /**********************
 1.执行端口重映射时,复用功能时钟得使能:RCC_APB2Periph_AFIO
 
 2.  &1.GPIO_Remap_SWJ_Disable: !< Full SWJ Disabled (JTAG-DP + SW-DP)
      此时PA13|PA14|PA15|PB3|PB4都可作为普通IO用了
 
 为了保存某些调试端口,GPIO_Remap_SWJ_Disable也可选择为下面两种模式:
  
     &2.GPIO_Remap_SWJ_JTAGDisable: !< JTAG-DP Disabled and SW-DP Enabled
     此时PA15|PB3|PB4可作为普通IO用了
  
     &3.GPIO_Remap_SWJ_NoJTRST: !< Full SWJ Enabled (JTAG-DP + SW-DP) but without JTRST
     此时只有PB4可作为普通IO用了 
 **********************/
 
 GPIO_PinRemapConfig(GPIO_Remap_SWJ_NoJTRST, ENABLE);  //使能禁止JTAG

//初始化GPIOB  推挽输出
 GPIO_InitStructure.GPIO_Pin = (GPIO_Pin_3|GPIO_Pin_4);
 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;  
 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;  
 GPIO_Init(GPIOB, &GPIO_InitStructure); 
 GPIO_SetBits(GPIOB, GPIO_Pin_3|GPIO_Pin_4);
 //初始化GPIOA  推挽输出
 GPIO_InitStructure.GPIO_Pin = (GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15);  
 GPIO_Init(GPIOA, &GPIO_InitStructure); 
 GPIO_SetBits(GPIOA, GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15);

时间: 2024-10-07 10:25:15

STM32C8T6 JTAG使用到PB3|PB4|PA13|PA14|PB15端口做普通IO时,需禁止JTAG!的相关文章

GPIO初始化之PB3/PB4/PA13/PA14/PA15引脚的复用--寄存器版本

为了节省IO资源单片机会在一个IO上复用很多功能,一般的单片机用到 一个功能后就能再用两外复用的功能了,这就体现出了STM32 GPIO的强大功能了,我们用重映射的方法把其中一个外设映射到其他IO脚上,这样就可以充分利用片内资源! 如下代码即可实现JETG的引脚,用来当做普通引脚来用,简单3行代码即可,比库函数版本好多了. RCC->APB2ENR|=1; //开启复用功能AFIO时钟 FLASH->ACR|=0x32; //延时2个时钟周期 AFIO->MAPR&=0XF8FF

STM32实现Airplay音乐播放器

AirPlay是苹果公司推出的一套无线音乐解决方案,我们手里的iPhone.iPad甚至是Apple Watch等设备还有电脑上的iTunes都支持AirPlay,但是支持AirPlay功能的音响设备都是比较贵的,荷包扁扁的我自然是感觉买那么贵的音响实在是不合算.前两天突发奇想,如果STM32可以支持AirPlay的功能,那么不就可以让我享受一把无线音乐的自由自在了吗?于是马上登陆github搜了一下,发现还真有解决方案不过基本上所有的方案都是在linux或者windows上运行的,精挑细选之后

STM32 JTAG引脚复用设置

前奏 先来copy下 JTAG.SW接口的定义, JTAG:JTAG(Joint Test Action Group:联合测试工作组)是一种国际标准测试协议,主要用于芯片内部测试.现在多数的高级器件都支持JTAG协议,如DSP.FPGA器件等.标准的JTAG接口是4线:TMS.TCK.TDI.TDO,分别为模式选择.时钟.数据输入和数据输出线. SWD:SW(Serial Wire Mode Interface),串行接口线模式.在串行线模式,只有针TCLK和TMS使用.TDO数据输出引脚是一个

ARM JTAG 调试原理

OPEN-JTAG 开发小组 1 前言 这篇文章主要介绍 ARM JTAG 调试的基本原理. 基本的内容包括了 TAP (TEST ACCESS PORT) 和 BOUNDARY-SCAN ARCHITECTURE 的介绍, 在此基础上,结合 ARM7TDMI 详细 介绍了的 JTAG 调试原理. 这篇文章主要是总结了前段时间的一些心得体会,希望对想了解 ARM JTAG 调试的网友们 有所帮助. 我个人对 ARM JTAG 的理解还不是很透彻,在文章中,难免会有偏失和不准确的地 方, 希望精通

JTAG

JTAG是JOINT TEST ACTION GROUP的简称,JTAG的两个标准IEEE 1149.1(2001)和IEEE 1149.7(2009). JTAG中主要包含两部分内容:TAP(TEST ACCESS PORT)和BOUNDARY-SCAN ARCHITECTURE. 边界扫描的基本思想是:在靠近芯片输入输出引脚处,增加一个移位寄存器单元,称为边界扫描寄存器(Boundary-Scan Register cell) 在芯片处在debug模式下时,这些边界扫描寄存器可以将芯片和外围

JTAG 引脚自动识别 JTAG Finder, JTAG Pinout Tool, JTAG Pin Finder, JTAG pinout detector, JTAGULATOR, Easy-JTAG, JTAG Enumeration

JTAG Finder Figuring out the JTAG Pinouts on a Device is usually the most time-consuming and frustrating process and Finding the pinouts for these ports allows you to access with correct JTAG Devices likeGPG ORT, and JTAG Finder helps you to get star

ARM JTAG 信号 RTCK 应该如何处理?

用户在调试内嵌可综合内核的 CPU 如 ARM7TDMI-S 时,需要通过打开仿真器的自适应时钟功能. 此时,ARM仿真器根据 RTCK 时钟信号的频率,产生可用于 CPU 内核当前时钟主频的最快的 TCK 时钟. 即 ARM 内核的时钟主频变化,引起 RTCK 变化, 仿真器根据 RTCK 的变化,产生合适的最快的 TCK 时钟. 如果没有有效的 RTCK 信号,用户不能使用自适应时钟功能.这种情况下,用户可以设置 TCK 为比较低的频率. 当用户确认 CPU 运行在比较高的频率的情况下,可以

JTAG电阻上下拉的问题

JTAG信号:TCK, TDO, TDI, TMS, TNRST, TSRST. TDI与TMS确认上拉,常见1K,4.7K,10K,电阻选值不一而足,实际中10K用最多,多年未出问题,然现在觉得4.7K应该更好,具体原因可见下.JTAG电阻取值. TDO确认悬空 TCK,TNRST确认下拉,常见1K,4.7K,10K,电阻选值不一而足,实际10K上拉最多,多年未出问题, --------------------------------------------------------------

Rocket - jtag - JtagTap

https://mp.weixin.qq.com/s/0u9jM2u-FkTlrk3QNuZaBw 简单介绍JtagTap的实现. 1. 简单介绍 定义TAP(Test Access Port)所需要的相关模块,并实现一个生成TAP的方法. 2. JTAGIO 定义JTAG模块的输入输出接口,输入输出方向是从master side的视角出发决定: 其中,TDO是一个三态值: 3. JtagOutput 定义JTAG模块的输出信号: a. state:JTAG的当前状态: b. instructi