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) } }
告诉编译器 链接的时候把符号表替换成绝对地址。
本文介绍了如何使用Keil通过SWD模式设置下载STM32F103C8T6芯片。步骤包括选择JLink作为debug工具,加载Flash算法,并调整ROM和RAM的配置。STM32F103C8T6具有64K Flash和20K SRAM,需正确设定IROM1和IRAM1的地址和大小。此外,RAM for Algorithm用于运行下载算法,下载完成后可由应用程序占用。
4939

被折叠的 条评论
为什么被折叠?



