【SemiDrive源码分析】【X9芯片启动流程】15 - freertos_safetyos目录 R5 SafetyOS 之 tcpip_init() 代码流程分析

      最后更新:2022-05-24 10:39:47 手机定位技术交流文章

      对 SemiDrive 目录 R5 安全操作系统中的 tcpip_init 程序的分析

      • 。 tcpip_ init () 加载 tcpip 相关模块, 创建邮件框邮件, 并启动 tcpip_ tread 线索 。
        • 1 lwip_init () 初始化回网卡, 生成随机端口, 配置加班费和处理程序 。
        • 一.2 tcpip_thread () 线索函数, 恒定 tcpip_mbox 电子邮件查询, 信箱事件处理
        • tcpip_thread_ handle_msg () 处理 tcpip_mbox 电子邮件消息 。

      Ben SemiDrive来源分析丛书的“Yocto来源分析”摘要如下:

      1. 01 - Yocto/基准目录来源分析(计算环境初始化程序)[SemiDrive来源分析]
      2. 02 - Yocto/Met-opened目录来源分析[SemiDrive来源分析]
      3. 03 - Yocto/Meta-Semidrive目录和Yocto核心汇编进程(更新)
      4. - Yocto/Met-Semidrive目录和Yocto Kernel汇编过程分析(达曼)
      5. [SemiDrive源分析] 05 - 确定Yocto Kernel汇编中每个任务源代码的位置。
      6. 《 06 - 由 Kernel 制作的图像。 我不知道, bin, image_nobt. I don't know, dtb, mineules, dtb, dtdules. tgz 》
      7. 不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,不,
      8. [SemiDrive来源分析] 08 - X9平台水平目录来源分析介绍
      9. 09 - X9 平台系统启动进程分析[SemiDrive来源分析]
      10. 10 - BareMetal_Shit 名录R5 DIL.Bin 主导方案源分析[SemiDrive 源分析]
      11. 11 - 自由安全目录Cortex-R5 DIL2.Bin 主导方案源分析[SemiDrive源分析]
      12. 《 12 - Cortex- R5 DIL2.sdm_display_niit of bin 显示初始化源分析 》
      13. 13 - GPIO配置技术[SemiDrive来源分析]
      14. [SemiDrive来源分析] 14 - Cortex-R5安全OS/RTOS工作流量分析自由安全目录
      15. - Freetos_安全目录R5安全OS tcpip_init () 代码过程分析[SemiDrive源分析]
      16. 16 - 音频模块框架和硬件理由分析[SemiDrive源分析][X9音频模块分析]
      17. 《 17 - R5安全OS LK_INIT_development_PLATFORM 阶段程序分析(上) 》
      18. 18 - R5 SecurityOS LK_INIT_development_PLATFORM 阶段过程分析(下)[半驱动源分析]
      19. [半发展源分析][X9芯片启动程] 19 -- -- 研究诸如邮箱、气专委和其他等核通信技术。
      20. “分析LK_INIT_TARGET 阶段编码程序”
      21. R5安全OS.Apps 应用启动代码程序分析21-自由-安全目录

      前文,我们分析Cortex-R5 SafetyOS系统启动程序实施分析分析LK_INIT_LEVEL_THREADING阶段的任务,
      目前,重点主要放在执行上。boot_sec()lwip_init_hook()两个函数,其中:

      1. boot_sec()主要是Safety R5 CPU触发Secure R5 CPU重启,加载并运行Ssytem镜像。
      2. lwip_init_hook()主要是初始化并启动lwip这个小型开源的TCP/IP协议栈功能。

      lwip是一个小型开源的TCP/IP议定书的源代码,其主要目标是保存它。TCP根据协议的主要功能减少配对数目RAM的占用,
      不论有没有操作系统,你都可以运行。只有十几个。KBRAM40K左右的ROM就可以运行。
      它由宏控SUPPORT_LWIP来控制是否编译。

      lwip_init_hook()中主要是对tcpip_init()函数的封装,如下:

      那本文来分析下tcpip_init()这个小型TCP/IP建立公开来源伙伴关系的进程。



      。 tcpip_ init () 加载 tcpip 相关模块, 创建邮件框邮件, 并启动 tcpip_ tread 线索 。

      主要工作如下:

      1. 随机创建循环卡初始化Port、随时间调整函数和进程函数
      2. 初始化tcpip mailbox邮箱
      3. 创建tcpip_thread线程,不停的查询tcpip_mbox邮箱并处理邮箱事件

      1 lwip_init () 初始化回网卡, 生成随机端口, 配置加班费和处理程序 。

      主要工作如下:

      1. 初始化并启动127.0.0.1回环网卡
      2. 4915265535随机生成一个UDP Port口
      3. 4915265535随机生成一个TCP Port口
      4. 时间和超时功能可以根据情况配置。

      一.2 tcpip_thread () 线索函数, 恒定 tcpip_mbox 电子邮件查询, 信箱事件处理

      主要工作如下:


      tcpip_thread_ handle_msg () 处理 tcpip_mbox 电子邮件消息 。

      例如,考虑以下各点:
      如前所述,Msg结构有自己的运作功能。

      我现在不谈细节,现在不用了,我理解了tcpip_init()大概干了啥就够了,
      完成之后,我们会彻底地通过它。

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/26066.html

          热门文章

          文章分类