zoukankan      html  css  js  c++  java
  • neptune操作系统代码启动流程

    neptune操作系统代码启动流程

    https://mp.weixin.qq.com/s/KhHdEUifmYFn13a5FvlMxw

    neptune开发板启动运行串口打印的原始log如下:
    [09:44:52.097]收←◆entering kernel init…

    [09:44:52.176]收←◆Begin to run the OHOS SYSTEM
    start test task …Begin to run the user main

    user task:20:35:09:May 14 2021
    NVS operation failed, can’t retrieve the bonding info
    hiview init success.00 00:00:00 0 132 D 0/HIVIEW: log limit init success.
    00 00:00:00 0 132 I 1/SAMGR: Bootstrap core services(count:3).
    00 00:00:00 0 132 I 1/SAMGR: Init service:0x817cd34 TaskPool:0x2003a6a4
    00 00:00:00 0 132 I 1/SAMGR: Init service:0x817cf1b TaskPool:0x2003a6bc
    00 00:00:00 0 132 I 1/SAMGR: Init service:0x817cf25 TaskPool:0x2003a6d4
    00 00:00:00 0 84 I 1/SAMGR: Init service 0x817cf25 <time: 28ms> success!
    00 00:00:00 0 252 I 1/SAMGR: Init service 0x817cf1b <time: 34ms> success!
    00 00:00:00 0 164 I 1/SAMGR: Init service 0x817cd34 <time: 36ms> success!
    00 00:00:00 0 164 I 1/SAMGR: Initialized all core system services!
    00 00:00:00 0 252 I 1/SAMGR: Bootstrap system and application services(count:0).
    00 00:00:00 0 252 I 1/SAMGR: Initialized all system and application services!
    00 00:00:00 0 252 I 1/SAMGR: Bootstrap dynamic registered services(count:0).
    通过查看wm800芯片文档,neptune中包括rom固件,板子上电后从rom开始执行,然后过渡到flash中得boot,然后在从boot跳转到os。

    我们把生成的img文件写到flash中后,运行打印如下:
    [09:45:05.249]收←◆Begin to run the OHOS SYSTEM
    GpioIsr entry
    Begin to run the user main

    user task:11:17:57:Sep 8 2021
    ble_npl_eventq_init:bigger queue 64

    [09:45:05.285]收←◆ LED_OFF!
    00 00:00:00 0 92 D 0/HIVIEW: hilog init success.
    00 00:00:00 0 92 D 0/HIVIEW: log limit init success.
    00 00:00:00 0 92 I 1/SAMGR: Bootstrap core services(count:3).
    00 00:00:00 0 92 I 1/SAMGR: Init service:0x81775a3 TaskPool:0x200121f4
    00 00:00:00 0 92 I 1/SAMGR: Init service:0x81775c5 TaskPool:0x20012864
    00 00:00:00 0 92 I 1/SAMGR: Init service:0x8177739 TaskPool:0x20012a24
    00 00:00:00 0 244 I 1/SAMGR: Init service 0x81775c5 <time: 26ms> success!
    00 00:00:00 0 160 I 1/SAMGR: Init service 0x81775a3 <time: 36ms> success!
    00 00:00:00 0 72 D 0/HIVIEW: hiview init success.
    00 00:00:00 0 72 I 1/SAMGR: Init service 0x8177739 <time: 36ms> success!
    00 00:00:00 0 72 I 1/SAMGR: Initialized all core system services!
    00 00:00:00 0 160 I 1/SAMGR: Bootstrap system and application services(count:0).
    00 00:00:00 0 160 I 1/SAMGR: Initialized all system and application services!
    00 00:00:00 0 160 I 1/SAMGR: Bootstrap dynamic registered services(count:0).

    [09:45:06.286]收←◆ LED_OFF!
    代码工程和开发板初始的程序串口输出有点不一样,我们既然已经烧录了新代码,就按我们新代码分析启动吧。
    最先运行的代码是startup.S,这是个汇编代码,是和处理器紧密相关的代码,其中一个跳转语句跳转到了c程序的main函数。

    欢迎讨论,相互学习。 txwtech@163.com
  • 相关阅读:
    选择器的用处
    全栈工程师基础知识与笔记
    9.13日笔记
    9.12笔记
    9.11Css
    学习笔记
    9.10HTLM
    redis和memcached的区别(总结)
    OO第四次博客作业
    OO第三次博客作业
  • 原文地址:https://www.cnblogs.com/txwtech/p/15246580.html
Copyright © 2011-2022 走看看