RT3052修改JTAG接口为GPIO

   134759_FSbf_2316382.png

  根据DataSheet文档所述,当JTAG_GPIO_MODE寄存器设置为1时,JTAG引脚功能为GPIO,且对应的GPIO序号为GPIO17~GPIO21

  设置JTAG接口为GPIO需要修改GPIOMODE寄存器的JTAG_GPIO_MODE位,GPIOMODE寄存器位于SYSCTL寄存器组内,如下表所述:

134904_9Fj5_2316382.png

134905_yZvU_2316382.png

  GPIOMODE寄存器偏移位置为0x60,所以GPIOMODE寄存器实际地址为0x1000 0060。根据上表描述,JTAG_GPIO_MODE位于GPIOMODE寄存器的6bit位置。

  SDK在系统内核驱动source/linux-2.6.36.x/drivers/char/ralink_gpio.h中有如下定义:

/*                                                                               
 * Address of RALINK_ Registers                                                  
 */                                                                              
#define RALINK_SYSCTL_ADDR              RALINK_SYSCTL_BASE      // system control
#define RALINK_REG_GPIOMODE             (RALINK_SYSCTL_ADDR + 0x60)

  所以可以直接使用宏定义来修改JTAG_GPIO_MODE寄存器,

  在source/linux-2.6.36.x/drivers/char/ralink_gpio.c中,找到int __init ralink_gpio_init(void)函数,在函数中加入如下语句:

gpiomode |= (1 << 6);

就可以实现把JTAG引脚配置为GPIO来使用。

本文所述代码来源于官方SDK代码)


转载于:https://my.oschina.net/lvsin/blog/384292

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值