关于stm32的jtag和swd的配置

[复制链接]
10689|11
 楼主| yixin1937 发表于 2010-5-23 11:16 | 显示全部楼层 |阅读模式
我在看jtag的时候发现SWJ_CFG[2:0]  
复位(SYSRESETn或PORESETn)以后,属于SWJ-DP的所有5个引脚都立即被初始化为可被调
试器使用的专用引脚(注意,并没有初始化跟踪输出脚,除非调试器对此脚进行定义)。
复位后的初始值是 000(所有引脚都设置为 JTAG-DP接口专用引脚),同时只能置位 3个位中
的一个(禁止同时设置一个以上的位)。
也就是说当我断电或者jnrest复位后,使得SWJ_CFG[2:0]  变成了000
设置SWJ_CFG[2:0]  变成了001的时候就释放了了JNTRST引脚
这样的话 在jtag仿真的时候 就用不到jtag的JNTRST引脚了~
我看到这个后有几个疑问:
1、复位后~我怎么设置SWJ_CFG[2:0] ?是在调试软件中设置,还是在程序中设置,
2、如果是在调试软件中设置,我用的是keil 告诉一下我具体的设置步骤?
3、如果是程序设置,那我在第一次的时候,程序里是空的,而我的SWJ_CFG[2:0] 为001(也就是说不用JNTRST引脚了)这样的话~我怎么办?
我是个菜鸟中的菜鸟~初学stm32,请说清楚些~
谢谢各位的大虾~
swj-dp管脚分配.jpg
 楼主| yixin1937 发表于 2010-5-23 11:17 | 显示全部楼层
再提供一点资料
1.jpg
香水城 发表于 2010-5-23 13:56 | 显示全部楼层
SWJ_CFG[2:0]需要程序设置。
 楼主| yixin1937 发表于 2010-5-23 14:30 | 显示全部楼层
3q我看到了·我也发现是也许程序来设置,而不是调试软件设置·
我就怕是这点~唉这没有办法~
复位后SWJ_CFG[2:0] 为000(所有引脚都设置为 JTAG-DP接口专用引脚)。
那这样的话~没有jnrest这个脚~还能不能烧写程序,又是一个未知数了~
 楼主| yixin1937 发表于 2010-5-23 14:42 | 显示全部楼层
还有个问题
复位(SYSRESETn或PORESETn)以后,属于SWJ-DP的所有5个引脚都立即被初始化为可被调
试器使用的专用引脚(注意,并没有初始化跟踪输出脚,除非调试器对此脚进行定义)。
这句话我不太理解~
复位后SWJ_CFG[2:0]  变成了000
那么不就是jtag和swd仿真状态吗?怎么又说并没有初始化跟踪输出脚,那初始化跟踪脚是怎么回事?
小弟渔夫~跪请扶贫~
 楼主| yixin1937 发表于 2010-5-23 18:38 | 显示全部楼层
:'(香主,帮帮我吧
 楼主| yixin1937 发表于 2010-5-23 18:39 | 显示全部楼层
3# 香水城
你帮帮我吧~
pkat 发表于 2010-5-23 19:42 | 显示全部楼层
貌似很需要帮助,顶一下
hsbjb 发表于 2010-5-23 20:03 | 显示全部楼层
香主最好还是说明具体如何设置
mcuisp 发表于 2010-5-23 21:26 | 显示全部楼层
我来解答一下,呵呵:
1、复位后~我怎么设置SWJ_CFG[2:0] ?是在调试软件中设置,还是在程序中设置,
  任何复位后必定是SWJ_CFG[2:0] =000,这个是硬件设置的,由不得调试软件或程序来设置。
2、如果是在调试软件中设置,我用的是keil 告诉一下我具体的设置步骤?
  如果调试软件能连接上芯片,那它一般会暂停程序的运行,接管整个芯片,再按它的需求设置芯片。
3、如果是程序设置,那我在第一次的时候,程序里是空的,而我的SWJ_CFG[2:0] 为001(也就是说不用JNTRST引脚了)这样的话~我怎么办?
  空的芯片,调试软件是可以顺利接管的。不空的时候,只要能控制nSYSRST,也可以顺利接管。
 楼主| yixin1937 发表于 2010-5-24 12:07 | 显示全部楼层
谢谢~今天仿真器到了~
OK不少的问题 都不攻自破了~~
有些问题不太确定~有个东东实验一下很好~
谢谢~香主~
谢谢~mcuisp~
现在能刷写程序bin和hex   ~但是用keil不能仿真~在找原因~
 楼主| yixin1937 发表于 2010-5-24 17:02 | 显示全部楼层
谢谢~今天仿真器到了~
OK不少的问题 都不攻自破了~~
有些问题不太确定~有个东东实验一下很好~
谢谢~香主~
谢谢~mcuisp~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:用我的一生!来追求人生的高峰!

24

主题

185

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部