如何通过JLINK工具,用STM32F207烧写外扩NOR FLASH的程序 如何直接用jlink给stm32烧写hex文件
\u5982\u4f55\u901a\u8fc7JLINK\u70e7\u5199\u6587\u4ef6\u5230\u767e\u4e3aSTM32\u5f00\u53d1\u677f\u5916\u90e8\u7684NOR FLASH\u6211\u4eec\u5e73\u65f6\u7684\u7a0b\u5e8f\u90fd\u662f\u70e7\u5199\u5230STM32\u7684\u5185\u90e8FLASH\u91cc\u7684\uff0c\u6240\u4ee5\u53ef\u4ee5\u901a\u8fc7\u4e32\u53e3\u6216JLINK\u76f4\u63a5\u4e0b\u8f7d\u5c31\u53ef\u4ee5\u4e86\u3002
\u800cST\u5b98\u65b9DEMO\u7684\u8d44\u6e90\u6587\u4ef6\uff0c\u548cuclinux\u7684image\u6587\u4ef6\u90fd\u662f\u70e7\u5199\u5230\u5916\u90e8NOR FLASH\u7684\uff0c
\u9664\u4e86\u53ef\u4ee5\u7528DFU\u65b9\u5f0f\u4e0b\u8f7d.dfu\u6587\u4ef6\u4e4b\u5916\uff0c\u8fd8\u53ef\u4ee5\u7528JLINK\u70e7\u5199.bin\u6587\u4ef6\u548c.hex\u7b49\u6587\u4ef6\uff0c\u800c\u4e14JLINK\u70e7\u5199NOR\u7684\u901f\u5ea6\u6bd4DFU\u5feb\u5f88\u591a\u3002
\u8fd9\u91cc\u6211\u4eec\u6765\u4ecb\u7ecd\u4e00\u4e0b\uff0c\u662f\u600e\u4e48\u901a\u8fc7JLINK\u70e7\u5199\u5b57\u5e93\u5230NOR FLASH\u91cc\u7684\uff1a
1\u3001\u9996\u5148\u6253\u5f00SEGGER-> JLink ARM Vx.xx -> J-Flash ARM
2\u3001\u7136\u540e\u70b9File -> open project\uff0c
\u5728\u5f39\u51fa\u7684\u9009\u62e9\u6846\u4e2d\u9009\u62e9\u5de5\u7a0b\u6587\u4ef6\uff1aC:\Program Files\SEGGER\JLinkARM_V424\Samples\JFlash\ProjectFiles\STM32F103ZE_ST_MB672_CFI_1x16.jflash
3\u3001\u7136\u540e\u70b9File -> open data file \u6253\u5f00\u8981\u70e7\u5199\u7684\u6587\u4ef6\uff0c\u8fd9\u91cc\u4ee5\u5b57\u5e93HZK16.bin\u4e3a\u4f8b
4\u3001\u7136\u540e\u4f1a\u5f39\u51fa\u4e00\u4e2a\u5730\u5740\u8bbe\u7f6e\u6846\uff0c\u8fd9\u91cc\u6211\u4eec\u586b\u5199NOR FLASH\u7684\u8d77\u59cb\u5730\u574064000000
5\u3001\u8bbe\u7f6e\u597d\u4e0a\u9762\u7684\u6b65\u9aa4\u540e\uff0c\u4e0b\u9762\u70b9Target -> connect\u8fde\u63a5\u8bbe\u5907
\u8fde\u63a5\u6210\u529f\u540e\uff0c\u5728\u4e0b\u9762\u7684LOG\u6846\u4e2d\u770b\u5230Connected successfully\u7684\u4fe1\u606f
6\u3001\u6700\u540e\u5c31\u53ef\u4ee5\u70b9Target -> program & valify\u70e7\u5199\u4e86
\u7b49\u5f85\u70e7\u5199\u5b8c\u6210\uff0c\u6587\u4ef6\u5c31\u6210\u529f\u70e7\u5199\u5230\u5916\u90e8NOR FLASH\u4e86
\u5982\u679c\u8981\u70e7\u5199\u591a\u4e2a\u6587\u4ef6\uff0c\u6b65\u9aa43\u3001\u5b8c\u6210\u540e\uff0c\u63a5\u7740\u52a0\u4e00\u4e2a\u6b65\u9aa4File -> Merge data file\u3002\u540e\u9762\u6b65\u9aa4\u4e00\u6837\u3002
\u5982\u679c\u6211\u4eec\u70e7\u5199\u7684\u4e24\u4e2a\u6587\u4ef6\uff0c\u4f1a\u64e6\u9664FLASH\u7684\u540c\u4e00\u4e2a\u5757\uff0c\u90a3\u5c31\u8981\u7528Merge data file\uff0c\u4e0d\u7136\u540e\u9762\u70e7\u7684\u5c31\u4f1a\u628a\u524d\u9762\u70e7\u7684\u64e6\u9664\u4e86\u3002
\u4f60\u9700\u8981\u4f7f\u7528JLink\u7684\u914d\u5957\u8f6f\u4ef6J-Flash for ARM\uff0c\u5b89\u88c5\u540e\u6253\u5f00J-Flash for arm\u5de5\u5177\uff0c\u6253\u5f00hex\u6587\u4ef6\uff0c\u9009\u62e9\u82af\u7247\uff0c\u8fde\u597djlink\u548cSTM32\uff0c\u6700\u540e\u4e0b\u8f7d\u5373\u53ef\u3002
PS\uff1aJflash for arm\u8f6f\u4ef6\u4e0d\u8981\u4f7f\u7528\u592a\u9ad8\u7684\u7248\u672c\uff0c\u4e0d\u7136\u6709\u53ef\u80fd\u4f1a\u8bc6\u522b\u4f60\u7684Jlink\u4e3a\u76d7\u7248\u5bfc\u81f4\u65e0\u6cd5\u4e0b\u8f7d\u7a0b\u5e8f\u3002
绛旓細濂鐢銆ST-LINK鏄竴涓敤浜嶴TM8鍜孲TM32寰帶鍒跺櫒绯诲垪鐨勫湪绾胯皟璇曞櫒鍜岀紪绋嬪櫒锛屼篃鏄ぇ瀹跺彛涓殑涓嬭浇鍣ㄣ俲unctionlink鎺ュ悎閾捐矾锛屽氨鏄疉RM鏉夸笂瑕佺敤鐨JLINK銆係T-Link鍏锋湁SWIM銆丣TAG/SWD绛夐氫俊鎺ュ彛锛岀敤浜庝笌STM8鎴朣TM32寰帶鍒跺櫒杩涜閫氫俊锛堝悇鐗堟湰鏈夊樊寮傦級銆
绛旓細JTAG鏄竴绉嶅湪绾胯皟璇曟爣鍑嗭紝鐢4鏍逛俊鍙风嚎缁勬垚锛屼綘鎵鏈夌殑绋嬪簭涓嬭浇鍜岃皟璇曚豢鐪熼兘鏄閫氳繃JTAG鎺ュ彛杩涜銆傝岃繛鎺TM32鐨凧TAG鎺ュ彛鍜岃绠楁満鐨勮澶囧氨鍙仛浠跨湡鍣ㄣ傛湰鏉LINK,ST-LINK,H-JTAG,JLINK杩欏洓鑰呭悇鏈夊崈绉锛孞LINK鏄悇鏂归潰鐨勭帇鑰咃紝浣嗘槸浠锋牸寰堣吹銆備絾鐢变簬鏈杩慗LINK寮婧愪簡锛屾墍浠ヨ澶ч噺浠垮埗锛屼究瀹滅殑TB涓98鍏冨氨鑳戒拱鍒帮紝...
绛旓細鏄數鑴戞病鏈夊畨瑁呭搷搴旂殑椹卞姩銆傚洜涓轰覆鍙h鎺锛孲TLINK鍙槸涓绉4绾夸笅杞藉拰璋冭瘯绋嬪簭鐨勬帴鍙e拰JLINK绫讳技锛屼覆鍙e彲浠鐢USB杞琓LL鍐嶆帴鍒颁覆鍙e紩鑴氾紝鎴栬呬拱涓摑鐗欐ā鍧楁帴涓插彛銆傛墍浠stlink椹卞姩瀹夎鍚庢壘涓嶅埌涓插彛鏄數鑴戞病鏈夊畨瑁呭搷搴旂殑椹卞姩銆備覆鍙f槸鏄噰鐢ㄤ覆琛岄氫俊鏂瑰紡鐨勬墿灞曟帴鍙c備覆琛屾帴鍙g畝绉颁覆鍙c
绛旓細鑰ST瀹樻柟DEMO鐨勮祫婧愭枃浠讹紝鍜寀clinux鐨刬mage鏂囦欢閮芥槸鐑у啓鍒板閮∟OR FLASH鐨勶紝闄や簡鍙互鐢―FU鏂瑰紡涓嬭浇.dfu鏂囦欢涔嬪锛岃繕鍙互鐢↗LINK鐑у啓.bin鏂囦欢鍜.hex绛夋枃浠讹紝鑰屼笖JLINK鐑у啓NOR鐨勯熷害姣擠FU蹇緢澶氥傝繖閲屾垜浠潵浠嬬粛涓涓嬶紝鏄鎬庝箞閫氳繃JLINK鐑у啓瀛楀簱鍒癗OR FLASH閲岀殑锛1銆侀鍏堟墦寮SEGGER-> JLink ARM Vx.xx -> J-...
绛旓細涓嶄竴瀹氥傜湅鑷繁闇瑕佽繘琛岃喘涔般俿tlink鍏锋湁鍦ㄧ嚎璋冭瘯锛岀幇鍦ㄧ▼搴忥紝璇诲啓flash鐨勫姛鑳姐傛槸st鍗曠墖鏈虹殑閰嶅悎宸ュ叿锛鍦ㄥ叾浠栧崟鐗囨満鍙兘灏变笉瀹炵敤浜嗐傝皟璇曞崟鐗囨満鍙互鐢╦link锛宻tlink閮藉彲浠ャ傚缓璁甹link锛岃繖绉嶅彲浠ヨ皟璇曟墍鏈夌殑arm锛屼笉浠呬粎鏄痵tm32銆
绛旓細JLINK鏄竴涓彲浠ュ湪绾夸豢鐪熷拰涓嬭浇绋嬪簭鐨宸ュ叿锛鍚屾牱鐨勮繕鏈塖T-LINK銆乁LINK绛夈備环鏍硷細JLINK涓涓ぇ姒60鍧楀乏鍙炽係T-LINK澶ф100鍑哄ご锛孲T-LINK姣擩LINK澶氫竴涓猄WIM鎺ュ彛锛屼篃灏辨槸STM8浣跨敤鐨勬帴鍙c傜ǔ瀹氭э細JLINK鏄緢绋冲畾鐨勩傝屾垜鍦浣跨敤ST-LINK浠跨湡STM32鏃舵湁鏃朵細浠跨湡涓嶄簡锛岀敤JLINK浠庢病鍑虹幇杩囬棶棰樸
绛旓細JTAG鏄竴绉嶅湪绾胯皟璇曟爣鍑嗭紝鐢4鏍逛俊鍙风嚎缁勬垚锛屼綘鎵鏈夌殑绋嬪簭涓嬭浇鍜岃皟璇曚豢鐪熼兘鏄閫氳繃JTAG鎺ュ彛杩涜銆傝岃繛鎺TM32鐨凧TAG鎺ュ彛鍜岃绠楁満鐨勮澶囧氨鍙仛浠跨湡鍣ㄣ傛湰鏉LINK,ST-LINK,H-JTAG,JLINK杩欏洓鑰呭悇鏈夊崈绉锛孞LINK鏄悇鏂归潰鐨勭帇鑰咃紝浣嗘槸浠锋牸寰堣吹銆備絾鐢变簬鏈杩慗LINK寮婧愪簡锛屾墍浠ヨ澶ч噺浠垮埗锛屼究瀹滅殑TB涓98鍏冨氨鑳戒拱鍒帮紝...
绛旓細娉ㄦ剰浠ヤ笅鍐呭锛- Keil MDK鐗堟湰閫傚綋鏇存柊锛岃繃鏃х殑鐗堟湰瀵Jlink鐨勬敮鎸佸彲鑳戒笉澶熷ソ銆傝鍚屾鐨凞LL瑕佸悓姝ャ- Cortex M3鐨勮皟璇曟帴鍙e繀椤浣跨敤SWD锛岃嚦灏戦渶瑕5绾胯繛鎺ワ細Vref, SWDIO, SWCLK, SWO, GND銆- 鍦↘eil涓‘璁よ皟璇曟ā寮忛夋嫨鐨凷WD銆JLink璁剧疆娌℃湁浠涔堥棶棰樸傝繖绉嶈缃紝搴旇鏄紪璇閫氳繃锛绋嬪簭鑳借繍琛岋紝浣嗘槸涓嶄竴瀹欼TM...
绛旓細//鍦ㄦ簮浠g爜涓紝娣诲姞浠g爜濡備笅锛#include <stdio.h> #define ITM_Port8(n) (*((volatile unsigned char *)(0xE0000000+4*n))) #define ITM_Port16(n) (*((volatile unsigned short*)(0xE0000000+4*n))) #define ITM_Port32(n) (*((volatile unsigned long *)(0xE000000...
绛旓細銆俇LINK鏄疜EIL鍏徃寮鍙戠殑浠跨湡鍣紝涓撶敤浜嶬EIL 骞冲彴涓浣跨敤锛孉DS,iar 涓嬩笉鑳戒娇鐢ㄣJLINK 鏄氱敤鐨勫紑鍙宸ュ叿锛鍙互鐢ㄤ簬KEIL 锛孖AR 锛孉DS 绛夊钩鍙 閫熷害锛屾晥鐜囷紝鍔熻兘鍧囨瘮ULINK寮猴紝ULINK鍜孶LINK2鐨勫姛鑳藉拰閫熷害涔熸病鏈塉LINK寮哄ぇ銆傜湅杩囦竴浜涘笘瀛愶紝鏅亶璇达紝JLINK姣ST-LINK璋冭瘯鏃剁ǔ瀹氥備絾鏄疭T-LINK鍙互鏀寔STM8鐨勮皟璇曘