J-Link用的山寨货,不知道山寨了几代的那种....用的STM32F103C8T6的小板也是山寨了好几代那种,才25块钱...好在能用,J-Link用segger公司的软件能识别,也能找到CPU,板子的脚都有留出来。
闲话少说,干活。
连接硬件,双击打开segger目录下的J-Link.exe,看到打印如下信息:
SEGGER J-Link Commander V4.02d ('?' for help) Compiled Mar 12 2009 15:39:38 DLL version V4.02d, compiled Mar 12 2009 15:39:15 Firmware: J-Link ARM-OB STM32 compiled Mar 01 2010 17:00:09 Hardware: V7.00 S/N : 20090928 Feature(s) : RDI,FlashDL,FlashBP,JFlash,GDBFull VTarget = 3.300V Info: TotalIRLen = 9, IRPrint = 0x0011 Info: Found Cortex-M3 r1p1, Little endian. Info: TPIU fitted. Info: FPUnit: 6 code (BP) slots and 2 literal slots Found 2 JTAG devices, Total IRLen = 9: Id of device #0: 0x3BA00477 Id of device #1: 0x16410041 Cortex-M3 identified. JTAG speed: 5 kHz
找到两个JTAG,呵呵,这块小板也烧的J-Link的Firmware,感谢万能的Segger。
根据hugebird的文档《USB-BRJTAG Manual STM32》,要写USBbootloader到0x08000000,所以,先看看现在的Firmware这个位置什么什么。因为没有Led,待会不好判断是不是烧好了。
J-Link>mem 0x08000000 8 08000000 = 60 02 00 20 71 01 00 08
然后,就下程序进去:
1) 打开JFlashARM,File->Open找到hidbl_stm32_hse.hex
2)Options->Project Settings->CPU->STM32F103C8T6。到这里,看了下,Flash的base addr是08000000。唔,文档是说烧到这个位置,不确定,不知道是不是要把下面的Individual setor里面第一个第二个勾掉;打算不对重试。
3)Target-> connect,Target->Program&verify
烧写完了继续用J-Link.exe
J-Link>mem 0x08000000 8 08000000 = 00 04 00 20 95 17 00 08
说明烧写正常嘛~
然后用USB Bootloader下载剩下的Firmware。