其他分享
首页 > 其他分享> > ESP32 连接平台开发

ESP32 连接平台开发

作者:互联网

搞了2个星期,才把开发环境搞好。是的,要骂人了。但这对于我来说,是个学习的机会,毕竟之前连VSCode都没怎么用过。

但从这次查找问题的过程中,发现自己解决问题能力的不足。说到底就是一个不断反省的过程。好了,收拾好心情,下一步了。

既然要开发ESP32的固件,那就需要大概了解ESP32固件内部的运行情况。

链接:应用程序的启动流程 - ESP32-C3 - — ESP-IDF 编程指南 v4.4.1 文档 (espressif.com)

总的来说,ESP32上电后,会进行3个步骤:(1)一级引导程序被固化在ESP32内部的ROM中,它会从flash的0x0偏移地址处加载二级引导程序至RAM中;(2)二级引导程序从flash中加载分区表和主程序镜像至内存中,主程序中包含了RAM段和通过flash高速缓存映射的只读段;(3)应用程序启动阶段运行,这时第二个CPU和RTOS的调度器启动。

再概括一些就是,当一级引导程序校验并加载完二级引导程序后,它会从二进制镜像的头部找到二级引导程序的入口点,二级引导程序加载了代码并设置了flash MMU,二级引导程序将验证应用程序完成性,并从二进制镜像文件的头部寻找入口地址,然后跳转到该地址处运行。

标签:引导,平台,二级,ESP32,flash,程序,连接,加载
来源: https://www.cnblogs.com/shengxiaose/p/16408851.html