keil swd设置下载stm32f103c8t6.

1、debug选项,选择jlink,
2、utilities选择jlink
3、加载flash算法。
4、选择swd模式,其他基本上默认,这样就可以下载了
对rom和ram设置需要说明一下:
1,IROM1,前面是首地址,后面是大小,表示FLASH(代码存储区间)的起始地址和大小。
2,IRAM1,前面是首地址,后面是大小,表示RAM(变量存储区)的起始地址和大小。
c8t6是20K的sram,对应0x10000,起始0x0800 0000,
64K的flash,对应0x5000,起始0x2000 0000。


看截图。


3,RAM for Algorithm是用来在IRAM1区域划分一段空间,用来运行flash下载算法(可理解为一个程序),从而给MCU下载代码。但是这个空间只在下载代码的时候有用,下载完了代码以后,这段空间就可以被你的APP代码(你下载的代码)占用的,相当于释放了。

同时,可以在工程目录下看到LED.sct:

; *************************************************************
; *** Scatter-Loading Description File generated by uVision ***
; *************************************************************

LR_IROM1 0x08000000 0x00010000  {    ; load region size_region
  ER_IROM1 0x08000000 0x00010000  {  ; load address = execution address
   *.o (RESET, +First)
   *(InRoot$$Sections)
   .ANY (+RO)
  }
  RW_IRAM1 0x20000000 0x00005000  {  ; RW data
   .ANY (+RW +ZI)
  }
}

告诉编译器  链接的时候把符号表替换成绝对地址。

原文地址:https://www.cnblogs.com/CodeWorkerLiMing/p/10883968.html