[开发工具] 【STM32】SRAM启动

[复制链接]
704|9
 楼主| mollylawrence 发表于 2023-3-31 08:20 | 显示全部楼层 |阅读模式
[color=rgba(0, 0, 0, 0.75)]创建工程的调试版本

该操作调试版本会复制原工程的配置

修改FLASH的目标配置

用的是STM32F103C8T6
RAM起始地址为是0x2000 0000大小为20KB,
这里用12KB大小的RAM作为虚拟ROM,用8KB的RAM作为RAM
虚拟ROM起始地址0x2000 0000大小0x3000
RAM起始地址0x2000 3000大小0x2000

配置分散加载文件

keil STM32中sct 分散加载文件学习

注意要与FLASH下的目标配置一致
虚拟ROM起始地址0x2000 0000大小0x3000
RAM起始地址0x2000 3000大小0x2000

  1. ; *************************************************************
  2. ; *** Scatter-Loading Description File generated by uVision ***
  3. ; *************************************************************

  4. LR_IROM1 0x20000000 0x00003000  {    ; load region size_region
  5.   ER_IROM1 0x20000000 0x00003000  {  ; load address = execution address
  6.    *.o (RESET, +First)
  7.    *(InRoot$Sections)
  8.    .ANY (+RO)
  9.    .ANY (+XO)
  10.   }
  11.   RW_IRAM1 0x20003000 0x00002000  {  ; RW data
  12.    .ANY (+RW +ZI)
  13.   }
  14. }

配置中断向量表

编译选项中加入宏 VECT_TAB_SRAM ,在“Options for Target-> c/c+±>Define”框中输入宏VECT_TAB_SRAM ,注意它与其它宏之间要使用英文逗号分隔开。配置完成后重新编译工程,即可生成存储到 SRAM 空间地址的代码指令。

修改 FLASH 下载配置

  • Download Function中的擦除选项配置为Do not Erase
    这是因为数据写入到内部SRAM 中不需要像 FLASH 那样先擦除后写入。在本工程中,如果我们不选择“Do not Erase”的话,会因为擦除过程导致下载出错。

  • RAM for Algorithm指“编程算法” (Programming Algorithm) 可使用的 RAM 空间

  • 虚拟ROM地址与大小,与上面目标配置一致


仿真器配置

需要勾选Verify Code Download及Download to FLASH选项,也就是说点击调试按钮后,本工程的程序会被下载到内部 SRAM 中,只有勾选了这两个选项才能正常仿真

BOOT配置





Pulitzer 发表于 2024-5-16 07:14 | 显示全部楼层

输入电源电流环路
童雨竹 发表于 2024-5-16 09:10 | 显示全部楼层

单片机一般都有内部程序区和数据区
Wordsworth 发表于 2024-5-16 10:13 | 显示全部楼层

输入和输出电流环路连接的位置只能是相应的输入 输出电容的接线端
公羊子丹 发表于 2024-5-16 12:09 | 显示全部楼层

CPLD解密,DSP解密都习惯称为单片机解密
万图 发表于 2024-5-16 13:12 | 显示全部楼层

引线越长,它能接收和传送的干扰信号频率就越低
Uriah 发表于 2024-5-16 14:15 | 显示全部楼层

输入电压端上测得的值比它实际
帛灿灿 发表于 2024-5-16 16:11 | 显示全部楼层

引线的长和宽影响它的电阻和电感量
Bblythe 发表于 2024-5-16 17:14 | 显示全部楼层

它们的放置要尽可能靠近
周半梅 发表于 2024-5-16 19:10 | 显示全部楼层

大部分单片机都带有加密锁定位或者加密字节
您需要登录后才可以回帖 登录 | 注册

本版积分规则

46

主题

1968

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部