• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

复位以后程序是从哪启动的?

力洪 2018-10-22 浏览量:1168
大家如果用串口下载程序,复位后程序是从0x8000000开始运行的吗?不同下载方式复位以后的程序开始运行地址是不是都不一样呢?


0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 从哪里启动取决于Boot0、Boot1

    BOOT1 BOOT0       启动模式说明

       X         0              主闪存存储器 主闪存存储器被选为启动区域

       0         1              系统存储器 系统存储器被选为启动区域

       1         1              内置SRAM 内置SRAM被选为启动区域

    • 发布于 2018-10-22
    • 举报
    • 评论 0
    • 2
    • 0

其他答案 数量:11
  • 这个应该是编译的时候可以设置好像,而且每个片子好像也不一样。
    • 发布于2018-10-22
    • 举报
    • 评论 0
    • 1
    • 0

  • 复位后从bootloader地址运行,具体地址每个单片机不同
    • 发布于2018-10-22
    • 举报
    • 评论 0
    • 1
    • 0

  • 对于stm32来说,程序在flash运行的启动地址确实是0x8000000,但如果从ram启动就不是这个地址了

    • 发布于2018-10-22
    • 举报
    • 评论 0
    • 1
    • 0

  • 每种单片机的bootloader程序不同 地址也是不同的
    • 发布于2018-10-22
    • 举报
    • 评论 0
    • 1
    • 0

  • 复位后程序是从复位入口开始运行的。正常冷启动开机是通过 boot0 boot1,决定从哪里启动,

    如果串口下载,下载完了复位,这个时候地址是不是重定位了,是,那就是重定位的地址开始执行。​

    • 发布于2018-10-22
    • 举报
    • 评论 0
    • 0
    • 0

  • 是从Flash的0地址开始的,重新进行运行所有的程序
    • 发布于2018-10-22
    • 举报
    • 评论 0
    • 0
    • 0

  • 如果是STM32单片机的话,先从0x0处加载起始指令,然后从0x8000000处加载用户程序。

    • 发布于2018-10-28
    • 举报
    • 评论 0
    • 0
    • 0

  • 设置不同的BOOT电平,会有 不同的启动地址,如果设的是BOOT0=0,则是从0x8000000启动
    • 发布于2018-11-04
    • 举报
    • 评论 0
    • 0
    • 0

  • 复位后会从0x8000000达到地址开始执行你的代码
    • 发布于2018-11-20
    • 举报
    • 评论 0
    • 0
    • 0

  • 一般是根据你的BOOT引脚的电平来启动的,不同的电平会有不同的启动地址
    • 发布于2018-11-27
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

复位以后程序是从哪启动的?