首页 > 数据库 > 数据库开发技术 > esp32使用openharmony的启动逻辑
本文以device_board_openvalley作为例子,单纯的从写应用程序的角度来讲解esp32和openharmony搭配后的启动逻辑。
根据esp-idf的文档可以知道,esp32启动流程的最后一步是运行app_main函数。
我们可以在niobeu4/liteos_m/target/src/target_startup.c这个文件找到app_main函数。
app_main函数,创建了一个task,然后启动openharmony。
这个task会执行OHOS_SystemInitEntry函数,然后退出。OHOS_SystemInitEntry函数主要是做环境初始化,和运行另外一个函数:ohos_app_main。
ohos_app_main会执行另外一个函数OHOS_APP_FUNC_ENTRY ,然后不停的喂看门狗。
OHOS_APP_FUNC_ENTRY ,在这里被重新定义成OHOS_APP_RUN。OHOS_APP_RUN接受一个参数,是个函数。
简单的讲,esp的SDK启动app_main函数,app_main启动openharmony,然后初始化环境。最后执行OHOS_APP_RUN。
所以,我们开发esp32的应用时,可以按照cmsis的标准编写应用代码(当然,可以使用openharmony内核API),然后将顶层函数传递给OHOS_APP_RUN就可以运行起来了。
原文作者:;如有侵权,请联系管理员删除。