openjtag 能不能用于stm32 jtag swd

查看: 1726|回复: 0
请教正点原子大哥,STM32F405RGT6 可以用SWD仿真,但是不能用JTAG仿真,是什么原因呢?
主题帖子精华
新手上路, 积分 27, 距离下一级还需 23 积分
在线时间0 小时
如题,我用的是STM32F405RGT6,之前的产品是SWD模式仿真,一切都很正常,这次新的产品的的硬件接口使用的是JTAG模式,但是没法仿真,感觉是没找到芯片,有如下现象:
1.开始仿真程序时,出现j-flash arm v4.66对话框,显示unexpected &core ID
2.将JTAG的硬件引脚的SWDIO,SWDCLK,VCC,GND,RESET,直接接在JTAG上面,在MDK中使用SWD模式,仿真调试都正常。
3.在options for target "stm32f405"-&debug-&settings-&jtag device chain一栏中没有发现芯片显示
4.怀疑是不是jitag的复用功能配置有误,之前使用SWD模式调试正常时的代码如下:
GPIOA-&AFR[1] = (GPIO_AF_USART1 && 4) &| (GPIO_AF_USART1 && 8) | (GPIO_AF_SWJ && 20) | (GPIO_AF_SWJ && 24) | (GPIO_AF_SWJ && 28); &
&// USART JTMS JTCK &JTDI & & & & & & & & & & & &&
&GPIOB-&AFR[0] = (GPIO_AF_SWJ && 12) | (GPIO_AF_SWJ && 16); &
//PB3: JTDO, PB4:JTRST
但是这次仿真程序是下载到新的芯片中的,应该没有以前程序的影响吧,这个原因感觉有点不通
5.因为STM32F405RGT6和STM32F103RCT6的引脚是兼容的,所以替换单片机为STM32F103,使用JTAG模式进行调试仿真也很正常。
这个问题已经纠结好几天了,没有解决,麻烦正点原子大哥帮我分析一下,谢谢
Powered by查看: 7453|回复: 12
Keil使用JTAG就停止工作
主题帖子精华
初级会员, 积分 175, 距离下一级还需 25 积分
在线时间9 小时
同时调试两个程序,打开两个keil窗口,一个使用STlink,另外一个使用Jlink以示区别。用STlink的可以正常下载,不过使用Jlink的那个,在下图位置选Jlink,
87bfe7a4c9314491aefa7ab98d7b66ee_230.png (0 Bytes, 下载次数: 0)
22:54 上传
点setting之后可以读出器件信息,如下图所示
f0b9beae13_110.png (0 Bytes, 下载次数: 0)
22:54 上传
但是在这里点确定之后就提示keil已停止工作,
6347fafd22a91c730ddc40bbef59d90e_896.png (0 Bytes, 下载次数: 0)
22:54 上传
这个Jlink以前用过没问题,现在使用J-Flash ARM也可以连接,但是编程不行,提示如下
2e4e9c311f60caebad75fed_648.png (0 Bytes, 下载次数: 0)
22:54 上传
Jink的驱动都装好了,重试了很多次都是这样。大家有没有遇到这个问题,怎么解决的?还是我的Jlink年久失修坏了?
这个问题解决了,貌似Jlink盗版的缘故,把SEGGER/JLinkARM_V434目录下的JLinkARM.dll替换掉Keil\ARM\Segger里面的JLinkARM.dll就可以了。
主题帖子精华
初级会员, 积分 175, 距离下一级还需 25 积分
在线时间9 小时
这个问题解决了,貌似Jlink盗版的缘故,把SEGGER/JLinkARM_V434目录下的JLinkARM.dll替换掉Keil\ARM\Segger里面的JLinkARM.dll就可以了。
主题帖子精华
在线时间11 小时
帮顶。。。。
站在巨人的肩膀上不断的前进。。。
主题帖子精华
初级会员, 积分 123, 距离下一级还需 77 积分
在线时间0 小时
同问,我买了个jtag也是类似的问题,一下载程序MDK就失去响应!!
主题帖子精华
在线时间273 小时
你用一个程序试试.
我的淘宝小店:
主题帖子精华
初级会员, 积分 90, 距离下一级还需 110 积分
在线时间1 小时
回复【4楼】正点原子:
---------------------------------
软件调试的时候停在这个地方是怎么回事?&&求解..&&&下面有个帖子问的就是这个
HSEStatus&=&RCC-&CR&&&RCC_CR_HSERDY;
也许似乎大概是,然而未必不见得。
主题帖子精华
在线时间273 小时
回复【5楼】洛阳单片机:
---------------------------------
没初始化过....外部晶振没有就绪.
我的淘宝小店:
主题帖子精华
初级会员, 积分 90, 距离下一级还需 110 积分
在线时间1 小时
回复【6楼】正点原子:
---------------------------------
这个初始化不是SystemInit();吗?&&&&为啥我的程序不行...
也许似乎大概是,然而未必不见得。
主题帖子精华
在线时间273 小时
回复【7楼】洛阳单片机:
---------------------------------
是啊,直接用我们例程试试
我的淘宝小店:
主题帖子精华
初级会员, 积分 90, 距离下一级还需 110 积分
在线时间1 小时
回复【8楼】正点原子:
---------------------------------
SystemInit();这个函数都是一样的,,&但是我建一个工程,&仿真的时候进不去main();&&&
用你的工程就能进去,,&&是不是我建工程错了??
也许似乎大概是,然而未必不见得。
主题帖子精华
在线时间273 小时
回复【9楼】洛阳单片机:
---------------------------------
估计是你工程有问题,新建一个试试.
我的淘宝小店:
主题帖子精华
在线时间96 小时
回复【11楼】天才少年:
---------------------------------
那是因为jtag那两个文件还有exe版本比keil里面的高了,keil不识别,覆盖可以解决。不是盗版问题。
主题帖子精华
在线时间96 小时
回复【3楼】若水三千:
---------------------------------
你的问题,我也遇到,jtag口接的usb(我是u转串)拔掉重插可以解决。
Powered by查看: 6248|回复: 8
求助:为什么JTAG连接不上ARM板子?
主题帖子精华
新手上路, 积分 36, 距离下一级还需 14 积分
在线时间0 小时
关于10芯2.54mm间距的JTAG插座,连接JTAG编程器,网上有很多资料,但看后反而更加疑惑。&我画的电路板(片子是STM32F103VCT6),使用开始菜单下的“J-Link ARM V4.20p--J-Flash ARM”根本无法烧写,显示:Wrong AHB ID(15:3).Expected 0x4770001。参下图。
查资料,发现资料相互矛盾,关于这个10芯2.54mm座的接法,疑问如下:
1、第6脚,究竟是什么也不接,还是接TDO?
网上说是接TDO,但的转接板上,却是NC,即什么也不接的意思。
而且网上画的电路也怪,似乎TDO不加上拉电阻,这是怎么回事?
2、第3脚NTRST、第4脚NRST,是否与ARM片子相连?难道它们根本不与ARM连接,网上画的标注,纯粹是标注,并非当真连到ARM片子上了?
3、的转接板上,还有一个疑问:为什么NTRST、NRST使用相同的丝印,但用万用表一量,二者并未短接?
16efbd79a63f49a791a58c9e.jpg (0 Bytes, 下载次数: 0)
22:54 上传
20c8b4ed_905.jpg (0 Bytes, 下载次数: 0)
22:54 上传
主题帖子精华
在线时间273 小时
你的JTAG有10脚的排线?
如果是转接板,你可以用万用表测试一下线序.
STM32自己玩,建议就用SWD就好了,2根线解决问题!(不包括VCC和GND)
我的淘宝小店:
主题帖子精华
在线时间45 小时
SWD&要&3根线,还需要NTRST不然&不能调试,只能&下载
我应该写点什么呢。
主题帖子精华
在线时间273 小时
回复【3楼】mygod:
---------------------------------
可以的
我一直用2根线,即可下载,也可以调试。
我的淘宝小店:
主题帖子精华
新手上路, 积分 36, 距离下一级还需 14 积分
在线时间0 小时
现解决,可以烧写,向各位报告一下:
1、第6脚,接TDO,我买的转接板什么也不接,是错的,需要人工飞线(山寨板子的坏处,后悔死了);
2、第3脚NTRST不连、第4脚NRST连;
3、转换板是山寨,丝印标错了,以实际连线为准。
但现在有了新问题:我买的JTAG(附它的转接板),用来烧程序,头几天还行,但我反复调试、反复烧程序,约1周以后,大约有5个电路板,再也无法烧新的程序,只有旧程序还在STM32片子里跑。
经检查,故障集中体现在:
STM32F103片子上的TCK脚,不是对地短路,就是对3.3V电源短路(确认是片子短路,因为我把外围的线剪断后,仍然短路,可见是片子里面短了)。
TCK是JTAG经常使用的脚,难道说,是山寨JTAG仿真器把这个脚烧坏了?
主题帖子精华
在线时间273 小时
STM32挂了,那就得换芯片了。
我的淘宝小店:
主题帖子精华
初级会员, 积分 98, 距离下一级还需 102 积分
在线时间0 小时
回复【4楼】正点原子:
--------------------------------
那JTAG与SWD的最主要区别是什么呀
主题帖子精华
在线时间273 小时
主题帖子精华
在线时间45 小时
2线的可以下载&但不能调试,和JTAG的版本有关的,最好3级加个&JTRST&就可以SW调试了
我应该写点什么呢。
Powered by查看: 10072|回复: 23
使用到PB3|PB4|PA13|PA14|PB15端口做普通IO时,需禁止JTAG!
主题帖子精华
初级会员, 积分 59, 距离下一级还需 141 积分
在线时间0 小时
&GPIO_InitTypeDef GPIO_InitS
&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);
主题帖子精华
在线时间273 小时
回复【楼主位】open_llw:
---------------------------------
呵呵,谢谢分享。
我的淘宝小店:
主题帖子精华
初级会员, 积分 131, 距离下一级还需 69 积分
在线时间1 小时
貌似没用啊!
主题帖子精华
初级会员, 积分 83, 距离下一级还需 117 积分
在线时间0 小时
谢谢分享!正好用到
主题帖子精华
高级会员, 积分 822, 距离下一级还需 178 积分
在线时间37 小时
昨天我用这个实验控制屏幕,才开始PB0-PB5,结果不行,一度认为屏幕坏了,结果发现PB2是boot,后来换了PB3-PB8,还是不行,换成51,结果可以了,一直想不通,现在看来就是楼主说的啊,中午回去实验实验
主题帖子精华
初级会员, 积分 121, 距离下一级还需 79 积分
在线时间0 小时
RCC-&APB2ENR&|=&1&|&&(1&&3);&&/*AFIO/&GPIOB*/&
DBGMCU-&CR&=&DBGMCU-&CR&&&~((uint32_t)1&&5);&
AFIO-&MAPR&|=&(AFIO-&MAPR&&&~((uint32_t)0x7&&&&24))&|&(2&&&&24);&//SW模式&
确实可以实现PB3当作普通IO来用,可是我碰到的问题是PB3拉高时,输出电压是2.83v。这是怎么回事,我要的是3.3V。这怎么办?
主题帖子精华
中级会员, 积分 204, 距离下一级还需 296 积分
在线时间5 小时
谢谢楼主!额外增加了5根GPIO口线。
当在PA13|PA14|PA15|PB3|PB4都可作为普通IO使用时,建议在程序的开头延时2秒钟左右,再执行GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable,&ENABLE)&。否则再次仿真时,仿真器无法连接到MCU了。
主题帖子精华
中级会员, 积分 204, 距离下一级还需 296 积分
在线时间5 小时
回复【6楼】daliangcao:
---------------------------------
是不是仿真器的影响?拔掉仿真器试试看。
主题帖子精华
初级会员, 积分 121, 距离下一级还需 79 积分
在线时间0 小时
回复【7楼】jnfxt95:
---------------------------------
这个时候把BOOT0拉高,就可以了。
主题帖子精华
中级会员, 积分 204, 距离下一级还需 296 积分
在线时间5 小时
回复【9楼】daliangcao:
---------------------------------
试验了一下,确实好用。谢谢!
主题帖子精华
初级会员, 积分 59, 距离下一级还需 141 积分
在线时间0 小时
现在开始玩STM32F4系列的芯片了,对于禁用JTAG也找了相关的资料(^~^本人使用的是SW接口);
发现STM32F4库函数中,已经取消了GPIO_PinRemapConfig()函数,对于复用功能使用GPIO_PinAFConfig()函数了!
但是在GPIO_PinAFConfig()函数已经没有禁止JTAG/SW等选项了,而是复用到AF0~AF15线上,其中AF0是系统功能(也是复位初始功能)。
其中调试接口就是系统功能,这样需要禁用JTAG功能只需把引脚复用到AF1~AF15中的一个就行了。
但自己不懂的时候,发现了一个很好的工具,使用STM32CubeMx软件自动生成一下就行了~_~
亲测直接复用就可使用相应的复用功能,不用想着失能JTAG了。
可是问题就来了,那么如果我只想把失能的JTAG的作为普通IO,那我改怎么做?照例说,GPIO功能应该是映射到AF0的啊。
求大神指导。
主题帖子精华
在线时间273 小时
回复【11楼】open_llw:
---------------------------------
直接不用AFIO就可以了
我的淘宝小店:
主题帖子精华
初级会员, 积分 59, 距离下一级还需 141 积分
在线时间0 小时
回复【12楼】正点原子:
---------------------------------
哦,你是说在使用GPIO_Init()函数中的GPIO_Mode选择成GPIO_Mode_IN&||&GPIO_Mode_OUT就行了?
有点道理,谢谢了(^_!~看来觉悟很重要)
主题帖子精华
在线时间273 小时
回复【13楼】open_llw:
---------------------------------

我的淘宝小店:
主题帖子精华
新手上路, 积分 47, 距离下一级还需 3 积分
在线时间0 小时
谢谢楼主的帖.
主题帖子精华
初级会员, 积分 102, 距离下一级还需 98 积分
在线时间0 小时
回复【2楼】正点原子:
---------------------------------
原子老师&&,我今天早上做工程也遇到这个问题,急需帮助。
我今天早上想使用PA&,&nbspB口的时候发现PB3,PB4和PA13|14|15不能使用,我用上边的代码,吧PB3|4配置好了,可是PA13|14|15怎样配置为普通输出高低电平的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_InitStructure.GPIO_Speed&=&GPIO_Speed_50MHz;&&
&GPIO_InitStructure.GPIO_Mode&=&GPIO_Mode_Out_PP;
&GPIO_Init(GPIOA,&&GPIO_InitStructure);&
&//GPIO_SetBits(GPIOA,&GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15);
,,
原子老师,帮帮,非常感谢。
主题帖子精华
初级会员, 积分 102, 距离下一级还需 98 积分
在线时间0 小时
回复【14楼】正点原子:
---------------------------------
我用的是GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable,&ENABLE);&&//使能禁止JTAG
也就是#define&GPIO_Remap_SWJ_Disable&&&&&&((uint32_t)0x)&&/*!&&Full&SWJ&Disabled&(JTAG-DP&+&SW-DP)&*/
为什么PA13|14|15还是不能用?
主题帖子精华
在线时间273 小时
回复【17楼】小白110:
---------------------------------
应该可以
不能,就说明你代码其它地方还有问题。
我的淘宝小店:
主题帖子精华
初级会员, 积分 102, 距离下一级还需 98 积分
在线时间0 小时
回复【18楼】正点原子:
---------------------------------
&GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable,&ENABLE);&&//使能禁止JTAG
原子哥,我用这句话把板子的盤A13|PA14|PA15|PB3|PB4都给配置成普通IO了,现在无法找到JTAG和SW设备,板子下不进去程序。这是不是芯片锁住了,有没有办法让板子还能使用?
主题帖子精华
在线时间273 小时
回复【19楼】小白110:
---------------------------------
B0接3.3V就可以了。
我的淘宝小店:
主题帖子精华
新手上路, 积分 31, 距离下一级还需 19 积分
在线时间0 小时
有效,多谢了
主题帖子精华
中级会员, 积分 215, 距离下一级还需 285 积分
在线时间39 小时
谢谢啦ggggggg
主题帖子精华
初级会员, 积分 82, 距离下一级还需 118 积分
在线时间10 小时
本帖最后由 lwj199302 于
16:40 编辑
RCC_APB2PeriphClockCmd( SPI_FLASH_GPIO_CLK | SPI_FLASH_CS_GPIO_CLK|RCC_APB2Periph_AFIO, ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_SPI1 ,ENABLE);
GPIO_PinRemapConfig(GPIO_Remap_SPI1, ENABLE);
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable , ENABLE);
GPIO_InitStructure.GPIO_Pin = SPI_FLASH_PIN_SCK&&| SPI_FLASH_PIN_MOSI;& &
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;&&
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;& &
GPIO_Init(SPI_FLASH_GPIO, &GPIO_InitStructure);
GPIO_SetBits(SPI_FLASH_GPIO, SPI_FLASH_PIN_SCK&&| SPI_FLASH_PIN_MOSI);& &
GPIO_InitStructure.GPIO_Pin = SPI_FLASH_PIN_MISO;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
GPIO_Init(SPI_FLASH_GPIO, &GPIO_InitStructure);
GPIO_SetBits(SPI_FLASH_GPIO, SPI_FLASH_PIN_MISO);& &&&
GPIO_InitStructure.GPIO_Pin = SPI_FLASH_CS;& &
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(SPI_FLASH_CS_GPIO, &GPIO_InitStructure);
GPIO_SetBits(SPI_FLASH_CS_GPIO, SPI_FLASH_CS);& &&&
PB3、PB4和PB5口是W25Q32的IO口,映射到SPI1的时候flash可以调通。可是为什么下面用SPI3的时候却挂在了SPI_FLASH_SendByte()函数里面呢???????????????????
RCC_APB2PeriphClockCmd( SPI_FLASH_GPIO_CLK | SPI_FLASH_CS_GPIO_CLK|RCC_APB2Periph_AFIO, ENABLE);
RCC_APB1PeriphClockCmd(RCC_APB1Periph_SPI3 ,ENABLE);
//GPIO_PinRemapConfig(GPIO_Remap_SPI1, ENABLE);
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable , ENABLE);
GPIO_InitStructure.GPIO_Pin = SPI_FLASH_PIN_SCK&&| SPI_FLASH_PIN_MOSI;& &
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;&&
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;& &
GPIO_Init(SPI_FLASH_GPIO, &GPIO_InitStructure);
GPIO_SetBits(SPI_FLASH_GPIO, SPI_FLASH_PIN_SCK&&| SPI_FLASH_PIN_MOSI);& &
GPIO_InitStructure.GPIO_Pin = SPI_FLASH_PIN_MISO;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
GPIO_Init(SPI_FLASH_GPIO, &GPIO_InitStructure);
GPIO_SetBits(SPI_FLASH_GPIO, SPI_FLASH_PIN_MISO);& &&&
GPIO_InitStructure.GPIO_Pin = SPI_FLASH_CS;& &
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(SPI_FLASH_CS_GPIO, &GPIO_InitStructure);
GPIO_SetBits(SPI_FLASH_CS_GPIO, SPI_FLASH_CS);& &
主题帖子精华
初级会员, 积分 66, 距离下一级还需 134 积分
在线时间8 小时
谢谢 分享, 着实帮了一把
Powered by后使用快捷导航没有帐号?
查看: 23153|回复: 12
提问+J-LINK、U-LINK和ST-LINK有什么区别?
在线时间170 小时
芯币420 枚
TA的帖子TA的资源
一粒金砂(中级), 积分 68, 距离下一级还需 132 积分
一粒金砂(中级), 积分 68, 距离下一级还需 132 积分
如题,他们支持的芯片不一样还是支持的软件不一样?
开发STM32的芯片用哪个比较合适?
&&&&&&&&&&
在线时间114 小时
威望116 分
芯币298 枚
E金币20 枚
TA的帖子TA的资源
一粒金砂(中级), 积分 116, 距离下一级还需 84 积分
一粒金砂(中级), 积分 116, 距离下一级还需 84 积分
ARMCortex系列仿真调试器
主流的调试工具
1、&&J-Link
J-Link是最著名的ARM开发调试工具,J-Link由SEGGER公司生产。提供对市面上几乎所有ARM内核芯片的支持。目前最新版本的J-Link产品为V8,支持JTAG和SWD模式。并且对主要的IDE环境如KEIL、IAR都有良好的支持。优点很多,因此也是首选的调试工具。
2、&&ULINK,通用的ARM JTAG工具ULINK
ULINK是ARM官方的调试工具,KEIL出品。ULINK也可以支持大多数的ARM芯片,对KEIL的支持非常好,是KEIL的默认调试工具。缺点是因为不支持IAR,影响了ULINK的推广。
ULINK官方提供电路图等资料,属於半开放的,可以自做。
其他通用型工具
3、&&OpenJTAG
OpenJTAG为开源的JTAG调试工具,功能强大,并且配合其他的开源软件工具可用於在Linux对ARM芯片进行调试,因此在一些社群中使用较多。因为采用FTDI+FPGA双芯片的架构,成本相对较高。
4、&&J-link ARM-OB
因为SEGGER版本众多。其中有一些定制的版本,不带J-link模式而仅支持SWD模式。J-linkARM-OB最初是SEGGER给某个厂家的特殊版本。被破解后目前可以自制,成本约¥20。
ARM-OB因为不支持JTAG模式,而仅支持SWD模式,因此有些较早的ARM7内核MCU,并且不支持SWD模式的芯片,是不能够调试的。
5、&&低成本的并口JTAG
& & 并口JTAG的电路网上很多,目前因为电脑没有了并口的关系,处於淘汰阶段。但从成本上来说是最便宜的。较流行的一种要注意20PIN的接线,其中RTCK的接法。
定制版本和厂家的调试工具
6、&&ST公司的ST-LINK
ST-LINK可以单独购买,也可以通过ST公司的开发板自带,Discovery系列的开发板价格最低价格不到¥100。板载的ST-LINK可以仿真ST公司的所有ARM芯片。
ST-LINK除支持ST公司的ARM MCU(M3内核的STM32F1、F2,M4内核的F4、F3以及M0内核的F0),还支持STM8系列。
ST-LINK的版本目前为ST-LINK V2。虽然资料基本公开,但既然成本不高,就没必要自制。
7、&&TI公司的Stellaris ICDI
TI的Stellaris ICDI用於调试Stellaris系列芯片。TI的开发板都自带的,采用FTDI2232芯片,并额外提供串口用於调试。也有少量产品使用LM3S的MCU代替FTDI2232仿真。
TI的ICDI调试工具支持LM3S系列Cortex-M3以及LM4F系列Cortex-M4内核的芯片。支持Keil、IAR以及自家的CCS调试环境。TI的LM3S811开发板原来是送的,不花钱,现在LM4F的Lanchpad通过官方论坛可以以低於¥100的价格买到。
8、&&NXP公司的LPCXpresso
NXP的LPCXpresso开发板支持NXP的M0和M3系列MCU调试,板载的开发工具设计成与目标芯片分离,因此可用来对NXP的CORTEX-M0和M3调试。
目前LPCXpresso板载的调试目前必须与特定的LPCXpresso IDE软件配合,而不能配合使用KEIL和IAR。但因为是基与Eclipse开源项目,所以可以支持Linux环境。
与LPCXpresso相仿的国内的英蓓特和周立功也有NXP LPC1114芯片的开发板。
NXP的另一个支持环境是mbed,目前mbed也对Freescale的一些芯片提供支持。
9、&&Nuvoton新唐的Nu-Link
目前新唐推出了M0内核的MCU,(M4内核的计划推出)开发板自带Nu-Link,用来调试自家的芯片。新唐科技的开发板型号很多,如果参加过中电网的线上座谈的话,手头应该会有了。开发板的价格未知,但厂商目前基本上是以送的方式再推广。
10、Freescale的Freedom
& & 飞思卡尔的Freedom系列开发板算很便宜,官方价格有些不到¥100,用於开发M0+系列的KinetisL系列。自带
OPENSDA。调试工具还不了解,肯定支持自家的Codewarrior。这个开发板目前销售数量上万(不是国内的数据),
11、CooCox的CoLink
& & 也是采用FTDI2232芯片实现。属於少有的国内开源项目。提供完整的资料,可以自制。
CoLink不仅支持CooCox IDE,也可以支持KEIL等环境,只是目前支持的芯片还比较少,并且大部分是M0内核的芯片。
12、其他MCU厂商的调试工具
爱特梅尔& && &&&
EnergyMicro& &&&
英飞凌& && && &
亚德诺& && && &
赛普拉斯& && &&&
芯科实验室& && &
富士通& && && &
盛群& && && && &
瑞萨& && && && &
注: 本文写作时,芯科实验室没有收购EnergyMicro ,NXP没有收购飞思卡尔。
在线时间1243 小时
威望6083 分
芯币18420 枚
E金币300 枚
TA的帖子TA的资源
j-link能支持所有的ARM,STlink只能ST32FXXX& &ST的8位的MCU也可以.
没试过高版本,我的STlink监视存储单元不能正常刷新.jlink就没问题.
ulink没用过.
恩,那开发stm32用j-link就可以了吧&
在线时间2042 小时
威望13824 分
芯币28094 枚
E金币39 枚
TA的帖子TA的资源
JLINK是通用的,支持常见的ARM,Ulink是MDK专用的,也支持基本上所有的ARM,价格比较JLINK贵,ST-Link是ST公司的基本只支持ST的芯片,效果会差一些,仿真不STM8不支持仿真的工程中打断点。
在线时间170 小时
芯币420 枚
TA的帖子TA的资源
一粒金砂(中级), 积分 68, 距离下一级还需 132 积分
一粒金砂(中级), 积分 68, 距离下一级还需 132 积分
j-link能支持所有的ARM,STlink只能ST32FXXX& &ST的8位的MCU也可以.
没试过高版本,我的STlink监视存储单元 ...
恩,那开发stm32用j-link就可以了吧
j-link五花八门盗版特别多,不过都能用.
软件被泄密的后果就是被做成白菜.&
在线时间15 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
原来是这样子的啊
在线时间1243 小时
威望6083 分
芯币18420 枚
E金币300 枚
TA的帖子TA的资源
恩,那开发stm32用j-link就可以了吧
j-link五花八门盗版特别多,不过都能用.
软件被泄密的后果就是被做成白菜.
在线时间7 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
原来是这样子的啊,xiexie
在线时间32 小时
芯币143 枚
TA的帖子TA的资源
一粒金砂(中级), 积分 16, 距离下一级还需 184 积分
一粒金砂(中级), 积分 16, 距离下一级还需 184 积分
学习了 ,谢谢!
在线时间5 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 2, 距离下一级还需 3 积分
一粒金砂(初级), 积分 2, 距离下一级还需 3 积分
j-link五花八门盗版特别多,不过都能用.
软件被泄密的后果就是被做成白菜.
J-link可以代替ST-link,用4个端口下载吗?
你说的是sw模式吧,三个就可以,rest复位用。
jlink支持的U多。&
在线时间1243 小时
威望6083 分
芯币18420 枚
E金币300 枚
TA的帖子TA的资源
J-link可以代替ST-link,用4个端口下载吗?
你说的是sw模式吧,三个就可以,rest复位用。
jlink支持的U多。
在线时间2129 小时
威望9829 分
芯币735 枚
E金币996 枚
TA的帖子TA的资源
JLINK 最好,优先考虑,别的不是贵,就是慢
在线时间1243 小时
威望6083 分
芯币18420 枚
E金币300 枚
TA的帖子TA的资源
jlink盗版不能升级,好麻烦误操作还要重刷,jlink的调试要比stlink快,而且支持几乎所有arm
stlink在keil5下可以完成升级,比较小巧,如果你不打算做别的U,stlink好
Powered by
逛了这许久,何不进去瞧瞧?

我要回帖

更多关于 stm32f4 禁用jtag 的文章

 

随机推荐