0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【开鸿智谷NiobeU4开发板免费试用体验】程序执行过程分析

开发板试用精选 来源:开发板试用 作者:电子发烧友论坛 2022-10-17 10:30 次阅读

本文来源电子发烧友社区,作者:李先生, 帖子地址:https://bbs.elecfans.com/jishu_2307381_1_1.html



前言

磨刀不误砍材工,为了方便后面开发,先对照着打印信息和代码,对启动过程进行分析,对程序执行过程有个大致了解。

程序入口点,内核启动

device/soc/esp/esp32/components/esp_system/port/cpu_start.c

call_start_cpu0

打印如下

I (370) cpu_start: Pro cpu up.

I (376) cpu_start: Single core mode

device/soc/esp/esp32/components/esp_system/startup.c

start_cpu0_default

打印如下

I (371) cpu_start: Pro cpu start user code

I (373) cpu_start: cpu freq: 160000000

I (378) cpu_start: Application information:

I (380) cpu_start: Project name:     spp_client_demo

I (383) cpu_start: App version:      1

I (389) cpu_start: Compile time:     Sep 23 2022 21:28:08

I (393) cpu_start: ELF file SHA256:  aa63348688c93d38...

I (394) cpu_start: ESP-IDF:          v4.3.1-dirty

device/soc/esp/esp32/components/heap/heap_caps_init.c

heap_caps_init

打印如下

I (94) heap_init: Initializing. RAM available for dynamic allocation:

I (118) heap_init: At 3FF80000 len 00002000 (8 KiB): RTCRAM

I (118) heap_init: At 3FFAFF10 len 000000F0 (0 KiB): DRAM

I (118) heap_init: At 3FFB6388 len 00001C78 (7 KiB): DRAM

I (118) heap_init: At 3FFB9A20 len 00004108 (16 KiB): DRAM

I (118) heap_init: At 3FFC5128 len 0001AED8 (107 KiB): DRAM

I (118) heap_init: At 3FFE0440 len 0001FBC0 (126 KiB): D/IRAM

I (118) heap_init: At 40078000 len 00008000 (32 KiB): IRAM

I (118) heap_init: At 400905E0 len 0000FA20 (62 KiB): IRAM

kernel/liteos_m/kernel/src/los_init.c

LOS_KernelInit

打印如下

entering kernel init...

kernel/liteos_m/kernel/src/los_sched.c

OsSchedStart

打印如下

Entering scheduler

系统初始化

deviceboardopenvalleyniobeu4liteos_mtargetsrctarget_startup.c

OHOS_SystemInitEntry ->

int err;

printf("Code Build Time:%s %sn", __DATE__, __TIME__);

before_ohos_run();

esp_err_t ret = nvs_flash_init();

if (ret == ESP_ERR_NVS_NO_FREE_PAGES || ret == ESP_ERR_NVS_NEW_VERSION_FOUND) {

    nvs_flash_erase();

    ret = nvs_flash_init();

}

DeviceWifiStart();

init_trace_system();

err = DeviceManagerStart();

if (err) {

    printf("DeviceManagerStart.ret=0x%Xn", err);

}

OHOS_SystemInit();

ohos_app_main();

return NULL;

l 先打印编译时间

l before_ohos_run调用钩子函数BEFORE_OHOS_RUN_FUNC_ENTRY

该函数由#define BEFORE_OHOS_RUN(func) void *BEFORE_OHOS_RUN_FUNC_ENTRY = (func)宏定义,实际是一个全局函数指针变量

l nvs_flash_init进行flash初始化

对应打印如下

l DeviceWifiStart

l init_trace_system 注册打印输出接口g_hilogOutputProc赋值为HilogProc_Impl

OutputLog即调用该函数打印输出

l DeviceManagerStart

l OHOS_SystemInit

l ohos_app_main调用用户代码

Code Build Time:Sep 23 2022 21:52:39

I (321) spi_flash: detected chip: generic

I (218) spi_flash: flash io: dio

I (18) wifi:wifi driver task: 6, prio:23, stack:6656, core=0

I (56) system_api: Base MAC address is not set

I (156) system_api: read default base MAC address from EFUSE

I (18) wifi:wifi firmware version: 88c8747

I (28) wifi:wifi certification version: v7.0

I (28) wifi:config NVS flash: disabled

I (28) wifi:config nano formating: disabled

I (38) wifi:Init data frame dynamic rx buffer num: 32

I (38) wifi:Init management frame dynamic rx buffer num: 32

I (48) wifi:Init management short buffer num: 32

I (48) wifi:Init dynamic tx buffer num: 32

I (48) wifi:Init static rx buffer size: 1600

I (58) wifi:Init static rx buffer num: 10

I (58) wifi:Init dynamic rx buffer num: 32

I (141) wifi_init: rx ba win: 6

I (145) wifi_init: tcpip mbox: 32

I (146) wifi_init: udp mbox: 6

I (147) wifi_init: tcp mbox: 6

I (148) wifi_init: tcp tx win: 5744

I (149) wifi_init: tcp rx win: 5744

I (150) wifi_init: tcp mss: 1440

I (157) wifi_init: WiFi IRAM OP enabled

hilog will init.

hievent will init.

hievent init success.

01-01 00:00:00.247 0 48 D 0/HIVIEW: log limit init success.

Littlefs.mount=/Openvalley addr=0x312000 size=832K OK!!!

01-01 00:00:00.257 0 48 I 1/SAMGR: Bootstrap core services(count:1).

01-01 00:00:00.263 0 48 I 1/SAMGR: Init service:0x3f401224

hiview init success.

01-01 00:00:00.269 0 112 I 1/SAMGR: Init service 0x3f401224 20ms> success!

01-01 00:00:00.277 0 112 I 1/SAMGR: Initialized all core system services!

01-01 00:00:00.283 0 112 I 1/SAMGR: Goto next boot step return code:-6

用户代码执行

用户代码中,例如

OHOS_APP_RUN(Niobeu4HelloWorld);

定义全局函数指针变量OHOS_APP_FUNC_ENTRY,并赋值。

其宏定义如下

#define OHOS_APP_RUN(func) void *OHOS_APP_FUNC_ENTRY = (func)

在如下

deviceboardopenvalleyniobeu4liteos_mtargetsrctarget_startup.c

ohos_app_main

调用OHOS_APP_FUNC_ENTRY即调用Niobeu4HelloWorld

对应打印如下

<--------------- OHOS Application Start Here --------------->

---

* [Openvalley/Niobeu4] *
* Hello world.    *

---
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 开鸿智谷
    +关注

    关注

    2

    文章

    119

    浏览量

    1130
  • NiobeU4
    +关注

    关注

    3

    文章

    31

    浏览量

    498
收藏 人收藏

    评论

    相关推荐

    有奖丨米尔 瑞芯微RK3576开发板免费试用

    米尔与瑞芯微合作发布的新品基于瑞芯微RK3576应用处理器的MYD-LR3576开发板免费试用活动来啦~~米尔提供了7块价值849元的MYD-LR3576开发板发起
    的头像 发表于 11-12 01:00 110次阅读
    有奖丨米尔 瑞芯微RK3576<b class='flag-5'>开发板</b><b class='flag-5'>免费</b><b class='flag-5'>试用</b>

    有奖试用!!RA-Eco-RA4E2-64PIN-V1.0开发板试用活动开始报名

    有奖试用!!RA-Eco-RA4E2-64PIN-V1.0开发板试用活动开始报名
    的头像 发表于 11-09 01:02 89次阅读
    有奖<b class='flag-5'>试用</b>!!RA-Eco-RA<b class='flag-5'>4</b>E2-64PIN-V1.0<b class='flag-5'>开发板</b><b class='flag-5'>试用</b>活动开始报名

    鸿用技术助力构建鸿蒙世界的基石

    10月24-26日,由湖南省工业和信息化厅、湖南湘江新区管理委员会指导,长沙市工业和信息化局、长沙信息产业园管委会、CSDN主办的长沙“1024程序员节·智能应用新生态”活动顺利举办。鸿
    的头像 发表于 10-29 08:05 144次阅读
    <b class='flag-5'>开</b><b class='flag-5'>鸿</b>智<b class='flag-5'>谷</b>用技术助力构建鸿蒙世界的基石

    点击参与米尔NXP i.MX 93开发板有奖试用

    米尔与NXP合作发布的新品基于NXPi.MX93应用处理器的MYD-LMX9X开发板免费试用活动来啦~~米尔提供了3块价值678元的MYD-LMX9X开发板发起
    的头像 发表于 06-13 08:02 458次阅读
    点击参与米尔NXP i.MX 93<b class='flag-5'>开发板</b>有奖<b class='flag-5'>试用</b>

    鸿亮相OpenHarmony开发者大会,与生态共创开源新篇章!

    5月25日,以“鸿心聚力智引未来”为主题的OpenHarmony开发者大会2024(以下简称大会)在深圳成功举办。鸿获得多项奖项及授牌
    的头像 发表于 05-26 08:30 659次阅读
    <b class='flag-5'>开</b><b class='flag-5'>鸿</b>智<b class='flag-5'>谷</b>亮相OpenHarmony<b class='flag-5'>开发</b>者大会,与生态共创开源新篇章!

    鸿荣获鸿蒙原生应用开发及培训服务商牌匾授牌

    出席现场,并获颁鸿蒙原生应用开发及培训服务商称号。图/左4鸿副总裁李传钊
    的头像 发表于 05-24 08:30 710次阅读
    <b class='flag-5'>开</b><b class='flag-5'>鸿</b>智<b class='flag-5'>谷</b>荣获鸿蒙原生应用<b class='flag-5'>开发</b>及培训服务商牌匾授牌

    鸿联合多家伙伴战略签约,加速鸿蒙生态发展!

    5月20日,鸿母公司拓维信息520产品与技术开放日暨28周年庆圆满举行,此次周年庆不仅是对公司创新突破、产品孵化和商业成果的回顾,更是携手合作伙伴共同展望未来、开启新篇章的重要时刻。
    的头像 发表于 05-23 08:30 722次阅读
    <b class='flag-5'>开</b><b class='flag-5'>鸿</b>智<b class='flag-5'>谷</b>联合多家伙伴战略签约,加速鸿蒙生态发展!

    免费!NXP i.MX 93开发板有奖试用

    米尔与NXP合作发布的新品基于NXPi.MX93应用处理器的MYD-LMX9X开发板免费试用活动来啦~~米尔提供了2块价值678
    的头像 发表于 05-23 08:01 660次阅读
    <b class='flag-5'>免费</b>!NXP i.MX 93<b class='flag-5'>开发板</b>有奖<b class='flag-5'>试用</b>

    鸿受邀出席2023年度南山区经济突出贡献企业TOP峰会

    4月19日,2023年度南山区经济突出贡献今业TOP峰会顺利召开,鸿(深圳子公司)作为南山鸿蒙产业生态的核心企业,OpenHarmony项目群A类捐赠人、鸿蒙生态服务公司首批入驻
    的头像 发表于 04-20 08:29 383次阅读
    <b class='flag-5'>开</b><b class='flag-5'>鸿</b>智<b class='flag-5'>谷</b>受邀出席2023年度南山区经济突出贡献企业TOP峰会

    拓维信息及旗下鸿同获华为HarmonyOS开发服务商认证

    近日,拓维信息及旗下鸿双双通过华为HarmonyOS开发服务商认证,成为华为“鸿蒙服务商先锋计划”认证级伙伴。秉持共同发展、共创价值的合作理念,拓维信息、
    的头像 发表于 03-29 08:13 469次阅读
    拓维信息及旗下<b class='flag-5'>开</b><b class='flag-5'>鸿</b>智<b class='flag-5'>谷</b>同获华为HarmonyOS<b class='flag-5'>开发</b>服务商认证

    鸿与CSDN达成战略合作,共建OpenHarmony人才计划

    2024年3月19日,鸿与中国专业开发者社区CSDN就共建OpenHarmony人才计划达成战略合作并举办发布仪式。
    的头像 发表于 03-20 08:29 377次阅读
    <b class='flag-5'>开</b><b class='flag-5'>鸿</b>智<b class='flag-5'>谷</b>与CSDN达成战略合作,共建OpenHarmony人才计划

    国内首批 | 鸿多名讲师获“鸿蒙原生应用开发培训讲师”资格认证

    2023年3月4日-5日,鸿蒙生态服务(深圳)有限公司(以下简称“鸿蒙生态服务公司”)组织了国内首批“鸿蒙原生应用开发培训讲师”认证,鸿
    的头像 发表于 03-16 08:29 582次阅读
    国内首批 | <b class='flag-5'>开</b><b class='flag-5'>鸿</b>智<b class='flag-5'>谷</b>多名讲师获“鸿蒙原生应用<b class='flag-5'>开发</b>培训讲师”资格认证

    鸿与数城科技达成战略合作

    12月21日,数城科技股份有限公司(以下简称数城科技)董事长杜潜一行到访湖南开鸿数字产业发展有限公司参观交流(以下简称鸿),拓维信
    的头像 发表于 12-22 08:30 1190次阅读
    <b class='flag-5'>开</b><b class='flag-5'>鸿</b>智<b class='flag-5'>谷</b>与数城科技达成战略合作

    鸿与鸿蒙生态服务公司签署合作协议

    近期,鸿与深圳鸿蒙生态服务有限公司(以下简称“鸿蒙生态服务公司”)针对合作展开交流洽谈,并共同举办合作协议签署仪式。拓维信息副总裁、鸿
    的头像 发表于 12-21 08:30 1671次阅读
    <b class='flag-5'>开</b><b class='flag-5'>鸿</b>智<b class='flag-5'>谷</b>与鸿蒙生态服务公司签署合作协议

    鸿亮相第十二届中国互联网测试开发大会

    11月25日,中国互联网测试开发大会在深圳顺利开启,大会以“软件质量保障体系和测试研发技术交流”为主要目的,旨在为行业搭建一个深入探讨和交流的桥梁和平台。鸿作为深耕OpenHar
    的头像 发表于 11-28 08:29 586次阅读
    <b class='flag-5'>开</b><b class='flag-5'>鸿</b>智<b class='flag-5'>谷</b>亮相第十二届中国互联网测试<b class='flag-5'>开发</b>大会