设为首页 加入收藏

TOP

关于esp32的系统初始化启动过程及设计学习方法(二)
2017-10-11 15:40:36 】 浏览:10320
Tags:关于 esp32 系统 初始 启动 过程 设计 学习方法
hdogs
REG_CLR_BIT(TIMG_WDTCONFIG0_REG(0), TIMG_WDT_FLASHBOOT_MOD_EN_S); REG_CLR_BIT(RTC_CNTL_WDTCONFIG0_REG, RTC_CNTL_WDT_FLASHBOOT_MOD_EN); #if !CONFIG_FREERTOS_UNICORE // Wait for FreeRTOS initialization to finish on APP CPU, before replacing its startup stack while (port_xSchedulerRunning[1] == 0) { ; } #endif //Enable allocation in region where the startup stacks were located. heap_caps_enable_nonos_stack_heaps(); app_main(); vTaskDelete(NULL); }

可以看到,其主要任务是关闭看门狗,并调用app_main函数(即用户二次开发时的主函数入口),因为main_task中没有循环,在app_main执行后,vTaskDelet函数就将这个任务删除了。

 

  下面说一下,关于esp32的开发,在开发这种Wi-Fi cpu时 。因为非arm芯片,官方也没有提供详细的寄存器配置文档,虽然寄存器和引脚功能都在esp-idf中以英文注释给出来了,但是esp开头的api基本都是以链接库方式提供的,你是看不到它的实现方式,所以比较合理快捷的开发方式,由于官方给出的esp-idf中自带FreeRTOS操作系统,且官方文档中给出来相关函数的API手册中,已经将相关应用需要用到的API函数接口给出的比较详细了,且esp-idf中对于相关的应用给出了大量的示例(esp-idf/examples),所以对于esp32学习来说,我觉得比较好的学习方法是:

   对于没有嵌入式操作系统基础的人来说,最好是先学习下FreeRTOS的操作系统,重点学习相关队列及任务调度部分的应用,如果有过操作系统的学习和应用,但是使用的并不是FreeRTOS而是ucos之类的操作系统,那么建议看下FreeRTOS的API手册就可以开始进行开发了。对于esp32部分,这里建议学习下官方提供的例程,学习自己需要用到功能部分的API的调用和使用方法,并以此学习相关功能的应用方法,(这一部分将是我后面文章的重点部分)最终完成产品的相关设计。

首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇C后端设计开发 - 第4章-武技-常见.. 下一篇C后端设计开发 - 第7章-真气-遗失..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目