当前位置: 首页 > news >正文

手机如何免费做网站王烨医生

手机如何免费做网站,王烨医生,下载网上国网app,网上注册公司要多少钱移植芯片架构 芯片架构的移植是内核移植的基础#xff0c;在OpenHarmony中芯片架构移植是可选过程#xff0c;如果当前OpenHarmony已经支持对应芯片架构则不需要移植操作#xff0c;在“liteos_m/arch”目录下可看到当前已经支持的架构#xff0c;如表1#xff1a; 表1 …移植芯片架构 芯片架构的移植是内核移植的基础在OpenHarmony中芯片架构移植是可选过程如果当前OpenHarmony已经支持对应芯片架构则不需要移植操作在“liteos_m/arch”目录下可看到当前已经支持的架构如表1 表1 OpenHarmony已支持的架构 系列型号armarm9 cortex-m3 cortex-m4 cortex-m7 cortex-m33cskyv2risc-vnuclei riscv32xtensalx6 如果当前OpenHarmony尚未支持对应芯片架构则需要芯片厂商自行适配arch/include目录包含了通用的芯片架构适配所需要实现的函数。部分芯片架构代码由汇编实现而汇编代码会因编译器的不同而不同因此在具体的芯片架构下还包含使用不同编译器iar、keil、gcc等编译的架构代码。 kernel/liteos_m/arch # 不同版本路径有差异 ├── arm # arm系列 │ ├── arm9 │ ├── cortex-m3 │ ├── cortex-m33 │ │ ├── gcc # 使用gcc编译器编译的架构代码 │ │ └── iar # 使用iar编译器编译的架构代码 │ ├── cortex-m4 │ ├── cortex-m7 ├── csky # csky系列 ├── include # 包含通用的芯片架构所需要实现的函数 │ ├── los_arch.h # 定义芯片架构初始化所需要的函数 │ ├── los_atomic.h # 定义芯片架构所需要实现的原子操作函数 │ ├── los_context.h # 定义芯片架构所需要实现的任务上下文相关函数 │ ├── los_interrupt.h # 定义芯片架构所需要实现的中断和异常相关的函数 │ └── los_timer.h # 定义芯片架构所需要实现的系统时钟相关的函数 ├── risc-v # risc-v系列 │ ├── nuclei │ └── riscv32 └── xtensa # xtensa系列└── lx6移植芯片厂商SDK 编译框架搭建完成后需要将芯片厂商的SDK加入OpenHarmony编译框架从而可以编译出带SDK的烧录文件此时编译出的是不带系统的裸机工程以便OpenHarmony可以调用SDK中的接口。通过以下步骤将厂商SDK加入OpenHarmony编译框架中 将芯片厂商sdk置于device目录下合适的位置SDK的编译脚本/镜像打包脚本整合进编译框架中。 参考编译脚本“device/MyDeviceCompany/MyBoard/BUILD.gn” import(//build/lite/config/component/lite_component.gni)executable(OHOS_Image.elf) { # 生成可执行程序libs [xxx/xxx/libxxx.a, # 链接厂商闭源静态库方法一]asmflags [ # 汇编编译参数,]ldflags [-T./xxx/xxx/xxx.ld, # 链接脚本文件-Lxxx/xxx/, # 指定厂商静态库路径-lxxx, # 链接厂商闭源静态库方法二-Wl,--whole-archive,-lmodule_xxx,-Wl,--no-whole-archive,]deps [//build/lite:ohos, # 依赖OpenHarmony静态库编译完成链接OpenHarmony编译出来的静态库:sdk, # 依赖厂商源码静态库编译完成链接厂商源码生成的静态库] }copy(prebuilt) { # 准备镜像生成工具等一般把镜像生成工具拷贝到out目录sources [ ] # 复制的源文件outputs [ ] # 复制的目标文件 } static_library(sdk) {sources [ ] # 添加厂商源码编译成静态库include_dirs [ ] # 厂商源码包含头文件路径 } build_ext_component(image) { # 调用shell命令生成可烧写镜像文件 exec_path rebase_path(root_out_dir) #指定shell命令执行目录objcopy arm-none-eabi-objcopyobjdump arm-none-eabi-objdumpcommand $objcopy -O binary OHOS_Image.elf OHOS_Image.bin command sh -c $objdump -t OHOS_Image.elf | sort OHOS_Image.sym.sorted command sh -c $objdump -d OHOS_Image.elf OHOS_Image.asm deps [:prebuilt, # 无需准备镜像生成工具等可以删除此依赖:OHOS_Image.elf, # 依赖elf文件的生成] } group(MyBoard) { # MyBoard与当前路径名称一致 }图1 目标的依赖执行顺序 自定义芯片厂“target_config.h”文件。 厂商应在“device/MyDeviceCompany/MyBoard”下合适位置创建内核配置文件“target_config.h”并根据芯片的硬件资源修改参数具体参数介绍详见表2target_config.h文件主要配置项。 参考文件路径“device/hisilicon/hispark_pegasus/sdk_liteos/platform/os/Huawei_LiteOS/targets/hi3861v100/include/target_config.h” 说明 若已有的配置项不能满足需求可查看“kernel/liteos_m/kernel/include/los_config.h”其为liteos_m内核的全量配置文件。“target_config.h”文件中出现的配置将会覆盖“los_config.h”中的配置。 表2 target_config.h文件主要配置项 配置项说明参考值OS_SYS_CLOCK系统时钟。40000000ULLOSCFG_BASE_CORE_TICK_PER_SECOND操作系统节拍的时钟周期。100ULLOSCFG_BASE_CORE_TICK_HW_TIME定时器裁剪的外部配置项。YESLOSCFG_PLATFORM_HWI是否采用接管中断的方式。YESLOSCFG_BASE_CORE_TSK_LIMIT支持的最大任务个数除去空闲任务。32LOSCFG_BASE_CORE_TSK_IDLE_STACK_SIZE空闲任务的堆栈大小。0x180ULLOSCFG_BASE_CORE_TSK_DEFAULT_STACK_SIZE指定默认的任务栈大小任务栈的大小按 8 字节大小对齐。0x1000ULLOSCFG_BASE_CORE_TSK_MIN_STACK_SIZE表示任务最小需要的堆栈大小。ALIGN(0x180, 4)LOSCFG_BASE_CORE_TIMESLICE_TIMEOUT具有相同优先级任务的最长执行时间。2LOSCFG_BASE_IPC_SEM_LIMIT最大支持信号量的个数。100LOSCFG_BASE_IPC_MUX_LIMIT最大支持互斥量的个数。64LOSCFG_BASE_IPC_QUEUE_LIMIT最大支持消息队列量的个数。64LOSCFG_BASE_CORE_SWTMR_LIMIT支持的最大软件定时器数量而不是可用的软件定时器数量。80LOSCFG_BASE_MEM_NODE_SIZE_CHECK配置内存节点大小检查。NOLOSCFG_PLATFORM_EXC异常模块配置项。YESLOSCFG_USE_SYSTEM_DEFINED_INTERRUPT是否使用OS默认的中断。NO 修改内核中断。 内核提供了两种中断修改方式 使用厂商默认中断。 将“target_config.h”中的宏LOSCFG_USE_SYSTEM_DEFINED_INTERRUPT置为NO (0)但需要在xxx.s启动文件中作以下修改: PendSV_Handler厂商sdk自带中断入口函数需要替换为OpenHarmony的接口HalPendSV;SysTick_Handler厂商sdk自带时钟中断入口函数需要替换为OpenHarmony的接口OsTickHandler。 系统初始化时重定向中断。 将“target_config.h”中的宏LOSCFG_USE_SYSTEM_DEFINED_INTERRUPT和LOSCFG_PLATFORM_HWI置为YES (1)。 说明 重定向后的中断向量表g_hwiForm需要根据arch手册要求进行字节对齐通常0x200字节对齐。 添加内核子系统 添加完内核子系统后可以编译出带有系统的工程。通过以下步骤添加内核子系统 在“config.json”中添加内核子系统。 路径“vendor/MyVendorCompany/MyProduct/config.json” 修改如下 {subsystem: kernel, # 添加内核子系统components: [{ component: liteos_m, features:[] }] },开启/关闭内核特性。 轻量级系统的内核提供了一些特性此步骤将指导如何查看、开启/关闭这些特性。 内核特性liteos_m提供了包括文件系统、backtrace在内的一系列内核特性开关。 路径“kernel/liteos_m/BUILD.gn” declare_args() {enable_ohos_kernel_liteos_m_cppsupport true # cpp支持enable_ohos_kernel_liteos_m_cpup true # CPU占用率支持enable_ohos_kernel_liteos_m_exchook true # 异常处理支持enable_ohos_kernel_liteos_m_kal true # kal接口支持enable_ohos_kernel_liteos_m_fs true # 文件系统支持enable_ohos_kernel_liteos_m_backtrace true # backtrace支持 } group(kernel) { deps [components/bounds_checking_function:sec,kernel:kernel,utils:utils,]if (enable_ohos_kernel_liteos_m_cppsupport true) {deps [ components/cppsupport:cppsupport ] # 如果内核特性true则会加入相应的代码进行编译}……if (enable_ohos_kernel_liteos_m_kal true) {deps [ kal:kal ]} }特性可以选择cmsis接口或者posix接口支持。 路径“kernel/liteos_m/kal/BUILD.gn” declare_args() {enable_ohos_kernel_liteos_m_cmsis true # cmsis支持enable_ohos_kernel_liteos_m_posix true # posix支持 } static_library(kal) {sources [ kal.c ]if (enable_ohos_kernel_liteos_m_cmsis true) {deps [ cmsis/ ] # 如果cmsis enable加入cmsis目录编译}if (enable_ohos_kernel_liteos_m_posix true) {deps [ posix/ ] # 如果posix enable加入posix目录编译} }特性可以选择fatfs支持。 路径“kernel/liteos_m/components/fs/BUILD.gn” declare_args() {enable_ohos_kernel_liteos_m_fatfs true # fatfs支持 } group(fs) {deps []if (enable_ohos_kernel_liteos_m_fatfs true) {deps [ fatfs:fatfs ] } }说明 内核特性开关可以在具体产品模组中配置。例如关闭fs和cppsupport特性 “vendor/MyVendorCompany/MyProduct/config.json” subsystem: kernel, components: [{ component: liteos_m, features:[enable_ohos_kernel_liteos_m_fs false,enable_ohos_kernel_liteos_m_cppsupport false] } ] }以上就是本篇文章所带来的鸿蒙开发中一小部分技术讲解想要学习完整的鸿蒙全栈技术。可以在结尾找我可全部拿到 下面是鸿蒙的完整学习路线展示如下 除此之外根据这个学习鸿蒙全栈学习路线也附带一整套完整的学习【文档视频】内容包含如下 内容包含了ArkTS、ArkUI、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、鸿蒙南向开发、鸿蒙项目实战等技术知识点。帮助大家在学习鸿蒙路上快速成长 鸿蒙【北向应用开发南向系统层开发】文档 鸿蒙【基础实战项目】视频 鸿蒙面经 为了避免大家在学习过程中产生更多的时间成本对比我把以上内容全部放在了↓↓↓想要的可以自拿喔谢谢大家观看
http://www.dnsts.com.cn/news/12448.html

相关文章:

  • 照明网站建设wordpress建站好么
  • 找别人做的网站怎样修改wordpress 插件推荐
  • 四川鸿业建设集团公司网站网站在线访谈栏目建设
  • 利用网盘 建网站个人电脑可以做网站服务器
  • 制作商城网站开发自建网站的好处
  • seo百度站长工具查询百度网址收录提交入口
  • 建设的网站百度搜不到哪个网站有手工活做
  • 通州富阳网站建设做网站如何排版
  • 网站建设如何商谈公司网站设计的企业
  • 西丽网站的建设网站建设需要哪些必备文件
  • 岱山建设网站南京网站建设 ww
  • 企业自建网站缺东莞做网页
  • 灌云县建设局网站威县做网站哪里便宜
  • 中国空间站拒绝10国名单教育模板网站建设
  • net网站是国际域名吗深圳正规网站制作哪里好
  • 网站设计网站建站做网站商标分类
  • 自己做网站需要什么材料wordpress api下载文件
  • 网站建设怎么让网站收录wordpress固定连接只能访问首页
  • 性价比最高网站建设电话网站建设与管理题
  • 太原seo网站优化怎样在网站图片上做店铺广告
  • wordpress建立好的网站便宜做外贸网站
  • 莆田哪里有网站开发网站如何做响应
  • 建设e购物网站wordpress图片模板下载
  • 什么网站做软文长沙有什么好玩的游乐场
  • wordpress 会员重庆seo整站优化系统
  • 旅游景点网站设计怎样做国外能看到的网站
  • 新站加快网站收录网站的制作步骤
  • 做网站前端ps很重要吗应用公园制作app下载
  • 网站怎样做优化调整内蒙古两学一做网站
  • 网站开发团队人员建设通和天眼查网站