码迷,mamicode.com
首页 > 其他好文 > 详细

RT3052修改JTAG接口为GPIO

时间:2015-03-09 16:25:25      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:

技术分享

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

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

技术分享

技术分享

  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来使用。



RT3052修改JTAG接口为GPIO

标签:

原文地址:http://my.oschina.net/lvsin/blog/384292

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!