找回密码
 立即注册

QQ登录

只需一步,快速开始

帖子
查看: 4312|回复: 1
收起左侧

stm32程序是怎么进入入口地址的?

[复制链接]
ID:277125 发表于 2018-1-17 19:55 | 显示全部楼层 |阅读模式
keil自带stm32的启动文件,但在程序又是如何执行到启动文件的第一条汇编语句的呢?
回复

举报

ID:123289 发表于 2018-1-18 21:34 | 显示全部楼层
任何单片机的第一条取指地址,都是由硬件决定的。RESET的目的之一就是硬件强行到指定的地址去运行。
常用的硬件方案有两种(不限于此两种):
1、从固定地址取指令执行。如51系列,是从0000H开始取指令执行。
2、从固定地址取出地址,再从这个地址处取指令执行。例如6502芯片(任天堂游戏机),是从FFFEH和FFFFH这两个地址中取出两个字节,假设这两个字节是1234H,则再从1234H起取指令运行。

stm32是从何处开始呢?不告诉你,请你查一下手册(在关于RESET的地方应当有)。

C语言规定程序从MAIN开始,KELL在编译MAIN时,必须知道是用的什么单片机。否则它无法确定MAIN程序从什么地址开始存放。(这就是你仿真时为什么要先选择单片机型号的道理之一)

而用汇编写程序的人,也必须知道CPU复位后是从何处开始运行的,程序也从这里开始写。
回复

举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表