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

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

    _2 = delete; foo_2 : delete { }}编译sample1.hcs文件,在生成过程中将会删除root.foo_2节点与attr_2,最终生成配置树效果为:/* * HDF 【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驱动框架知识。

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

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

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

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

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

    为了提升驱动代码在不同内核子系统间的可复用能力,OpenHarmony HDF(Hardware Driver Foundation)驱动框架提供了OSAL(Operating System Abstraction OSAL为驱动程序提供了任务、定时器、互斥锁、信号量等基础库相关接口,使驱动相关的实现不再依赖于具体的内核或POSIX接口,是实现驱动可迁移的基石。 OpenHarmony HDF驱动框架已经在LiteOS-M,LiteOS-A,Linux内核完成适配,可直接使用。 本文主要分析下驱动适配代码仓中的OSAL的相关接口,主要以适配LiteOS-M内核的OSAL接口为例。OSAL在HDF驱动框架中的位置,见HDF架构图。 小结本文介绍了HDF驱动框架子系统中的OSAL接口,后续会介绍更多的HDF驱动框架知识。

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

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

    1.HDF 驱动框架OpenHarmony 系统 HDF 驱动框架主要由驱动基础框架、驱动程序、驱动配置文件和驱动接口这四个部分组成。 HDF框架将一类设备驱动放在同一个host里面,开发者也可以将驱动功能分层独立开发和部署,支持一个驱动多个node,HDF驱动模型如下图所示:2.HDF 驱动开发基于HDF框架进行驱动的开发主要分为两个部分 (g_sampleDriverEntry);// 调用HDF_INIT将驱动入口注册到HDF框架中,在加载驱动HDF框架会先调用Bind函数,再调用Init函数加载该驱动,当Init调用异常时,HDF 驱动配置过程的原理图如下所示:2.2.1 驱动设备描述(必选)HDF框架加载驱动所需要的信息来源于HDF框架定义的驱动设备描述,因此基于HDF框架开发的驱动必须要在HDF框架定义的device_info.hcs 3.1 HDF_INIT宏展开驱动入口注册到HDF框架,会调用HDF_INIT函数将驱动入口地址注册到HDF框架。.

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

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

    在上篇文章《 OpenHarmony驱动框架HDF中设备管理服务构建过程详解》中,介绍了设备管理服务涉及的对象类型及其相应的接口,也初步展示了设备管理服务中的对象类型关系网。 | // (1)创建DevMgr对象 |-> instance = DevmgrServiceGetInstance(); | // (2)发布DevMgr,"/dev/hdf ,实际上是装载Host节点下所有设备的设备驱动,并初始化驱动,最后发布设备服务。 在DriverLoader的LoadNode接口的实现函数HdfDriverLoaderLoadNode(),按照设备信息中的moduleName依次匹配系统设备驱动列表中的驱动项,若匹配成功,则将设备驱动的入口地址关联到 而融入的“C/S设计模式”和“观察者设计模式”,无疑又使得阅读HDF的代码难度增加。

    25910编辑于 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 、加载驱动、发布设备服务等。

    58521编辑于 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 do not match the version used by the HDF5 library to which this application is linked. version of static or shared HDF5 library. Headers are 1.8.11, library is 1.8.9         SUMMARY OF THE HDF5 CONFIGURATION         ==

    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

    install hdf5 on ubuntu 12.04 you can probably install the debian libraries into quantal with no issues Code: $apt-get install devscripts equivs ubuntu-dev-tools $pull-debian-source hdf5 experimental $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

    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软件的下载、安装方法。   

    4K10编辑于 2024-10-10
  • 来自专栏一个有趣的灵魂W

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

    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个层。 以上,就是今天要讲解的HDF数据的读取~ 彩蛋~ 数据打开了,稍加处理(选取每个维度的最大值): max函数 最后得到这么一张AOD分布图。

    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.1K11发布于 2019-07-24
  • 来自专栏火星娃统计

    大数据存储_hdf5 简介

    hdf5 简介 ? 概述 HDF5 (Hierarchical Data Format) 是由美国伊利诺伊大学厄巴纳-香槟分校,是一种跨平台传输的文件格式,存储图像和数据 hdf5的优势 通用数据模型,可以通过无限多种数据类型表示非常复杂 结构 hdf5结构分为两个部分,一个是group,一个是dataset。 hdf5的文件格式,极其类似unix操作系统 datasets HDF5数据集包含数据和描述文件也就是metadata ? hdf5是一个非常专业的数据存储格式,同时支持的数据类型广泛,有更高级的使用,但是考虑到时间和需求,我应该不会在这方面深入过多,后续应该会更新r语言的hdf5文件处理,python备用。

    7.3K10发布于 2021-02-05
  • 来自专栏EpiHub

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

    文件 将hdf文件存在Landcover文件夹目录下,然后查看hdf文件 > hdf=list.files(pattern = ".hdf") > hdf [1] "MCD12C1.A2010001.006.2018053185051 .hdf" "MCD12C1.A2011001.006.2018053185321.hdf" [3] "MCD12C1.A2014001.006.2018053185556.hdf" "MCD12C1. .hdf" [7] "MCD12C1.A2018001.006.2019200161458.hdf" 譬如我们需要读取第二个文件 MCD12C1.A2011001.006.2018053185321.hdf hdf_filesname=hdf[2] hdf_tif_name=paste0(unlist(str_split(hdf_filesname,".hdf"))[1],".tif") gdalinfo( hdf_filesname) hdf_time = str_extract(hdf_filesname,"()[0-9]{7}") sds = get_subdatasets(hdf_filesname

    1.7K40编辑于 2022-10-25
  • 来自专栏技术向

    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

    95910发布于 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
  • 来自专栏深度学习之tensorflow实战篇

    python读取与写入csv EXCEK HDF 文件

    HDF5 读取  pd.read_hdf('foo.h5', 'df') 写入  df.to_hdf('foo.h5', 'df') 3.

    2.5K30发布于 2019-02-14
  • 来自专栏深度学习之tensorflow实战篇

    python读取与写入csv EXCEK HDF 文件

    HDF5 读取  pd.read_hdf('foo.h5', 'df') 写入  df.to_hdf('foo.h5', 'df') 3.

    2.8K40发布于 2018-03-16
  • 来自专栏气象杂货铺

    在pandas中利用hdf5高效存储数据

    在Python中操纵HDF5文件的方式主要有两种,一是利用pandas中内建的一系列HDF5文件操作相关的方法来将pandas中的数据结构保存在HDF5文件中,二是利用h5py模块来完成从Python原生数据结构向 HDF5格式的保存。 本文就将针对pandas中读写HDF5文件的方法进行介绍。 ? 图1 2 利用pandas操纵HDF5文件 2.1 写出文件 pandas中的HDFStore()用于生成管理HDF5文件IO操作的对象,其主要参数如下: ❝「path」:字符型输入,用于指定h5文件的名称 图13 HDF5用时仅为csv的1/13,因此在涉及到数据存储特别是规模较大的数据时,HDF5是你不错的选择。

    6.4K20发布于 2020-10-09
  • 来自专栏鸿蒙开发笔记

    OpenHarmony中的HDF单链表及其迭代器

    单链表是链表中的一种,本文描述OpenAtom OpenHarmony(以下简称“OpenHarmony”)中HDF软件模块自己定义的单链表,并学习其设计和实现方法。 单链表定义在OpenHarmony的HDF软件模块中,单链表定义在hdf_slist.h中。 【OpenHarmony】Uboot 驱动加载流程12.OpenHarmony构建系统--GN与子系统、部件、模块详解13.ohos开机init启动流程14.鸿蒙版性能优化指南.......对于本文描述的单链表

    21120编辑于 2025-04-17
领券