stm32单片机上电先执行main函数的C语言?

 我来答
黑煞星之王
游戏玩家

2023-06-19 · 非著名电竞玩家
知道小有建树答主
回答量:351
采纳率:86%
帮助的人:72.1万
展开全部

这个是由编译器决定的,比方说下图,在IAR的项目设置中,选择Debugger->Setup

可以将执行的第一个函数修改为其他函数而非main函数。

不同编译器,在执行第一个函数前的初始化动作是不相同的,但是一般都是先进入ResetHandler,然后在通过ST的库函数时钟初始化、重定向等系统初始化操作,再通过编译器的启动函数跳转到main函数中。如下图所示,先分配堆栈大小,然后ResetHandler,到ResetHandler执行中能看到先进行了SystemInit再然后是iar_start_program,接下来才到main函数中。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式