搜索
bottom↓
回复: 162

将ST-Link固件升级到成J-link OB固件--一些测试,持续更新

  [复制链接]

出0入0汤圆

发表于 2016-5-3 22:25:11 | 显示全部楼层 |阅读模式
本帖最后由 霸气侧漏 于 2016-5-3 22:43 编辑

前几天看见网友,arda的文章,
SEGGER官方提供 将ST-Link固件升级到成J-link OB固件
http://www.amobbs.com/thread-5649373-1-1.html
(出处: amoBBS 阿莫电子论坛)
今天来做一个测试,放在这里方便大家讨论
我测试的是NUCLEO-F072RB升级到jlink后,可以有串口,挺好的,仿真速度没有做测试。
做了一些串口通信的测试,以下是一些图片,大家可以看看。串口速度可以支持蛮高的速度
升级过程如下

升级之后就有了串口,当然也可以jlink。

哈哈是不是歪歪,一个usb串口和仿真搞定,哈哈


测试STM32F4DISCOVERY  407可以升级成JLINK,没有串口
测试STM32F4DISCOVERY  429可以升级成JLINK,没有串口
淘宝上的u盘形状不能升级





能看出你想要stlink变成jlnk还能支持串口,得用stlink-V21版本的。大家还有什么想测试的请留言。
那位大神能搞出stlink-V21版本的固件,来造福下大家?

秀一下我的板子,有很多没有拍出来

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

 楼主| 发表于 2016-5-3 22:38:03 | 显示全部楼层
自己顶一个

出0入0汤圆

发表于 2016-5-3 23:08:18 | 显示全部楼层
加密解密没学会,提供点资料吧
  1. public class Aes_Encryption
  2. {
  3.   static final int KEY_NREADY = 0;
  4.   static final int KEY_READY = 1;
  5.   static final int AES_OK = 0;
  6.   static final int AES_ERROR = 1;
  7.   static final int AES_BLOCK_SIZE = 4;
  8.   static final int AES_KEY_SIZE = 4;
  9.   static final int AES_EXPKEY_SIZE = 44;
  10.   static int m_keyState = 0;
  11.   static String m_keyOfKey2 = "I am key, wawawa";
  12.   static int[] m_expKey = new int[44];
  13.   static final int[] Sbox = { 99, 124, 119, 123, 242, 107, 111, 197, 48, 1, 103, 43, 254, 215, 171, 118, 202, 130, 201, 125, 250, 89, 71, 240, 173, 212, 162, 175, 156, 164, 114, 192, 183, 253, 147, 38, 54, 63, 247, 204, 52, 165, 229, 241, 113, 216, 49, 21, 4, 199, 35, 195, 24, 150, 5, 154, 7, 18, 128, 226, 235, 39, 178, 117, 9, 131, 44, 26, 27, 110, 90, 160, 82, 59, 214, 179, 41, 227, 47, 132, 83, 209, 0, 237, 32, 252, 177, 91, 106, 203, 190, 57, 74, 76, 88, 207, 208, 239, 170, 251, 67, 77, 51, 133, 69, 249, 2, 127, 80, 60, 159, 168, 81, 163, 64, 143, 146, 157, 56, 245, 188, 182, 218, 33, 16, 255, 243, 210, 205, 12, 19, 236, 95, 151, 68, 23, 196, 167, 126, 61, 100, 93, 25, 115, 96, 129, 79, 220, 34, 42, 144, 136, 70, 238, 184, 20, 222, 94, 11, 219, 224, 50, 58, 10, 73, 6, 36, 92, 194, 211, 172, 98, 145, 149, 228, 121, 231, 200, 55, 109, 141, 213, 78, 169, 108, 86, 244, 234, 101, 122, 174, 8, 186, 120, 37, 46, 28, 166, 180, 198, 232, 221, 116, 31, 75, 189, 139, 138, 112, 62, 181, 102, 72, 3, 246, 14, 97, 53, 87, 185, 134, 193, 29, 158, 225, 248, 152, 17, 105, 217, 142, 148, 155, 30, 135, 233, 206, 85, 40, 223, 140, 161, 137, 13, 191, 230, 66, 104, 65, 153, 45, 15, 176, 84, 187, 22 };
  14.   static final int[] InvSbox = { 82, 9, 106, 213, 48, 54, 165, 56, 191, 64, 163, 158, 129, 243, 215, 251, 124, 227, 57, 130, 155, 47, 255, 135, 52, 142, 67, 68, 196, 222, 233, 203, 84, 123, 148, 50, 166, 194, 35, 61, 238, 76, 149, 11, 66, 250, 195, 78, 8, 46, 161, 102, 40, 217, 36, 178, 118, 91, 162, 73, 109, 139, 209, 37, 114, 248, 246, 100, 134, 104, 152, 22, 212, 164, 92, 204, 93, 101, 182, 146, 108, 112, 72, 80, 253, 237, 185, 218, 94, 21, 70, 87, 167, 141, 157, 132, 144, 216, 171, 0, 140, 188, 211, 10, 247, 228, 88, 5, 184, 179, 69, 6, 208, 44, 30, 143, 202, 63, 15, 2, 193, 175, 189, 3, 1, 19, 138, 107, 58, 145, 17, 65, 79, 103, 220, 234, 151, 242, 207, 206, 240, 180, 230, 115, 150, 172, 116, 34, 231, 173, 53, 133, 226, 249, 55, 232, 28, 117, 223, 110, 71, 241, 26, 113, 29, 41, 197, 137, 111, 183, 98, 14, 170, 24, 190, 27, 252, 86, 62, 75, 198, 210, 121, 32, 154, 219, 192, 254, 120, 205, 90, 244, 31, 221, 168, 51, 136, 7, 199, 49, 177, 18, 16, 89, 39, 128, 236, 95, 96, 81, 127, 169, 25, 181, 74, 13, 45, 229, 122, 159, 147, 201, 156, 239, 160, 224, 59, 77, 174, 42, 245, 176, 200, 235, 187, 60, 131, 83, 153, 97, 23, 43, 4, 126, 186, 119, 214, 38, 225, 105, 20, 99, 85, 33, 12, 125 };
  15.   static final long[] rcon = { 16777216L, 33554432L, 67108864L, 134217728L, 268435456L, 536870912L, 1073741824L, -2147483648L, 452984832L, 905969664L };
  16.   
  17.   public static void StrKeyToByteChar(String paramString, byte[] paramArrayOfByte)
  18.   {
  19.     char[] arrayOfChar = paramString.toCharArray();
  20.     for (int i = 0; i < 16; i++) {
  21.       paramArrayOfByte[i] = ((byte)((byte)arrayOfChar[i] & 0xFF));
  22.     }
  23.   }
  24.   
  25.   static int STlinkPCaes_Encry_Api(byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, byte[] paramArrayOfByte3, int paramInt)
  26.   {
  27.     int m = 16;
  28.     byte[] arrayOfByte1 = new byte[m];
  29.    
  30.     int i = paramInt;
  31.     int j = 0;
  32.    
  33.     AES_keyschedule_enc(paramArrayOfByte3, m_expKey);
  34.     m_keyState = 1;
  35.     while (i > 0)
  36.     {
  37.       Object localObject = null;
  38.       int n;
  39.       if (i >= m)
  40.       {
  41.         localObject = Arrays.copyOfRange(paramArrayOfByte1, j, j + m);
  42.         n = m;
  43.       }
  44.       else
  45.       {
  46.         n = i;
  47.         if (i > 0)
  48.         {
  49.           byte[] arrayOfByte2 = new byte[m];
  50.           for (k = 0; k < i; k++) {
  51.             arrayOfByte2[k] = paramArrayOfByte1[(j + k)];
  52.           }
  53.           for (k = i; k < m; k++) {
  54.             arrayOfByte2[k] = ((byte)(int)Double.doubleToLongBits(Math.random()));
  55.           }
  56.           localObject = arrayOfByte2;
  57.         }
  58.       }
  59.       if (i > 0) {
  60.         AES_encrypt((byte[])localObject, arrayOfByte1, m_expKey);
  61.       }
  62.       for (int k = 0; k < m; k++) {
  63.         paramArrayOfByte2[(j + k)] = arrayOfByte1[k];
  64.       }
  65.       i -= n;
  66.       j += n;
  67.     }
  68.     return 0;
  69.   }
  70.   
  71.   static int STlinkPCaes_Decry_Api(byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, byte[] paramArrayOfByte3, int paramInt)
  72.   {
  73.     int m = 16;
  74.     byte[] arrayOfByte1 = new byte[m];
  75.    
  76.     int i = paramInt;
  77.     int j = 0;
  78.    
  79.     AES_keyschedule_enc(paramArrayOfByte3, m_expKey);
  80.     m_keyState = 1;
  81.     while (i > 0)
  82.     {
  83.       Object localObject = null;
  84.       int n;
  85.       if (i >= m)
  86.       {
  87.         localObject = Arrays.copyOfRange(paramArrayOfByte1, j, j + m);
  88.         n = m;
  89.       }
  90.       else
  91.       {
  92.         n = i;
  93.         if (i > 0)
  94.         {
  95.           byte[] arrayOfByte2 = new byte[m];
  96.           for (k = 0; k < i; k++) {
  97.             arrayOfByte2[k] = paramArrayOfByte1[(j + k)];
  98.           }
  99.           for (k = i; k < m; k++) {
  100.             arrayOfByte2[k] = ((byte)(int)Double.doubleToLongBits(Math.random()));
  101.           }
  102.           localObject = arrayOfByte2;
  103.         }
  104.       }
  105.       if (i > 0) {
  106.         AES_decrypt((byte[])localObject, arrayOfByte1, m_expKey);
  107.       }
  108.       for (int k = 0; k < n; k++) {
  109.         paramArrayOfByte2[(j + k)] = arrayOfByte1[k];
  110.       }
  111.       i -= n;
  112.       j += n;
  113.     }
  114.     return 0;
  115.   }
  116.   
  117.   static int byte0(int paramInt)
  118.   {
  119.     return paramInt >> 24 & 0xFF;
  120.   }
  121.   
  122.   static int byte1(int paramInt)
  123.   {
  124.     return paramInt >> 16 & 0xFF;
  125.   }
  126.   
  127.   static int byte2(int paramInt)
  128.   {
  129.     return paramInt >> 8 & 0xFF;
  130.   }
  131.   
  132.   static int byte3(int paramInt)
  133.   {
  134.     return paramInt & 0xFF;
  135.   }
  136.   
  137.   static int WORD8_TO_WORD32(int paramInt1, int paramInt2, int paramInt3, int paramInt4)
  138.   {
  139.     return (paramInt1 << 24 & 0xFF000000) + (paramInt2 << 16 & 0xFF0000) + (paramInt3 << 8 & 0xFF00) + (paramInt4 & 0xFF);
  140.   }
  141.   
  142.   static int Xtime(int paramInt)
  143.   {
  144.     long l1 = 4294967295L;
  145.     long l2 = paramInt & l1;
  146.     long l3 = (l2 & 0x7F7F7F7F) << 1 ^ ((l2 & 0xFFFFFFFF80808080) >> 7) * 27L;
  147.     return (int)(l3 & l1);
  148.   }
  149.   
  150.   static int upr(int paramInt1, int paramInt2)
  151.   {
  152.     long l1 = 4294967295L;
  153.     long l2 = paramInt1 & l1;
  154.     long l3 = l2 >> 8 * paramInt2 | l2 << 32 - 8 * paramInt2;
  155.     return (int)(l3 & l1);
  156.   }
  157.   
  158.   static int fwd_mcol(int paramInt)
  159.   {
  160.     int i = Xtime(paramInt) ^ upr(paramInt ^ Xtime(paramInt), 3) ^ upr(paramInt, 2) ^ upr(paramInt, 1);
  161.     return i;
  162.   }
  163.   
  164.   static int inv_mcol(int paramInt)
  165.   {
  166.     int i = Xtime(paramInt);
  167.     int j = Xtime(i);
  168.     int k = Xtime(j);
  169.     paramInt ^= k;
  170.     return i ^= j ^ k ^ upr(i ^ paramInt, 3) ^ upr(j ^ paramInt, 2) ^ upr(paramInt, 1);
  171.   }
  172.   
  173.   static void AES_keyschedule_enc(byte[] paramArrayOfByte, int[] paramArrayOfInt)
  174.   {
  175.     int i = 0;
  176.     int[] arrayOfInt = new int[4];
  177.     for (i = 0; i < 4; i++)
  178.     {
  179.       arrayOfInt[i] = ByteBuffer.wrap(paramArrayOfByte).order(ByteOrder.LITTLE_ENDIAN).getInt(4 * i);
  180.       paramArrayOfInt[i] = arrayOfInt[i];
  181.     }
  182.     for (i = 0; i < 10;)
  183.     {
  184.       int j = byte1(arrayOfInt[3]);
  185.       int k = Sbox[j];
  186.       int m = byte2(arrayOfInt[3]);
  187.       int n = Sbox[m];
  188.       int i1 = byte3(arrayOfInt[3]);
  189.       int i2 = Sbox[i1];
  190.       int i3 = byte0(arrayOfInt[3]);
  191.       int i4 = Sbox[i3]; int
  192.         tmp118_117 = 0; int[] tmp118_116 = arrayOfInt;tmp118_116[tmp118_117] = ((int)(tmp118_116[tmp118_117] ^ WORD8_TO_WORD32(Sbox[byte1(arrayOfInt[3])], Sbox[byte2(arrayOfInt[3])], Sbox[byte3(arrayOfInt[3])], Sbox[byte0(arrayOfInt[3])]) ^ rcon[(i++)]));
  193.       
  194.       arrayOfInt[1] ^= arrayOfInt[0];
  195.       arrayOfInt[2] ^= arrayOfInt[1];
  196.       arrayOfInt[3] ^= arrayOfInt[2];
  197.       
  198.       System.arraycopy(arrayOfInt, 0, paramArrayOfInt, 4 * i, 4);
  199.     }
  200.   }
  201.   
  202.   static void AES_keyschedule_dec(byte[] paramArrayOfByte, int[] paramArrayOfInt)
  203.   {
  204.     AES_keyschedule_enc(paramArrayOfByte, paramArrayOfInt);
  205.   }
  206.   
  207.   static void AES_decrypt(byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, int[] paramArrayOfInt)
  208.   {
  209.     int[] arrayOfInt = new int[4];
  210.     int n = 10;
  211.     int i1 = 40;
  212.     for (int i2 = 0; i2 < 4; i2++)
  213.     {
  214.       int i3 = ByteBuffer.wrap(paramArrayOfByte1).order(ByteOrder.LITTLE_ENDIAN).getInt(4 * i2);
  215.       arrayOfInt[i2] = (i3 ^ paramArrayOfInt[(i1 + i2)]);
  216.     }
  217.     i1 -= 8;
  218.     for (;;)
  219.     {
  220.       i = WORD8_TO_WORD32(InvSbox[byte0(arrayOfInt[0])], InvSbox[byte1(arrayOfInt[3])], InvSbox[byte2(arrayOfInt[2])], InvSbox[byte3(arrayOfInt[1])]) ^ paramArrayOfInt[(i1 + 4)];
  221.       
  222.       j = WORD8_TO_WORD32(InvSbox[byte0(arrayOfInt[1])], InvSbox[byte1(arrayOfInt[0])], InvSbox[byte2(arrayOfInt[3])], InvSbox[byte3(arrayOfInt[2])]) ^ paramArrayOfInt[(i1 + 5)];
  223.       
  224.       k = WORD8_TO_WORD32(InvSbox[byte0(arrayOfInt[2])], InvSbox[byte1(arrayOfInt[1])], InvSbox[byte2(arrayOfInt[0])], InvSbox[byte3(arrayOfInt[3])]) ^ paramArrayOfInt[(i1 + 6)];
  225.       
  226.       m = WORD8_TO_WORD32(InvSbox[byte0(arrayOfInt[3])], InvSbox[byte1(arrayOfInt[2])], InvSbox[byte2(arrayOfInt[1])], InvSbox[byte3(arrayOfInt[0])]) ^ paramArrayOfInt[(i1 + 7)];
  227.       
  228.       arrayOfInt[0] = inv_mcol(i);
  229.       arrayOfInt[1] = inv_mcol(j);
  230.       arrayOfInt[2] = inv_mcol(k);
  231.       arrayOfInt[3] = inv_mcol(m);
  232.       
  233.       i1 -= 4;
  234.       
  235.       n--;
  236.       if (n == 1) {
  237.         break;
  238.       }
  239.     }
  240.     int i = WORD8_TO_WORD32(InvSbox[byte0(arrayOfInt[0])], InvSbox[byte1(arrayOfInt[3])], InvSbox[byte2(arrayOfInt[2])], InvSbox[byte3(arrayOfInt[1])]) ^ paramArrayOfInt[(i1 + 4)];
  241.    
  242.     int j = WORD8_TO_WORD32(InvSbox[byte0(arrayOfInt[1])], InvSbox[byte1(arrayOfInt[0])], InvSbox[byte2(arrayOfInt[3])], InvSbox[byte3(arrayOfInt[2])]) ^ paramArrayOfInt[(i1 + 5)];
  243.    
  244.     int k = WORD8_TO_WORD32(InvSbox[byte0(arrayOfInt[2])], InvSbox[byte1(arrayOfInt[1])], InvSbox[byte2(arrayOfInt[0])], InvSbox[byte3(arrayOfInt[3])]) ^ paramArrayOfInt[(i1 + 6)];
  245.    
  246.     int m = WORD8_TO_WORD32(InvSbox[byte0(arrayOfInt[3])], InvSbox[byte1(arrayOfInt[2])], InvSbox[byte2(arrayOfInt[1])], InvSbox[byte3(arrayOfInt[0])]) ^ paramArrayOfInt[(i1 + 7)];
  247.    
  248.     ByteBuffer.wrap(paramArrayOfByte2).order(ByteOrder.LITTLE_ENDIAN).putInt(i);
  249.     ByteBuffer.wrap(paramArrayOfByte2).order(ByteOrder.LITTLE_ENDIAN).putInt(4, j);
  250.     ByteBuffer.wrap(paramArrayOfByte2).order(ByteOrder.LITTLE_ENDIAN).putInt(8, k);
  251.     ByteBuffer.wrap(paramArrayOfByte2).order(ByteOrder.LITTLE_ENDIAN).putInt(12, m);
  252.   }
  253.   
  254.   static void AES_encrypt(byte[] paramArrayOfByte1, byte[] paramArrayOfByte2, int[] paramArrayOfInt)
  255.   {
  256.     int[] arrayOfInt = new int[4];
  257.     int n = 10;
  258.     int i1 = 0;
  259.     for (int i2 = 0; i2 < 4; i2++)
  260.     {
  261.       int i3 = ByteBuffer.wrap(paramArrayOfByte1).order(ByteOrder.LITTLE_ENDIAN).getInt(4 * i2);
  262.       arrayOfInt[i2] = (i3 ^ paramArrayOfInt[(i1 + i2)]);
  263.     }
  264.     i1 += 4;
  265.     for (;;)
  266.     {
  267.       i = WORD8_TO_WORD32(Sbox[byte0(arrayOfInt[0])], Sbox[byte1(arrayOfInt[1])], Sbox[byte2(arrayOfInt[2])], Sbox[byte3(arrayOfInt[3])]);
  268.       
  269.       j = WORD8_TO_WORD32(Sbox[byte0(arrayOfInt[1])], Sbox[byte1(arrayOfInt[2])], Sbox[byte2(arrayOfInt[3])], Sbox[byte3(arrayOfInt[0])]);
  270.       
  271.       k = WORD8_TO_WORD32(Sbox[byte0(arrayOfInt[2])], Sbox[byte1(arrayOfInt[3])], Sbox[byte2(arrayOfInt[0])], Sbox[byte3(arrayOfInt[1])]);
  272.       
  273.       m = WORD8_TO_WORD32(Sbox[byte0(arrayOfInt[3])], Sbox[byte1(arrayOfInt[0])], Sbox[byte2(arrayOfInt[1])], Sbox[byte3(arrayOfInt[2])]);
  274.       
  275.       arrayOfInt[0] = (fwd_mcol(i) ^ paramArrayOfInt[i1]);
  276.       arrayOfInt[1] = (fwd_mcol(j) ^ paramArrayOfInt[(i1 + 1)]);
  277.       arrayOfInt[2] = (fwd_mcol(k) ^ paramArrayOfInt[(i1 + 2)]);
  278.       arrayOfInt[3] = (fwd_mcol(m) ^ paramArrayOfInt[(i1 + 3)]);
  279.       
  280.       i1 += 4;
  281.       n--;
  282.       if (n == 1) {
  283.         break;
  284.       }
  285.     }
  286.     int i = WORD8_TO_WORD32(Sbox[byte0(arrayOfInt[0])], Sbox[byte1(arrayOfInt[1])], Sbox[byte2(arrayOfInt[2])], Sbox[byte3(arrayOfInt[3])]);
  287.    
  288.     int j = WORD8_TO_WORD32(Sbox[byte0(arrayOfInt[1])], Sbox[byte1(arrayOfInt[2])], Sbox[byte2(arrayOfInt[3])], Sbox[byte3(arrayOfInt[0])]);
  289.    
  290.     int k = WORD8_TO_WORD32(Sbox[byte0(arrayOfInt[2])], Sbox[byte1(arrayOfInt[3])], Sbox[byte2(arrayOfInt[0])], Sbox[byte3(arrayOfInt[1])]);
  291.    
  292.     int m = WORD8_TO_WORD32(Sbox[byte0(arrayOfInt[3])], Sbox[byte1(arrayOfInt[0])], Sbox[byte2(arrayOfInt[1])], Sbox[byte3(arrayOfInt[2])]);
  293.    
  294.     i ^= paramArrayOfInt[(i1 + 0)];
  295.     j ^= paramArrayOfInt[(i1 + 1)];
  296.     k ^= paramArrayOfInt[(i1 + 2)];
  297.     m ^= paramArrayOfInt[(i1 + 3)];
  298.    
  299.     ByteBuffer.wrap(paramArrayOfByte2).order(ByteOrder.LITTLE_ENDIAN).putInt(i);
  300.     ByteBuffer.wrap(paramArrayOfByte2).order(ByteOrder.LITTLE_ENDIAN).putInt(4, j);
  301.     ByteBuffer.wrap(paramArrayOfByte2).order(ByteOrder.LITTLE_ENDIAN).putInt(8, k);
  302.     ByteBuffer.wrap(paramArrayOfByte2).order(ByteOrder.LITTLE_ENDIAN).putInt(12, m);
  303.   }
  304. }
复制代码

出0入0汤圆

 楼主| 发表于 2016-5-3 23:14:24 | 显示全部楼层
askme 发表于 2016-5-3 23:08
加密解密没学会,提供点资料吧

楼主是什么意思呢

出0入0汤圆

发表于 2016-5-3 23:16:10 | 显示全部楼层
"I am key, wawawa";提取固件的加密解密方式,固件不是简单的存在文件里,而是加密过的

出0入0汤圆

 楼主| 发表于 2016-5-3 23:17:57 | 显示全部楼层
askme 发表于 2016-5-3 23:16
"I am key, wawawa";提取固件的加密解密方式,固件不是简单的存在文件里,而是加密过的 ...

努力把固件搞出来

出0入0汤圆

发表于 2016-5-3 23:20:42 | 显示全部楼层
霸气侧漏 发表于 2016-5-3 23:17
努力把固件搞出来

没时间继续分析了,以前分析了点,放U盘里了,然后U盘坏了,又要重新分析,好辛苦的

出0入0汤圆

发表于 2016-5-3 23:21:45 | 显示全部楼层
期待楼主继续分享

出0入0汤圆

 楼主| 发表于 2016-5-3 23:31:26 来自手机 | 显示全部楼层
askme 发表于 2016-5-3 23:20
没时间继续分析了,以前分析了点,放U盘里了,然后U盘坏了,又要重新分析,好辛苦的 ...

很难分析么,提供点思路?

出0入0汤圆

 楼主| 发表于 2016-5-3 23:31:52 来自手机 | 显示全部楼层
askme 发表于 2016-5-3 23:20
没时间继续分析了,以前分析了点,放U盘里了,然后U盘坏了,又要重新分析,好辛苦的 ...

很难分析么,你是怎么分析的,你的代码是C#

出0入0汤圆

发表于 2016-5-3 23:34:23 | 显示全部楼层
http://www.taylorkillian.com/201 ... -firmware-from.html
参考别人的,思路在这里

出0入0汤圆

发表于 2016-5-3 23:36:56 | 显示全部楼层
没思路看着累

出0入0汤圆

 楼主| 发表于 2016-5-3 23:39:58 来自手机 | 显示全部楼层
askme 发表于 2016-5-3 23:34
http://www.taylorkillian.com/2013/01/retrieving-st-linkv2-firmware-from.html
参考别人的,思路在这里 ...

谢谢提供资料,对了把那个C#,加解密工程打出来呗

出0入0汤圆

 楼主| 发表于 2016-5-3 23:43:34 来自手机 | 显示全部楼层
askme 发表于 2016-5-3 23:34
http://www.taylorkillian.com/2013/01/retrieving-st-linkv2-firmware-from.html
参考别人的,思路在这里 ...

这网站打不开,要科学的方式进去??

出0入0汤圆

发表于 2016-5-4 00:00:51 来自手机 | 显示全部楼层
转成jlink后能否仿真st以外的arm芯片?飞思卡尔的只opensda也能转成jlink,但只能仿飞思卡尔的芯片

出0入0汤圆

发表于 2016-5-4 06:11:24 来自手机 | 显示全部楼层
rtt能用不?

出0入0汤圆

发表于 2016-5-4 08:56:24 来自手机 | 显示全部楼层
想到一个搞定Stlinkv2-1的方法,读出jlink版固件,然后刷回stlink ,呵呵

出0入0汤圆

发表于 2016-5-4 09:02:22 | 显示全部楼层
boboo 发表于 2016-5-4 08:56
想到一个搞定Stlinkv2-1的方法,读出jlink版固件,然后刷回stlink ,呵呵

然后就变成ST-Link了,再也回不到ST-LinkV2-1了?

出0入0汤圆

 楼主| 发表于 2016-5-4 09:02:38 | 显示全部楼层
boboo 发表于 2016-5-4 08:56
想到一个搞定Stlinkv2-1的方法,读出jlink版固件,然后刷回stlink ,呵呵

关键是怎么才能够读出固件,

出0入0汤圆

 楼主| 发表于 2016-5-4 09:03:09 | 显示全部楼层

RTT没有做测试,也没用过RTT,

出0入0汤圆

 楼主| 发表于 2016-5-4 09:04:20 | 显示全部楼层
wangpengcheng 发表于 2016-5-4 00:00
转成jlink后能否仿真st以外的arm芯片?飞思卡尔的只opensda也能转成jlink,但只能仿飞思卡尔的芯片 ...

这个我回去测试看看,手机有个新塘的mcu,m4内核,还有一块lpc的

出0入0汤圆

 楼主| 发表于 2016-5-4 09:06:32 | 显示全部楼层
zengyi703 发表于 2016-5-4 09:02
然后就变成ST-Link了,再也回不到ST-LinkV2-1了?

一看就知道你没有升级stlink,这个stlink升级到Jlink过后,还可以退回STlink,do  you  know ?

出0入0汤圆

发表于 2016-5-4 09:08:03 来自手机 | 显示全部楼层
霸气侧漏 发表于 2016-5-4 09:02
关键是怎么才能够读出固件,

9怎么搞定的,同理。
找taoist ,大神级人物

出0入0汤圆

发表于 2016-5-4 09:14:16 | 显示全部楼层
感觉不错啊。。顶

出0入0汤圆

发表于 2016-5-4 09:58:47 | 显示全部楼层
没人看原帖里面的官网链接吗。。
The firmware is for use with evaluation boards only. It is not for use with custom hardware.

这个jlink固件只能调试开发板上的芯片,不能调试别的板子。

出0入85汤圆

发表于 2016-5-4 10:01:38 | 显示全部楼层
楼主还是不要浪费时间了。STM32F4DISCOVERY 板载的STLINK都没有引出CDC串口pin。即使固件支持有能如何呢,自己将STLINK pin脚飞线连到F4 mcu的串口?

出0入0汤圆

 楼主| 发表于 2016-5-4 10:12:18 | 显示全部楼层
dawanpi 发表于 2016-5-4 09:58
没人看原帖里面的官网链接吗。。

这个jlink固件只能调试开发板上的芯片,不能调试别的板子。 ...

想多了,肯定可以调试其他的MCU

出0入0汤圆

 楼主| 发表于 2016-5-4 10:13:09 | 显示全部楼层
xiaohewanwan 发表于 2016-5-4 10:01
楼主还是不要浪费时间了。STM32F4DISCOVERY 板载的STLINK都没有引出CDC串口pin。即使固件支持有能如何呢, ...

可以自己在重新花一块板子,

出0入85汤圆

发表于 2016-5-4 10:17:07 | 显示全部楼层
霸气侧漏 发表于 2016-5-4 10:13
可以自己在重新花一块板子,

自己画板推荐用ob-072,外围电路简单

出0入0汤圆

 楼主| 发表于 2016-5-4 10:22:54 | 显示全部楼层
xiaohewanwan 发表于 2016-5-4 10:17
自己画板推荐用ob-072,外围电路简单

ob-072这个没有串口吧

出0入85汤圆

发表于 2016-5-4 10:35:33 | 显示全部楼层
霸气侧漏 发表于 2016-5-4 10:22
ob-072这个没有串口吧

有的,而且是硬件串口,不是用gpio模拟的,速度应该更快一些。

出0入0汤圆

发表于 2016-5-4 10:37:01 | 显示全部楼层
霸气侧漏 发表于 2016-5-4 10:22
ob-072这个没有串口吧

OB-072是有串口的,只是SWD的速度限制在了2M,其他用着都行。不过我在原来的帖子里面下载072固件,发现串口可以用,swd接口只能识别目标芯片ID不能仿真和下载,感觉有一股淡淡的忧伤。

出0入85汤圆

发表于 2016-5-4 10:44:58 | 显示全部楼层
湛无双 发表于 2016-5-4 10:37
OB-072是有串口的,只是SWD的速度限制在了2M,其他用着都行。不过我在原来的帖子里面下载072固件,发现串 ...

芯片调试支持主要是pc上位机处理的,底层硬件只是负责发送swd时序。具体是什么ic无法调试呢?

出0入0汤圆

 楼主| 发表于 2016-5-4 10:45:33 | 显示全部楼层
湛无双 发表于 2016-5-4 10:37
OB-072是有串口的,只是SWD的速度限制在了2M,其他用着都行。不过我在原来的帖子里面下载072固件,发现串 ...

好伤心的说,

出0入0汤圆

发表于 2016-5-4 12:05:11 | 显示全部楼层
xiaohewanwan 发表于 2016-5-4 10:44
芯片调试支持主要是pc上位机处理的,底层硬件只是负责发送swd时序。具体是什么ic无法调试呢? ...

我用来调试F407的时候发现下载不进去,可以识别芯片,然后就是我keil版本是5.15。

出0入85汤圆

发表于 2016-5-4 13:30:43 | 显示全部楼层
湛无双 发表于 2016-5-4 12:05
我用来调试F407的时候发现下载不进去,可以识别芯片,然后就是我keil版本是5.15。 ...

用其它的jlink能否连接?jtag速度降一下,换根短些的连接线看看
用jlink目录下的JFlash来直接烧写是否可以?如果只是Keil不能下载,可以试着执行jlink安装目录的JLinkDLLUpdater.exe更新一下Keil下的jlink库文件。

出0入0汤圆

发表于 2016-5-4 14:45:44 | 显示全部楼层
xiaohewanwan 发表于 2016-5-4 13:30
用其它的jlink能否连接?jtag速度降一下,换根短些的连接线看看
用jlink目录下的JFlash来直接烧写是否可 ...

好的 我试试  要不你把你的固件上传来一份

出0入0汤圆

发表于 2016-5-4 15:21:00 | 显示全部楼层

stm32f429disocery升级是成功了, 但是实际下载时, 擦除正常, 下载到一半多点(10秒左右)就卡住了, 反复试了好几次都这样
就刷回STLINK了

出0入0汤圆

发表于 2016-5-4 22:32:29 来自手机 | 显示全部楼层
霸气侧漏 发表于 2016-5-4 09:02
关键是怎么才能够读出固件,

破解link.的好像都是通过dll得到固件  然后分析出检验机制 再下木马吐出boot. 找破解jlink的大神们吧

出0入0汤圆

发表于 2016-5-4 22:35:46 来自手机 | 显示全部楼层
snoopyzz 发表于 2016-5-4 15:21
stm32f429disocery升级是成功了, 但是实际下载时, 擦除正常, 下载到一半多点(10秒左右)就卡住了, 反复试了 ...

降速行不行  如果不行  那这个还有问题啊

出0入0汤圆

 楼主| 发表于 2016-5-4 22:43:32 | 显示全部楼层
huangqi412 发表于 2016-5-4 22:32
破解link.的好像都是通过dll得到固件  然后分析出检验机制 再下木马吐出boot. 找破解jlink的大神们吧 ...

是的,相信有一天我们可以用的上stlink v21版本的固件

出0入17汤圆

发表于 2016-5-5 08:20:53 | 显示全部楼层
期待2.1的固件

出0入0汤圆

发表于 2016-5-5 09:51:11 | 显示全部楼层
本帖最后由 mega1702 于 2016-5-5 13:11 编辑

先放出J-LINK V2的固件,ST 2.1固件還在奮鬥中

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2016-5-5 09:55:31 | 显示全部楼层
mega1702 发表于 2016-5-5 09:51
先放出J-LINK 的固件,ST 2.1固件還在奮鬥中

什么意思???解释下,这个是

出0入0汤圆

发表于 2016-5-5 10:01:25 | 显示全部楼层
跟着学习下

出0入0汤圆

发表于 2016-5-5 10:08:44 | 显示全部楼层
是J-link OB固件

出0入0汤圆

 楼主| 发表于 2016-5-5 10:12:49 | 显示全部楼层
本帖最后由 霸气侧漏 于 2016-5-5 10:14 编辑


这个固件是stlink v21升级成ob之后的固件还是?

出0入0汤圆

发表于 2016-5-5 10:26:11 | 显示全部楼层
huangqi412 发表于 2016-5-4 22:35
降速行不行  如果不行  那这个还有问题啊

下载时是2M, 这都不行还玩啥?

出0入0汤圆

 楼主| 发表于 2016-5-5 10:27:29 | 显示全部楼层
https://github.com/x893

貌似是stlink v21的固件

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2016-5-5 10:38:06 | 显示全部楼层
霸气侧漏 发表于 2016-5-5 10:12
这个固件是stlink v21升级成ob之后的固件还是?

是的,这个固件是stlink v21升级成ob之后的固件

出0入0汤圆

 楼主| 发表于 2016-5-5 10:39:39 | 显示全部楼层
mega1702 发表于 2016-5-5 10:38
是的,这个固件是stlink v21升级成ob之后的固件

可以烧录不?如果可以,我升级过后,在用软件恢复成stlink V21不久可以么

出0入0汤圆

发表于 2016-5-5 11:01:21 | 显示全部楼层
霸气侧漏 发表于 2016-5-5 10:39
可以烧录不?如果可以,我升级过后,在用软件恢复成stlink V21不久可以么

可以烧录,用软件可以恢复成stlink V21

出0入0汤圆

 楼主| 发表于 2016-5-5 11:06:36 | 显示全部楼层
mega1702 发表于 2016-5-5 11:01
可以烧录,用软件可以恢复成stlink V21

是么,我烧录看看,哈哈,

出0入0汤圆

发表于 2016-5-5 12:54:58 | 显示全部楼层
請問ST-LINK V2 和 ST_LINK V21 有何不一樣?
J-LINK OB 也有分 V2和 V21

出0入0汤圆

 楼主| 发表于 2016-5-5 13:06:54 | 显示全部楼层
mega1702 发表于 2016-5-5 12:54
請問ST-LINK V2 和 ST_LINK V21 有何不一樣?
J-LINK OB 也有分 V2和 V21

ST_LINK V21有串口的

出0入0汤圆

发表于 2016-5-5 13:13:19 | 显示全部楼层
J-LINK V21 固件

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2016-5-5 13:15:29 | 显示全部楼层
mark                  。

出0入0汤圆

发表于 2016-5-5 14:35:20 | 显示全部楼层
霸气侧漏 发表于 2016-5-4 09:04
这个我回去测试看看,手机有个新塘的mcu,m4内核,还有一块lpc的

回头有结果了支一声,呵呵

出0入0汤圆

 楼主| 发表于 2016-5-5 14:53:00 | 显示全部楼层
wangpengcheng 发表于 2016-5-5 14:35
回头有结果了支一声,呵呵

好的,有空测试下

出0入0汤圆

 楼主| 发表于 2016-5-5 14:53:44 | 显示全部楼层

对了,你有没有测试过,这个可以把stlink v2的烧录成stlink v21的不???

出0入0汤圆

发表于 2016-5-5 15:46:35 | 显示全部楼层
期待楼主继续分享

出0入0汤圆

发表于 2016-5-5 16:40:32 | 显示全部楼层
本帖最后由 mega1702 于 2016-5-5 16:44 编辑
霸气侧漏 发表于 2016-5-5 14:53
对了,你有没有测试过,这个可以把stlink v2的烧录成stlink v21的不???


沒這樣測試過
如果不行,請換回燒錄J-LINK V21,再燒錄成STLINK V21

出0入0汤圆

 楼主| 发表于 2016-5-5 16:48:38 | 显示全部楼层
mega1702 发表于 2016-5-5 16:40
沒這樣測試過
如果不行,請換回燒錄J-LINK V21,再燒錄成STLINK V21

你测试下呗,嘿嘿

出0入0汤圆

发表于 2016-5-5 16:54:33 | 显示全部楼层
感觉是可以  搞成V21的,看V2-1  是 STM32F103CBT6        V2是STM32F103C8T6,但是Bin文件没超过64KB,这样是不是就可以把V2-1读出来啦,   还有mega1702  怎么读取JLINK OB的固件的呀,我比较了一下,前面的部分和STLINK V2 BIN文件一样

出0入0汤圆

发表于 2016-5-5 17:06:14 | 显示全部楼层
本帖最后由 mega1702 于 2016-5-5 17:21 编辑
OurWay 发表于 2016-5-5 16:54
感觉是可以  搞成V21的,看V2-1  是 STM32F103CBT6        V2是STM32F103C8T6,但是Bin文件没超过64KB,这 ...


固件是從STLinkReflash.EXE中節錄出來的,V2和V2-1 BOOTLOADER 是一樣的
0x08004000 後就不同了

出0入0汤圆

发表于 2016-5-5 17:15:53 | 显示全部楼层
mega1702 发表于 2016-5-5 17:06
故件是從STLinkReflash.EXE中節錄出來的,V2和V2-1 BOOTLOADER 是一樣的
0x08004000 後就不同了 ...

确实是的4000后的不一样,没拿STLINK,回去试下看看,看能升级回去后读出来V2-1不,如果是这样,那SEG  GER这好事做的,谢谢您的分享了。

出0入0汤圆

 楼主| 发表于 2016-5-6 11:22:23 | 显示全部楼层
OurWay 发表于 2016-5-5 17:15
确实是的4000后的不一样,没拿STLINK,回去试下看看,看能升级回去后读出来V2-1不,如果是这样,那SEG  G ...

试试看吧,希望可以

出0入0汤圆

发表于 2016-5-6 23:04:55 | 显示全部楼层
霸气侧漏 发表于 2016-5-6 11:22
试试看吧,希望可以

经过测试,硬件采用自己画的板子,芯片为F407VGT6,固件ST2JLINK-V21.rar,使用keil5.15自带的可以连接芯片,并且可以下载,下载的最大速度限制到了2M,使用s e g g e r最新版V5.12e,可以连接芯片,可以读取芯片里面的内容,但是下载的时候提示license,寻找度娘破解后可以下载至芯片。
回滚至stlink_v21显示失败。

出0入0汤圆

发表于 2016-5-7 04:27:38 | 显示全部楼层
湛无双 发表于 2016-5-6 23:04
经过测试,硬件采用自己画的板子,芯片为F407VGT6,固件ST2JLINK-V21.rar,使用keil5.15自带的可以连接芯 ...

你原先STLINK的版本是V2還是V21?
如果是V2,回滚至stlink_v21,會有問題.

出0入0汤圆

发表于 2016-5-7 10:41:04 | 显示全部楼层
mega1702 发表于 2016-5-7 04:27
你原先STLINK的版本是V2還是V21?
如果是V2,回滚至stlink_v21,會有問題.

谢谢提醒,今天早上试了下ST2JLINK.rar这个固件,刷进去以后识别出来jlink,可以通过s e g g e r的软件读取和下载,下载时候提示license,破解后消失,keil5.15下载正常,不过相比于V21少了虚拟串口,通过软件可以回滚至STLINK,使用ST官方的软件能够完成下载及验证,能够使用。感谢提醒~~~

出0入0汤圆

 楼主| 发表于 2016-5-7 13:45:10 | 显示全部楼层
湛无双 发表于 2016-5-7 10:41
谢谢提醒,今天早上试了下ST2JLINK.rar这个固件,刷进去以后识别出来jlink,可以通过s e g g e r的软件读 ...

STLINK的版本是V2還是V21

出0入0汤圆

发表于 2016-5-7 14:52:19 | 显示全部楼层
霸气侧漏 发表于 2016-5-7 13:45
STLINK的版本是V2還是V21

STLINK是某宝上的U盘外形的,刚开始想刷不知道怎么的把STM32F101C8T6芯片给烧了,重新焊上了一块新的103C8T6重新刷进去就好了。

出0入0汤圆

 楼主| 发表于 2016-5-7 14:56:35 | 显示全部楼层
湛无双 发表于 2016-5-7 14:52
STLINK是某宝上的U盘外形的,刚开始想刷不知道怎么的把STM32F101C8T6芯片给烧了,重新焊上了一块新的103C ...

你是怎么把程序刷进去的,比较好奇,我的有下载口,但是刷不进去,估计软件要复位之类的,比较纠结,不知道dfu方式能不能下载,

我这里有stlink和jlink

出0入0汤圆

发表于 2016-5-7 16:33:28 | 显示全部楼层
霸气侧漏 发表于 2016-5-7 14:56
你是怎么把程序刷进去的,比较好奇,我的有下载口,但是刷不进去,估计软件要复位之类的,比较纠结,不知 ...

其实一开始我也下不进去,不知道芯片的问题还是什么原因,然后就觉得芯片被烧了,最后是换上了一个新的103C8T6焊了上去就好了,下载的时候记得清除读保护。

出0入0汤圆

 楼主| 发表于 2016-5-7 16:37:43 | 显示全部楼层
湛无双 发表于 2016-5-7 16:33
其实一开始我也下不进去,不知道芯片的问题还是什么原因,然后就觉得芯片被烧了,最后是换上了一个新的10 ...

怎么设置清楚读保护?

出0入0汤圆

 楼主| 发表于 2016-5-7 16:47:50 | 显示全部楼层
湛无双 发表于 2016-5-7 10:41
谢谢提醒,今天早上试了下ST2JLINK.rar这个固件,刷进去以后识别出来jlink,可以通过s e g g e r的软件读 ...

刚刚我测试有的啊,有串口,莫非和芯片有关系?

出0入0汤圆

发表于 2016-5-7 17:02:10 来自手机 | 显示全部楼层
霸气侧漏 发表于 2016-5-7 16:47
刚刚我测试有的啊,有串口,莫非和芯片有关系?

V21的有串口,V2没有串口,我测试的时候是这样的。

出0入0汤圆

 楼主| 发表于 2016-5-7 17:03:45 | 显示全部楼层
湛无双 发表于 2016-5-7 17:02
V21的有串口,V2没有串口,我测试的时候是这样的。

我在淘宝上买的,U盘,不带串口,但是升级后有串口

出0入0汤圆

 楼主| 发表于 2016-5-7 18:27:50 | 显示全部楼层
经过测试,下载的速度提升一倍,真给力

出0入0汤圆

发表于 2016-5-7 20:08:11 | 显示全部楼层
霸气侧漏 发表于 2016-5-7 17:03
我在淘宝上买的,U盘,不带串口,但是升级后有串口

U盘的是什么芯片?

出0入0汤圆

 楼主| 发表于 2016-5-7 20:10:58 | 显示全部楼层
appleboy 发表于 2016-5-7 20:08
U盘的是什么芯片?

女神来回复,你猜是什么芯片

出0入0汤圆

发表于 2016-5-7 21:40:18 | 显示全部楼层
正常应该是103C8T6,但是你说串口好用,我就不解了,难道是072不成?

出0入0汤圆

 楼主| 发表于 2016-5-7 21:45:20 | 显示全部楼层
appleboy 发表于 2016-5-7 21:40
正常应该是103C8T6,但是你说串口好用,我就不解了,难道是072不成?

就是103C8T6,有串口的,而且下载速度比stlink快很多,哈哈

出0入0汤圆

发表于 2016-5-7 21:51:36 | 显示全部楼层
mark ,stlink 刷机成jlink,呵呵。

出0入0汤圆

 楼主| 发表于 2016-5-7 21:53:42 | 显示全部楼层
powerlabor001 发表于 2016-5-7 21:51
mark ,stlink 刷机成jlink,呵呵。

你值得拥有

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2016-5-7 21:55:29 | 显示全部楼层
真是个好消息,空了我也试一下

出0入0汤圆

发表于 2016-5-10 16:07:55 | 显示全部楼层
有誰能提供stsw-link007的前一版本,現版本為V2J27S6 for ST-Link/V2 ,V2J27M15 for ST-Link/V2-1.
前一版本為V2J26S? for ST-Link/V2 ,V2J26M1? for ST-Link/V2-1.
STLink firmware upgrade
STLinkUSBDriver.dll
ST-LinkUpgrade.exe

出0入0汤圆

 楼主| 发表于 2016-5-10 17:26:32 | 显示全部楼层
mega1702 发表于 2016-5-10 16:07
有誰能提供stsw-link007的前一版本,現版本為V2J27S6 for ST-Link/V2 ,V2J27M15 for ST-Link/V2-1.
前一版本 ...

要这个做啥?

出0入0汤圆

发表于 2016-5-10 17:30:54 | 显示全部楼层
解密時要比對用.

出0入0汤圆

 楼主| 发表于 2016-5-10 18:44:47 来自手机 | 显示全部楼层
mega1702 发表于 2016-5-10 17:30
解密時要比對用.

有没有解密思路

出0入0汤圆

发表于 2016-5-10 19:21:36 | 显示全部楼层
亲测  56楼的固件好用 普通的STlinkV2 下载就可以了

出0入0汤圆

发表于 2016-5-10 19:27:44 | 显示全部楼层
使用56楼的固件升级后 可以将stlink增加一个CDC串口  串口引脚是PA2 和PA3 可以自己接一下或者画个板  
使用keil仿真 会弹出证书问题 可以使用 Segger_j-lINK_Keygen  添加FlashBP证书   
seial可以插上stlink 打开J-Flash 在Help中查看

出0入0汤圆

发表于 2016-5-10 19:29:30 | 显示全部楼层
进来看看,☺

出0入0汤圆

 楼主| 发表于 2016-5-10 21:04:55 来自手机 | 显示全部楼层
unnormal 发表于 2016-5-10 19:29
进来看看,☺

好看不???

出0入0汤圆

发表于 2016-5-10 21:20:46 | 显示全部楼层
mega1702 发表于 2016-5-10 16:07
有誰能提供stsw-link007的前一版本,現版本為V2J27S6 for ST-Link/V2 ,V2J27M15 for ST-Link/V2-1.
前一版本 ...

我这有 stsw-link 004 的可以用不,需要发给你,哈哈

出0入0汤圆

发表于 2016-5-10 21:26:40 | 显示全部楼层
马克,有空把我的评估板升级一下玩玩。

出0入0汤圆

发表于 2016-5-11 01:36:39 | 显示全部楼层
OurWay 发表于 2016-5-10 21:20
我这有 stsw-link 004 的可以用不,需要发给你,哈哈

可以的,請發到我郵箱裡.
mega1702@163.com
謝謝你

出0入0汤圆

发表于 2016-5-11 02:28:40 | 显示全部楼层
有什么好处吗?ST-LINK不是本来就有个串口吗?

出0入0汤圆

 楼主| 发表于 2016-5-11 07:45:06 来自手机 | 显示全部楼层
OurWay 发表于 2016-5-10 21:20
我这有 stsw-link 004 的可以用不,需要发给你,哈哈

004是什么版本的,发到网站上来,

出0入0汤圆

发表于 2016-5-11 11:49:50 | 显示全部楼层
霸气侧漏 发表于 2016-5-11 07:45
004是什么版本的,发到网站上来,

STM32 ST-LINK Utility_v3.7.0.exe     里面的内容是这个,下载的时间是  004
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-23 16:54

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表