首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏鸿蒙开发笔记

    OpenHarmony 移植案例与原理 - HDF驱动框架-驱动配置(2

    : delete { }}编译sample1.hcs文件,在生成过程中将会删除root.foo_2节点与attr_2,最终生成配置树效果为:/* * HDF decompile hcs file 【OpenHarmony】Uboot 驱动加载流程12.OpenHarmony构建系统--GN与子系统、部件、模块详解13.ohos开机init启动流程14.鸿蒙版性能优化指南.......2、hc-gen 执行后,可以在目录~/openharmony/device/soc/bestechnic/bes2600/liteos_m/components/hdf_config下看到生成的device_info.h cd ~/openharmony/device/soc/bestechnic/bes2600/liteos_m/components/hdf_config~/openharmony/out/v200zr hc-gen -d $SourceHcbFileName小结本文介绍了HDF驱动框架配置管理的概念,介绍了HCS及其语法,并介绍了HCB及其用法,后续会介绍更多的HDF驱动框架知识。

    26320编辑于 2025-06-18
  • 来自专栏鸿蒙开发笔记

    OpenHarmony 移植案例与原理 - HDF驱动框架-驱动配置(1)

    HCS(HDF Configuration Source)是HDF驱动框架的配置描述源码,内容以Key-Value为主要形式。它实现了配置代码与驱动代码解耦,便于开发者进行配置管理。 在弱性能环境中,转换为配置树源码,驱动可直接调用C代码获取配置。 在高性能环境中,转换为HCB(HDF Configuration Binary)二进制文件,驱动可使用HDF框架提供的配置解析接口获取配置。 使用HCB模式的配置使用流程如下图,HCS经过HC-GEN编译生成HCB文件,HDF驱动框架中的HCS Parser模块会从HCB文件中重建配置树,HDF驱动模块使用HCS Parser提供的配置读取接口获取配置内容 0x2

    45020编辑于 2025-06-17
  • 来自专栏鸿蒙开发笔记

    OpenHarmony 移植案例与原理 - HDF驱动框架-OSAL

    为了提升驱动代码在不同内核子系统间的可复用能力,OpenHarmony HDF(Hardware Driver Foundation)驱动框架提供了OSAL(Operating System Abstraction OpenHarmony HDF驱动框架已经在LiteOS-M,LiteOS-A,Linux内核完成适配,可直接使用。 本文主要分析下驱动适配代码仓中的OSAL的相关接口,主要以适配LiteOS-M内核的OSAL接口为例。OSAL在HDF驱动框架中的位置,见HDF架构图。 互斥锁相关接口osal_sem.h信号量相关接口osal_spinlock.h自旋锁相关接口osal_thread.h线程相关接口osal_time.h时间相关接口osal_timer.h定时器相关接口2、 小结本文介绍了HDF驱动框架子系统中的OSAL接口,后续会介绍更多的HDF驱动框架知识。

    47610编辑于 2025-06-17
  • 来自专栏鸿蒙开发笔记

    OpenHarmony-HDF驱动框架介绍及加载过程分析

    1.HDF 驱动框架OpenHarmony 系统 HDF 驱动框架主要由驱动基础框架、驱动程序、驱动配置文件和驱动接口这四个部分组成。 2驱动程序实现驱动具体的功能,每个驱动由一个或者多个驱动程序组成,每个驱动程序都对应着一个 Driver Entry。Driver Entry 主要完成驱动的初始化和驱动接口绑定功能。 HDF框架将一类设备驱动放在同一个host里面,开发者也可以将驱动功能分层独立开发和部署,支持一个驱动多个node,HDF驱动模型如下图所示:2.HDF 驱动开发基于HDF框架进行驱动的开发主要分为两个部分 3.1 HDF_INIT宏展开驱动入口注册到HDF框架,会调用HDF_INIT函数将驱动入口地址注册到HDF框架。. 2) Device Manager 根据 Device Information 信息,解析配置文件中的 Host 列表,根据 Host 列表中的信息来实例化对应的 Host 对象。

    1.1K20编辑于 2025-06-20
  • 来自专栏鸿蒙开发笔记

    OpenHarmony驱动框架HDF中设备管理服务构建过程详解(二)

    在上篇文章《 OpenHarmony驱动框架HDF中设备管理服务构建过程详解》中,介绍了设备管理服务涉及的对象类型及其相应的接口,也初步展示了设备管理服务中的对象类型关系网。 创建DevHostServiceClnt2. 创建DevHostService3. 创建HdfDevice4. ,实际上是装载Host节点下所有设备的设备驱动,并初始化驱动,最后发布设备服务。 ()| | // (2)创建 HdfDeviceNode 对象| |-> devNode = HdfDeviceNodeNewInstance();| | // (3)关联设备节点与设备驱动等 而融入的“C/S设计模式”和“观察者设计模式”,无疑又使得阅读HDF的代码难度增加。

    29310编辑于 2025-06-20
  • 来自专栏鸿蒙开发笔记

    OpenHarmony驱动框架HDF中设备管理服务构建过程详解

    前言如下图,开源鸿蒙系统驱动框架HDF在内核中的实现,可以分为向用户层提供设备服务的管理模块(Manager),和实际管理硬件的Host模块。 文章内容简介开源鸿蒙系统驱动框架HDF内核实现部分完全使用C语言实现,也引入了面向对象编程的思想,使用C语言实现了诸如类继承、虚函数、单例类等的概念,使得HDF内核部分包含了大量的对象类型,对象类型又通过的接口形式对外提供服务 为了向读者展现开源鸿蒙系统驱动框架HDF内核实现蓝图,本文仅仅介绍介绍DevMgr过程中Manager域和Host域内的对象类型与其接口,先奠定读者对HDF内对象类型的基本认识;然后,在下一篇文章中介绍 == NULL) { HDF_LOGE("failed to attach device host, hostService is null"); return HDF_FAILURE 2.4.3 IHdfDevice 接口 Attach 简介HdfDeviceAttach()的功能是(1)将设备Node节点挂载到设备的DevNode检点链表上;(2)然后启动节点,即初始化驱动、发布设备服务等

    62121编辑于 2024-07-25
  • 来自专栏linux百科小宇宙

    Ubuntu: HDF5报错: HDF5 header version与HDF5 library不匹配

    今天在执行一个用到hdf5的python脚本时,遇到如下错误 Warning! ***HDF5 library version mismatched error*** The HDF5 header files used to compile this application version of static or shared HDF5 library. Setting it to 2 or higher will suppress the warning messages totally. Wfloat-equal -Wmissing-format-attribute -Wmissing-noreturn -Wpacked -Wdisabled-optimization -Wformat=2

    1.9K30发布于 2021-06-16
  • 来自专栏10km的专栏

    cmake 3.5:find_package(HDF5) 指定HDF5_ROOT无效问题

    通过查看FindHDF5.cmake的源码可以知道,可以通过定义HDF5_ROOT环境变量,来指定要使用的HDF5位置。 (HDF5)时cmake自做聪明的找到系统安装的版本。 @FindHDF5.cmake 然而理想很丰满,现实很骨感,当我使用HDF5_ROOT来指定HDF5安装位置时,cmake在执行find_package(HDF5)却并没有找到我编译的版本,还是找到了 /usr下安装的版本,调用代码下如: export HDF5_ROOT=$hdf5_install_folder cmake . Used only to detect HDF5 compile flags." ) 上面的代码中,通过ENV HDF5_ROOT这样的写法来引用一个环境变量,这显然是错误的。

    1.4K90发布于 2018-01-03
  • 来自专栏pydata

    install hdf5 on ubuntu

    $cd hdf5-* $sudo mk-build-deps -ir $debuild -us -uc 上述方法现在已经不适用,Google后发现,可以直接使用hdf5 二进制包,由于本机为64bit linux,下载64位下的二进制包: $wget http://www.hdfgroup.org/ftp/HDF5/releases/hdf5-1.8.9/bin :/usr/local/lib:$HOME/hdf5-1.8.9-linux-x86_64-shared/lib $export HDF5_DIR=$HOME/hdf5-1.8.9-linux-x86 _64-shared $source .bashrc 安装 blosc (可选) 安装 lzo2-2 lzo2-dev sudo apt-get install lzo2-2 lzo2- dev 至此HDF5可用

    2.8K10发布于 2018-08-02
  • 来自专栏疯狂学习GIS

    HDF4与HDF5文件的打开方式:HDFView软件

    HDF5(Hierarchical Data Format 5)是一种用于存储和管理大量科学数据的文件格式,其由HDF Group开发和维护,广泛应用于科学计算、工程、金融和医学等领域。 谈及HDF5图像数据在Windows中的打开方式,主要包括基于HDF Group开发的HDFView软件来打开,以及用C++、Python来打开等2种方式。    但是,后来发现由于szip这个压缩模块不再受到hdf5等库的支持(我看网上说好像是因为这个库不再是非盈利的了还是怎么),导致那些用到szip压缩的HDF5图像(比如高分系列遥感影像数据的.h5文件),就没办法在 Windows中通过Python的h5py、gdal等方便地打开了(Linux下C++ 的hdf5库我试了,还是可以正常打开的,但是Windows中C++ 的hdf5库是否能打开我还没试过)。 同时,该软件也可以打开HDF4格式(也就是.hdf)的文件。   这里就介绍一下HDFView软件的下载、安装方法。   

    4.3K10编辑于 2024-10-10
  • 来自专栏魔王卷子的专栏

    Elasticsearch(2)PHP驱动

    ZQZ38Da" ["cluster_name"]=> string(13) "elasticsearch" ["cluster_uuid"]=> string(22) "FuPCyv2ZSimGYxAo_nLvpw lucene_version"]=> string(5) "6.3.0" } ["tagline"]=> string(20) "You Know, for Search" } 这样就表示我们的驱动已经安装并且连接完成了

    59610发布于 2019-05-28
  • 来自专栏一个有趣的灵魂W

    GDAL读取MAIAC的HDF文件(熟肉)

    Implementationof Atmospheric Correction algorithm (多角度大气校正算法),主要生产的是气溶胶光学厚度(AOD)产品,在MODIS数据库中的序列号是MCD19A2, MAIAC产品在NASA官网中以HDF(Hierarchical Data Format)存储的格式为主。 1、注册-登录 2、搜索选择数据 3、下载 于是我得到了一个HDF(其实是一堆)数据: 这里有几个注意的: A2017365代表数据的时间,2017是年份,365代表第365天的数据。 首先,导入库: import gdal 紧接着,重头戏,开始读取: hdf=r'C:\pytemp\Thesis\aodrepair\maiac\hdf\MCD19A2.A2017365.h21v03.006.2018119214031 .hdf' ds=gdal.Open(hdf) sub=ds.GetSubDatasets() 可以发现,HDF文件中包含了13个层。

    1.7K21发布于 2020-09-15
  • 来自专栏MeteoAI

    如何使用Python处理HDF格式数据

    HDF也是一种自描述格式文件,主要用于存储和分发科学数据。气象领域中卫星数据经常使用此格式,比如MODIS,OMI,LIS/OTD等卫星产品。对HDF格式细节感兴趣的可以Google了解一下。 这一次呢还是以Python为主,来介绍如何处理HDF格式数据。 Python中有不少库都可以用来处理HDF格式数据,比如h5py可以处理HDF5格式(pandas中 read_hdf 函数),pyhdf可以用来处理HDF4格式。 此外,gdal也可以处理HDF(NetCDF,GRIB等)格式数据。 某月全球闪电密度分布 上述示例基于pyhdf进行HDF4格式数据处理和可视化,HDF4文件中包含的变量和属性获取方式见文末的Notebook,其中给出了更详细的示例。

    10.2K11发布于 2019-07-24
  • 来自专栏云计算linux

    Struts2 Property驱动和Model驱动

    Property驱动模式更加简单,无须再次实现ModelDriven接口,也减少了一个Model类,Struts.xml文件也不必配置modelDriven拦截器. 如果程序中已经存在了一个域对象或者需要重新定义这样一个域对象,那么就选择Model驱动模式。 如果需要输入的参数很少,3个以内,而且参数组合不能明显构成一个实体逻辑,可以考虑使用Property模式。

    13510编辑于 2024-12-13
  • 来自专栏火星娃统计

    大数据存储_hdf5 简介

    hdf5 简介 ? 概述 HDF5 (Hierarchical Data Format) 是由美国伊利诺伊大学厄巴纳-香槟分校,是一种跨平台传输的文件格式,存储图像和数据 hdf5的优势 通用数据模型,可以通过无限多种数据类型表示非常复杂 结构 hdf5结构分为两个部分,一个是group,一个是dataset。 simout group中有一个三维的矩阵和22维的矩阵。 hdf5的文件格式,极其类似unix操作系统 datasets HDF5数据集包含数据和描述文件也就是metadata ? 下图为3*5的2维(rank)数组 ?

    7.4K10发布于 2021-02-05
  • 来自专栏全栈程序员必看

    Struts2中属性驱动与模型驱动

    属性驱动: 1、概念 能够利用属性驱动获取页面表单元素的内容 2、步骤 1、在action中声明属性,属性的名称和页面元素中 name属性的值保持一致 2、action中的属性必须有set和get方法 LoginAction.java: public class LoginAction extends </filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword<em>2</em>, 模型<em>驱动</em>: 1、假设页面上元素内容太多,用属性<em>驱动</em>实现,action中代码就会非常庞大,这个时候能够考虑用模型<em>驱动</em>来实现 <em>2</em>、步骤 1、action

    61820编辑于 2022-07-09
  • 来自专栏EpiHub

    用R处理NASA数据(.hdf 或.nc文件)

    hdf_filesname=hdf[2] hdf_tif_name=paste0(unlist(str_split(hdf_filesname,".hdf"))[1],".tif") gdalinfo( _1" [2] "HDF4_EOS:EOS_GRID:MCD12C1.A2011001.006.2018053185321.hdf:MOD12C1:Majority_Land_Cover_Type _2" [5] "HDF4_EOS:EOS_GRID:MCD12C1.A2011001.006.2018053185321.hdf:MOD12C1:Majority_Land_Cover_Type _2_Assessment" [6] "HDF4_EOS:EOS_GRID:MCD12C1.A2011001.006.2018053185321.hdf:MOD12C1:Land_Cover_Type_ 2_Percent" [7] "HDF4_EOS:EOS_GRID:MCD12C1.A2011001.006.2018053185321.hdf:MOD12C1:Majority_Land_Cover_Type

    1.8K40编辑于 2022-10-25
  • 来自专栏悟空被FFmpeg玩

    驱动基础——字符设备2

    使用字符设备里的write 驱动代码 #include <linux/module.h> #include <linux/slab.h> #include <linux/kernel.h> #              res=cdev_add(&flash_cdev,dev,MAX_FLASH_ENV_MINORS);     if(res)         printk("<1> fuck2

    1.2K30发布于 2019-03-05
  • 来自专栏技术向

    hdf5 模块使用方法

    本文由腾讯云+社区自动同步,原文地址 http://blogtest.stackoverflow.club/hdf5-usage/ 介绍了hdf5的用法 简介 HDF(英语:Hierarchical Data 指一种为存储和处理大容量科学数据设计的文件格式及相应库文件 读取keys无法显示 import h5py data = h5py.File('your_file_name') data.keys() 此时KeysV显示iew(<HDF5

    96510发布于 2019-11-21
  • 来自专栏给永远比拿愉快

    读取HDF或者NetCDF格式的栅格数据

    HDF和NetCDF简介 HDF HDF(Hierarchical Data Format)由NCSA(National Center for Supercomputing Applications) HDF是对HDF数据模型,数据格式以及HDF库API等一系列技术的总称. HDF的最新版本是HDF5. HDF数据模型基于组(groups)和数据集(datasets)概念:如果把HDF数据比作磁盘,那么组相当于文件夹,数据集相当于文件。组和数据集都有用户自定义的属性(attributes). MODIS影像,以及我国的风云卫星数据都适用HDF格式进行存储. HDF和NetCDF栅格数据集特点 HDF和NetCDF数据都可能包含数据子集(一个文件中包含多个子文件),我们需要找出需要的子集数据,然后就可以像普通的GeoTIFF影像那样进行读写和操作了.

    2.2K21发布于 2019-01-22
领券