如何设置在内嵌RAM中运行程序
1个回答
展开全部
一:新建一个工程或者可以增加一个调试方式。
增加调试方法如下:
1:点击魔法棒(配置工程图标)右侧领奖台一样图案的按钮(Project->manage->Components,Environment and Books)。
2:在Project Targets选项增加一个RAM,点击OK完成。
3:在魔法棒左边的选框选中RAM。
二:新建一个名为SRAM.ini的文件。内容如下:
FUNC void Setup (void) {
SP = _RDWORD(0x20000000); // Setup Stack Pointer
PC = _RDWORD(0x20000004); // Setup Program Counter
_WDWORD(0xE000ED08, 0x20000000); // Setup Vector Table Offset Register
}
LOAD RAM.axf INCREMENTAL // Download,红色代表工程文件名.axf ,与Output选项中输出文件名一致。
Setup(); // Setup for Running
g, main
三、设置项目的参数。在工具条上点击“Options for Target”,弹出项目设置对话框。
四、在对话框的Target标签,修改IROM1地址。Cortex-M3的内部RAM的起始地址是0x20000000,STM32F103ZE的RAM总共有64k。这里把48k分给ROM,16k分给RAM,设置如下图。
注意,IROM原先的地址是0x8000000,后面是6个0,而需要填入的新地址是0x20000000,后面拖的是7个0,千万不要填错。
五、切换到Linker标签,修改基地址。
一开始,此标签下的R/O Base和R/W Base内容是不允许修改的,如下图
勾销“Use Memory Layout from Target Dialog”之后才可以编辑。在R/O Base填入0x20000000,在R/W Base填入0x2000C000,然后在勾选“Use Memory Layout from Target Dialog”。完成后如下图。
六、接下来是Debug标签设置。
1.首先去掉“Load Application at Startup”核选框,并在下面填入刚才建立的SRAM.ini文件。
2.选择Cortex-M3 J-Link调试器。如下图。
再点击旁边的Setting按钮,设置JLink设备。在弹出对话框中选择“Falsh download”标签。
(1)核选“Do not Erase”,即在下载之前不需要擦除存储器;
(2)在“RAM for Algorithm”区的Start栏填入0x2000C000,与前面的RAM设置保持一致。这里的RAM空间是供烧录时用的,大小用默认的就可以,不用改。
(3)点击对话框最下面的Add按钮,在弹出对话框中选择“STM32F10X High-density Flash”,并点击确定,与STM32F103ZE CPU保持一致。
(4)在“Programming Algorithm”的Start和Size中,一如既往地填入0x20000000和0xC000。指定烧录过程的起始位置和范围。按确定回到“Options for Target”对话框。
七、选择“Utilities”标签栏,在“Use Target Driver for Flash Programming”下面选择“Cortex-M3 J-Link”。旁边的Setting按钮和刚才设置的是同一个对话框。
八、至此,设置全部完成。可以下载到板上运行了。
增加调试方法如下:
1:点击魔法棒(配置工程图标)右侧领奖台一样图案的按钮(Project->manage->Components,Environment and Books)。
2:在Project Targets选项增加一个RAM,点击OK完成。
3:在魔法棒左边的选框选中RAM。
二:新建一个名为SRAM.ini的文件。内容如下:
FUNC void Setup (void) {
SP = _RDWORD(0x20000000); // Setup Stack Pointer
PC = _RDWORD(0x20000004); // Setup Program Counter
_WDWORD(0xE000ED08, 0x20000000); // Setup Vector Table Offset Register
}
LOAD RAM.axf INCREMENTAL // Download,红色代表工程文件名.axf ,与Output选项中输出文件名一致。
Setup(); // Setup for Running
g, main
三、设置项目的参数。在工具条上点击“Options for Target”,弹出项目设置对话框。
四、在对话框的Target标签,修改IROM1地址。Cortex-M3的内部RAM的起始地址是0x20000000,STM32F103ZE的RAM总共有64k。这里把48k分给ROM,16k分给RAM,设置如下图。
注意,IROM原先的地址是0x8000000,后面是6个0,而需要填入的新地址是0x20000000,后面拖的是7个0,千万不要填错。
五、切换到Linker标签,修改基地址。
一开始,此标签下的R/O Base和R/W Base内容是不允许修改的,如下图
勾销“Use Memory Layout from Target Dialog”之后才可以编辑。在R/O Base填入0x20000000,在R/W Base填入0x2000C000,然后在勾选“Use Memory Layout from Target Dialog”。完成后如下图。
六、接下来是Debug标签设置。
1.首先去掉“Load Application at Startup”核选框,并在下面填入刚才建立的SRAM.ini文件。
2.选择Cortex-M3 J-Link调试器。如下图。
再点击旁边的Setting按钮,设置JLink设备。在弹出对话框中选择“Falsh download”标签。
(1)核选“Do not Erase”,即在下载之前不需要擦除存储器;
(2)在“RAM for Algorithm”区的Start栏填入0x2000C000,与前面的RAM设置保持一致。这里的RAM空间是供烧录时用的,大小用默认的就可以,不用改。
(3)点击对话框最下面的Add按钮,在弹出对话框中选择“STM32F10X High-density Flash”,并点击确定,与STM32F103ZE CPU保持一致。
(4)在“Programming Algorithm”的Start和Size中,一如既往地填入0x20000000和0xC000。指定烧录过程的起始位置和范围。按确定回到“Options for Target”对话框。
七、选择“Utilities”标签栏,在“Use Target Driver for Flash Programming”下面选择“Cortex-M3 J-Link”。旁边的Setting按钮和刚才设置的是同一个对话框。
八、至此,设置全部完成。可以下载到板上运行了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询