wap网站cms恋月wordpress

news/2025/10/8 5:12:17/文章来源:
wap网站cms,恋月wordpress,wordpress 页面 父级,郑州市科协网站开源鸿蒙轻量系统源码分析 作者将狼才鲸日期2024-03-28 一、前言 之前单独的LiteOS是通过Makefile编译的#xff0c;当前的开源鸿蒙LiteOS-M和LiteOS-A是通过gn和ninja编译的。 Gitee官方只介绍了LiteOS-M的gn ninja编译的流程#xff0c;针对M3使用Keil编译的流程可能要参…开源鸿蒙轻量系统源码分析 作者将狼才鲸日期2024-03-28 一、前言 之前单独的LiteOS是通过Makefile编译的当前的开源鸿蒙LiteOS-M和LiteOS-A是通过gn和ninja编译的。 Gitee官方只介绍了LiteOS-M的gn ninja编译的流程针对M3使用Keil编译的流程可能要参考社区代码 harmonyos_next / stm32f103_simulator_keilOpenHarmony / kernel_liteos_m使用Keil编译ARM Cortex-M3时只需要kernel_liteos_m仓库和Keil工程仓库不需要全量的OpenHarmony代码 由此可知开源鸿蒙轻量系统只是简单的由LiteOS-M内核 一些芯片厂商的驱动组成 LiteOS-M 编码规范 OpenHarmony轻内核编码规范OpenHarmony C语言编程规范 开发板移植流程 轻量系统STM32F407芯片移植案例 确定主频、选定默认打印输出的串口、printf标准输入输出重定向到默认串口、指定内存范围给内核、提供定时器给内核 移植芯片内核架构的流程LiteOS-M内核BUILD.gn编写指南 二、源码分析 源码下载OpenHarmony / kernel_liteos_m 代码总量只有8M代码量和uC/OS这类操作系统类似因为代码量不多因此一个人也是能分析完的uC/OS虽然是开源、个人免费但是商用是要收费的所以ARM Cortex-M之类的芯片使用LiteOS-M或者RT-Thread这类操作系统还是蛮划算的需要技术支持的话也可以找相关公司进行付费咨询。代码结构如下 jimDESKTOP-SVP3BEM MINGW64 /d/1_git/openHarmony/kernel/liteos_m (master) $ tree . . |-- BUILD.gn /* 老版本的LiteOS使用Makefile编译新版本还可以用gn ninja */ |-- Kconfig |-- Makefile |-- arch /* 硬件相关的代码按内核IP公司 - IP系列进行区分 */ | |-- BUILD.gn | |-- Kconfig | |-- arm | | |-- BUILD.gn | | |-- Kconfig | | |-- arm9 | | | ....... | | |-- common /* 相同芯片内核IP公司通用的函数和接口 */ | | | |-- BUILD.gn | | | |-- los_common_interrupt.c | | | -- los_common_interrupt.h | | |-- cortex-m3 /* M3只支持Keil编译之后的版本如M4、Cortex-A则是在Linux gcc下编译 */ | | | -- keil /* 操作系统底层相关的支持也是操作系统移植的重点 */ | | | |-- los_arch_atomic.h | | | |-- los_arch_context.h | | | |-- los_arch_interrupt.h | | | |-- los_arch_timer.h | | | |-- los_atomic.S | | | |-- los_context.c | | | |-- los_dispatch.S | | | |-- los_exc.S | | | |-- los_interrupt.c | | | |-- los_startup.s /* 芯片上电后执行的第二行代码芯片上电后的第一行代码一般都融合进了编译器中由芯片原厂实现写代码时看不到 */ | | | -- los_timer.c /* 需要给操作系统的定时器接口用于时间片轮转 */ | | |-- cortex-m33 | | | ...... | | |-- cortex-m4 | | | ....... | | |-- cortex-m55 | | | ....... | | |-- cortex-m7 | | | ....... | |-- csky | | ....... | |-- include /* 所有芯片对操作系统暴露出的统一接口 */ | | |-- los_arch.h | | |-- los_atomic.h | | |-- los_context.h | | |-- los_interrupt.h | | |-- los_mpu.h | | -- los_timer.h | |-- risc-v | | ...... | -- xtensa | ...... | /* arch结构和Linux源码类似一组类似的模块会暴露出统一的接口放在.h中而.c的实现会分散到各处的不同模块这和普通裸机代码中.c和.h在一起的结构不一样 */ |-- bundle.json |-- components /* 支持的插件可选 */ | |-- BUILD.gn | |-- backtrace | | |-- BUILD.gn | | |-- los_backtrace.c | | -- los_backtrace.h | |-- cppsupport /* 是否支持C */ | | |-- BUILD.gn | | |-- los_cppsupport.c | | -- los_cppsupport.h | |-- cpup | | |-- BUILD.gn | | |-- los_cpup.c | | -- los_cpup.h | |-- debugtools | | |-- BUILD.gn | | |-- los_debugtools.h | | |-- los_hwidump.c | | |-- los_schedtrace.c | | -- los_stackdump.c | |-- dynlink | | |-- BUILD.gn | | |-- los_dynlink.c | | |-- los_dynlink.h | | -- script | | -- so_parse | |-- exchook | | |-- BUILD.gn | | |-- los_exc_info.c | | |-- los_exc_info.h | | |-- los_exchook.c | | -- los_exchook.h | |-- fs /* 操作系统的四大模块之一文件系统 */ | | |-- BUILD.gn | | |-- Kconfig | | |-- fatfs /* FAT32最常用可以用于U盘、Flash、网盘等 */ | | | |-- BUILD.gn | | | |-- Kconfig | | | |-- fatfs.c | | | |-- fatfs.h | | | -- fatfs_conf.h | | |-- littlefs | | | ...... | | -- vfs | | ...... | |-- iar_tls | | |-- los_iar_tls.c | | -- los_iar_tls.h | |-- lmk | | |-- BUILD.gn | | |-- los_lmk.c | | -- los_lmk.h | |-- lms | | |-- BUILD.gn | | |-- Kconfig | | |-- lms_libc.c | | |-- los_lms.c | | |-- los_lms.h | | -- los_lms_pri.h | |-- net /* 操作系统的第五大功能通信/网络通信 */ | | |-- BUILD.gn | | |-- lwip-2.1 /* 像网络、U盘之类的大型通信类驱动代码会很多有时甚至会比操作系统本身的代码量还多 */ | | | |-- BUILD.gn | | | |-- enhancement | | | | -- src | | | | |-- fixme.c | | | | -- lwip_ifaddrs.c | | | |-- lwip_porting.gni | | | -- porting | | | |-- include | | | | |-- arch | | | | | |-- cc.h | | | | | |-- perf.h | | | | | -- sys_arch.h | | | | |-- lwip | | | | | |-- api_shell.h | | | | | |-- dhcp.h | | | | | |-- inet.h | | | | | |-- lwipopts.h | | | | | |-- netdb.h | | | | | |-- netif.h | | | | | |-- netifapi.h | | | | | -- sockets.h | | | | -- lwipopts.h | | | -- src | | | |-- api_shell.c | | | |-- driverif.c | | | |-- lwip_init.c | | | |-- netdb_porting.c | | | |-- sockets_porting.c | | | -- sys_arch.c | | -- test | | ...... | |-- power /* 低功耗模块 */ | | |-- BUILD.gn | | |-- los_pm.c | | -- los_pm.h | |-- security /* 权限管理模块 */ | | |-- BUILD.gn | | |-- box | | | |-- BUILD.gn | | | |-- los_box.c | | | -- los_box.h | | |-- syscall | | | |-- BUILD.gn | | | |-- los_syscall.c | | | |-- los_syscall.h | | | |-- pthread_syscall.c | | | -- syscall_lookup.h | | -- userlib | | -- BUILD.gn | |-- shell /* 命令行 */ | | |-- BUILD.gn | | |-- Kconfig | | |-- include | | | |-- shcmd.h | | | |-- shcmdparse.h | | | |-- shell.h | | | |-- shmsg.h | | | -- show.h | | -- src | | |-- base | | | |-- shcmd.c | | | |-- shcmdparse.c | | | |-- shmsg.c | | | -- show.c | | -- cmds | | |-- date_shell.c | | |-- fullpath.c | | |-- mempt_shellcmd.c | | |-- shell_shellcmd.c | | |-- task_shellcmd.c | | -- vfs_shellcmd.c | |-- signal | | |-- BUILD.gn | | |-- Kconfig | | |-- los_signal.c | | -- los_signal.h | -- trace /* 调试程序用 */ | ...... |-- config.gni |-- config_iccarm.gni |-- drivers /* 操作系统四大模块之二设备管理 */ | -- Kconfig | /* 具体的外设驱动由芯片原厂在上层文件夹的device和vendor文件夹中提供 */ |-- figures /* 几张介绍本操作系统内核结构的图片 */ | ...... |-- kal | |-- BUILD.gn | |-- Kconfig | |-- cmsis /* ARM格式的中间件统一接口 */ | | |-- BUILD.gn | | |-- Kconfig | | |-- cmsis_liteos2.c | | |-- cmsis_os.h | | |-- cmsis_os2.h | | |-- hos_cmsis_adp.h | | -- kal.h | |-- libc /* C语言标准库其实现一般都是在编译器中由芯片原厂完成所以这里只有头文件 */ | | |-- BUILD.gn | | |-- Kconfig | | |-- iccarm | | | -- BUILD.gn | | |-- musl | | | -- BUILD.gn | | -- newlib | | |-- BUILD.gn | | -- porting | | |-- include | | | |-- arpa | | | | -- inet.h | | | |-- byteswap.h | | | |-- dirent.h | | | |-- endian.h | | | |-- ifaddrs.h | | | |-- limits.h | | | |-- malloc.h | | | |-- mqueue.h | | | |-- net | | | | |-- ethernet.h | | | | |-- if.h | | | | -- if_arp.h | | | |-- netdb.h | | | |-- netinet | | | | |-- if_ether.h | | | | |-- in.h | | | | |-- ip.h | | | | -- tcp.h | | | |-- poll.h | | | |-- semaphore.h | | | |-- sys | | | | |-- _pthreadtypes.h | | | | |-- fcntl.h | | | | |-- features.h | | | | |-- ioctl.h | | | | |-- mount.h | | | | |-- prctl.h | | | | |-- sched.h | | | | |-- select.h | | | | |-- socket.h | | | | |-- statfs.h | | | | |-- uio.h | | | | -- un.h | | | -- time.h | | -- src | | |-- hook_adapt.c | | -- network | | |-- htonl.c | | |-- htons.c | | |-- ntohl.c | | -- ntohs.c | |-- libsec | | -- BUILD.gn | -- posix /* 操作系统给应用暴露出来的通用接口 */ | |-- BUILD.gn | |-- Kconfig | |-- include | | |-- libc.h | | |-- pipe_impl.h | | |-- poll_impl.h | | -- rtc_time_hook.h | -- src | |-- errno.c | |-- libc.c | |-- libc_config.h | |-- malloc.c /* 操作系统的四大模块之三内存管理 */ | |-- map_error.c | |-- map_error.h | |-- mqueue.c | |-- mqueue_impl.h | |-- pipe.c | |-- poll.c | |-- pthread.c | |-- pthread_attr.c | |-- pthread_cond.c | |-- pthread_mutex.c | |-- semaphore.c | |-- signal.c | |-- time.c | -- time_internal.h |-- kernel /* 操作系统的四大模块之四进程管理 */ | |-- BUILD.gn | |-- include | | |-- los_config.h | | |-- los_event.h | | |-- los_membox.h | | |-- los_memory.h | | |-- los_mux.h | | |-- los_queue.h | | |-- los_sched.h | | |-- los_sem.h | | |-- los_sortlink.h | | |-- los_swtmr.h | | |-- los_task.h | | -- los_tick.h | -- src | |-- los_event.c | |-- los_init.c | |-- los_mux.c | |-- los_queue.c | |-- los_sched.c | |-- los_sem.c | |-- los_sortlink.c | |-- los_swtmr.c | |-- los_task.c | |-- los_tick.c | -- mm | |-- los_membox.c | -- los_memory.c |-- liteos.gni |-- testsuites /* 移植系统后进行自测用的不用关心 */ | ...... |-- tools | -- mem_analysis.py -- utils|-- BUILD.gn|-- internal| |-- los_hook_types.h| -- los_hook_types_parse.h|-- los_compiler.h|-- los_debug.c|-- los_debug.h /* 串口调试输出的级别 */|-- los_error.c|-- los_error.h /* 所有模块都会用的要返回的错误码 */|-- los_hook.c|-- los_hook.h|-- los_list.h /* 链表队列、模块缓存的基础 */-- los_reg.h198 directories, 1571 files基础的操作系统内核代码里没有太多可借鉴的软件结构它们都是针对某一项功能而实现一项功能通用的东西较少接下来我会从操作系统移植的角度稍微分析一下。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/931109.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站建设项目单子来源网页设计与制作教程psd格式

minio客户端基本操作 桶 创建桶 如果要创建新的桶 输入名称,点击创建即可,默认权限就行 删除桶 点击要删除的桶 点击删除 修改桶 如果哪天需要修改桶的权限或者其他信息,还是先点击这个桶进入详情 然后点击要修改的属性,选择…

品牌网站建设价格天天快递qq代挂主站网站建设

对象池是一种设计模式,用于管理和重用对象,以提高性能和资源利用率。对象池的概念在许多应用程序中都有广泛应用,特别是在需要频繁创建和销毁对象的情况下,例如数据库连接、线程、HTTP连接等 对象池通过预先创建一组对象并将它们存…

wap建站模板网站qq访客 原理

与Cookie不同,会话数据存储在服务器上。会话是客户端登录到服务器并注销的时间间隔。需要在此会话中进行的数据存储在服务器上的临时目录中。 与每个客户端的会话分配一个会话ID。会话数据存储在cookie顶部,服务器以加密方式签名。对于这种加密&#xf…

电子商务网站建设是学什么酒泉地网站推广

rk3568 适配以太网——RTL8211 千兆以太网(Gigabit Ethernet)的传输速度为1 Gbps(千兆位每秒),而百兆以太网(Fast Ethernet)的传输速度为100 Mbps(百兆位每秒)。因此,在相同的网络条件下,千兆网可以提供更高的数据传输速率,比百兆网快10倍。千兆网的更高传输速度使…

有一个专门做演讲的网站会讯通2022官方下载

1.备份和还原vSphere Distributed Switch配置 1.1导出 vSphere Distributed Switch 配置 可以将 vSphere Distributed Switch 和分布式端口组配置导出到某一文件。该文件保留有效的网络配置,使这些配置能够传输至其他环境。 步骤: 1) 在 vSphere Web Cli…

佛山网站建设公司88电子商务网站建设运营

文章目录 一、简介二、基本概念三、装饰模式的结构和实现类图解析:装饰器的实现方式继承实现:组合实现:继承和组合对比 四、装饰模式的应用场景五、与其他模式的关系六、总结 一、简介 装饰模式是一种结构型设计模式,它允许动态地…

用dw做的网站怎么上线iis7部署网站

声明&#xff1a;以下这函数&#xff0c;使用场景再lambda表达式中使用 std::weak_ptr<websockets_session> weak_self() { return std::weak_ptr<websockets_session>(shared_from_this()); }

网站开发培训深圳网站设计包括哪些内容

背景 性能诊断是软件工程师在日常工作中需要经常面对和解决的问题&#xff0c;在用户体验至上的今天&#xff0c;解决好应用的性能问题能带来非常大的收益。Java 作为最流行的编程语言之一&#xff0c;其应用性能诊断一直受到业界广泛关注。可能造成 Java 应用出现性能问题的因…

北京移动端网站设计二建证书查询官网入口

编写equals()和hashCode()方法需要遵循以下原则&#xff1a; 1. equals()方法&#xff1a; - 使用instanceof关键字检查传入的对象是否为当前类的实例。 - 检查传入的对象是否为null。 - 检查传入的对象的类型是否与当前对象的类型相同。 - 比较对象的属性是否相等&#x…

电子商务网站建设 项目规划书网站优化种类

目录 一.虚拟机准备 二.基础环境配置&#xff08;各个节点都做&#xff09; 1.IP和hosts解析 2.防火墙和selinux 3.安装基本软件 4.配置时间同步 5.禁用swap分区 6.修改内核参数并重载 7.配置ipvs 三.docker环境&#xff08;各个节点都做&#xff09; 1.配置软件源并…

做资源网站怎么不封网架加工制造厂家

问题陈述&#xff1a; Fibonacci为1200年代的欧洲数学家&#xff0c;在他的著作中曾经提到&#xff1a;若有一只兔子每个月生一只小兔子&#xff0c;一个月后小兔子也开始生产。起始只有一只兔子&#xff0c;一个月后就有两只兔子&#xff0c;二个月后有三只兔子&#xff0c;三…

个人简介网站html代码深圳社保个人网页

三种情形&#xff1a; 1.执行SP时出错&#xff0c;如连接异常&#xff0c;数据库权限异常 2.SP代码中抛出异常 3.返回值/输出参数的值不符合约定 后两种情形需要在异常发生时记录传入SP的参数值&#xff1b;业务逻辑层需要捕获并重抛&#xff0c;以保证UI层提供给用户友好的错误…

网站建设与管理专业实训室辽宁建设工程信息网招标公呿

1、用定积分奇函数和偶函数的性质 2、用常用的基本不等式推出大小 3、用区间相同的情况下被积函数大的定积分大的定理

无锡那家网络公司做网站好深圳网站建设工作

C语言知识点第1章C语言知识点总结(二) 第八节 字符字符常量定义&#xff1a;一对单引号括起来的一个字符。如‘A’、‘a’、‘9’相应字符对应的ASCII编码值(见附录四)字符常量占用一个字节的存储单元(一个字节占8位)重点&#xff1a;表 C语言中常见的转义字符字符形式意义字符…

怎样让网站做301处理为什么访问外国网站速度慢

本文仅供学习使用&#xff0c;总结很多本现有讲述运动学或动力学书籍后的总结&#xff0c;从矢量的角度进行分析&#xff0c;方法比较传统&#xff0c;但更易理解&#xff0c;并且现有的看似抽象方法&#xff0c;两者本质上并无不同。 2024年底本人学位论文发表后方可摘抄 若有…

白箱算力与AI元人文:一场从“求解”到“创造”的范式革命

白箱算力与AI元人文:一场从“求解”到“创造”的范式革命 我们正站在智能演进的历史断层上。一侧,是算力规模指数级增长的“黑箱”帝国,它以其惊人的效率令我们叹服,却又因其决策的不可知性让我们深感不安;另一侧…

app开发网站建设公司哪家好海阳网站制作

322. 零钱兑换 题目&#xff1a; 给一个不同数额硬币的数组和一个目标金额&#xff0c;硬币可取无限次&#xff0c;求用硬币达到总金额的最小硬币数量。&#xff08;求不同组合数/排列数&#xff0c;但是硬币数量最小&#xff09; 思路&#xff1a; 求硬币数量最小&#x…

重庆企业网站制作外包微信官方微网站吗

页面渲染的全过程输入url后&#xff0c;先拿到html文件&#xff0c;html下载完以后会开始对它进行解析html在解析的过程中&#xff0c;如果文本里有外部资源链接&#xff0c;比如css、js和img时&#xff0c;会立即启用其他线程下载这些静态资源。特殊的是当遇到js文件的时候&am…

正规网站建设的公司香精香料网

1. 独立看门狗IWDG介绍&#xff08;341.45&#xff09; 什么是看门狗&#xff1f; 在由单片机构成的微型计算机系统中&#xff0c;由于单片机的工作常常会受到来自外界电磁场的干扰&#xff0c;造成程序的跑飞&#xff0c;而陷入死循环&#xff0c;程序的正常运行被打断&#…