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

网上书城网站开发的结论与不足深圳企业倒闭

网上书城网站开发的结论与不足,深圳企业倒闭,多用户商城系统哪个好,链接买卖价格目录 序一、概述二、HDF驱动框架三、驱动程序四、驱动配置坚持就有收获 序 最近忙于适配OpenHarmonyOS LiteOS-M 平台#xff0c;已经成功实践适配平台GD32F407、STM32F407、STM32G474板卡#xff0c;LiteOS适配已经算是有实际经验了。 但是#xff0c;鸿蒙代码学习进度慢下… 目录 序一、概述二、HDF驱动框架三、驱动程序四、驱动配置坚持就有收获 序 最近忙于适配OpenHarmonyOS LiteOS-M 平台已经成功实践适配平台GD32F407、STM32F407、STM32G474板卡LiteOS适配已经算是有实际经验了。 但是鸿蒙代码学习进度慢下来了。还是得不断学习理论知识丰富自己的认知。接下来时间要把HDF驱动框架熟悉完善南向开发技术点。 一、概述 HDFHardware Driver Foundation驱动框架为驱动开发者提供驱动框架能力包括驱动加载、驱动服务管理、驱动消息机制和配置管理。并以组件化驱动模型作为核心设计思路让驱动开发和部署更加规范旨在构建统一的驱动架构平台为驱动开发者提供更精准、更高效的驱动管理的开发环境力求做到一次开发多系统部署。 HDF支持两种加载方式 按需加载 HDF框架支持驱动在系统后动过程中默认加载或者在系统后动之后动态加载。按序加载 HDF框架支持驱动在系统启动的过程中按照驱动的优先级进行加载。 驱动开发步骤 驱动程序实现包含驱动业务代码和驱动入口注册到HDF框架。驱动编译将业务代码进行编译同时将结果编译进内核。驱动配置HDF使用HCS作为配置描述源码驱动配置包含两部分HDF框架定义的驱动设备描述和驱动的私有配置信息。 二、HDF驱动框架 HDF驱动框架主要包含三部分 1、驱动程序部分----完成驱动的功能逻辑。2、驱动配置信息----指示驱动的加载信息内容。3、驱动资源配置----配置驱动的硬件配置信息。 三、驱动程序 驱动程序主要是完成驱动功能的逻辑代码轻量内核LiteOS-M驱动程序代码路径为drivers/hdf_core/adapter/platform 。 SDK源码使用drivers/hdf_core/adapter/platform目录放置适配LiteOS-M各个平台驱动程序。 drivers/hdf_core/adapter/platform ├── BUILD.gn ├── can ├── gpio ├── i2c ├── mipi_dsi ├── pwm ├── spi ├── uart └── watchdog这里以LiteOS-M GPIO HDF驱动为例对于开发者首先看到的是驱动入口部分驱动入口通过结构体DriverEntry进行描述。其中主要包含Bind, Init 和Release三个接口。 /* HdfDriverEntry definitions */ //struct HdfDriverEntry定义在drivers/hdf_core/interfaces/inner_api/host/shared/hdf_device_desc.h struct HdfDriverEntry g_GpioDriverEntry {.moduleVersion 1,.moduleName ST_GPIO_MODULE_HDF, // 职责与hdf hcs结点moduleName进行匹配.Bind GpioDriverBind, // 职责绑定驱动对外提供的服务接口到HDF.Init GpioDriverInit, // 职责初始化驱动自身的业务.Release GpioDriverRelease, // 职责释放驱动资源发生异常时也会调用 }; HDF_INIT(g_GpioDriverEntry); //注册到HDF框架中 Bind接口描述该接口的作用主要是完成驱动设备和设备服务接口的bind动作。 static int32_t GpioDriverBind(struct HdfDeviceObject *device) {if (device NULL) {HDF_LOGE(device object is NULL\n);return HDF_FAILURE;}return HDF_SUCCESS; }Init接口描述当框架完成设备绑定动作后就开始调用驱动初始化接口初始化成功后驱动框架根据配置文件决定是对外创建设备服务接口还是接口只对当前服务可见。如果Init初始化失败驱动框架就会主动释放创建的设备接口等信息。 static int32_t GpioDriverInit(struct HdfDeviceObject *device) {int32_t ret;struct GpioCntlr *gpioCntlr NULL;if (device NULL) {HDF_LOGE(%s: device is NULL, __func__);return HDF_ERR_INVALID_PARAM;}ret PlatformDeviceBind(g_stmGpioCntlr.device, device); //绑定设备对象if (ret ! HDF_SUCCESS) {HDF_LOGE(%s: bind hdf device failed:%d, __func__, ret);return ret;}gpioCntlr GpioCntlrFromHdfDev(device); //获取gpio控制器if (gpioCntlr NULL) {HDF_LOGE(GpioCntlrFromHdfDev fail\r\n);return HDF_DEV_ERR_NO_DEVICE_SERVICE;}ret AttachGpioDevice(gpioCntlr, device); /* GpioCntlr add GpioDevice to priv */if (ret ! HDF_SUCCESS) {HDF_LOGE(AttachGpioDevice fail\r\n);return HDF_DEV_ERR_ATTACHDEV_FAIL;}gpioCntlr-ops g_GpioCntlrMethod; /* 绑定控制器控制方法 */ret GpioCntlrAdd(gpioCntlr);if (ret ! HDF_SUCCESS) {HDF_LOGE(GpioCntlrAdd fail %d\r\n, gpioCntlr-start);return HDF_FAILURE;}return HDF_SUCCESS; }gpio控制器方法实现。 /* GpioMethod definitions */ struct GpioMethod g_GpioCntlrMethod {.request NULL,.release NULL,.write GpioDevWrite,.read GpioDevRead,.setDir GpioDevSetDir,.getDir GpioDevGetDir,.toIrq NULL,.setIrq GpioDevSetIrq,.unsetIrq GpioDevUnSetIrq,.enableIrq GpioDevEnableIrq,.disableIrq GpioDevDisableIrq, };Release接口描述当用户需要卸载驱动时驱动框架先通过该接口通知驱动程序释放资源然后再释放其他内部资源。 static void GpioDriverRelease(struct HdfDeviceObject *device) {struct GpioCntlr *gpioCntlr NULL;if (device NULL) {HDF_LOGE(%s: device is NULL, __func__);return;}gpioCntlr GpioCntlrFromHdfDev(device);if (gpioCntlr NULL) {HDF_LOGE(%s: host is NULL, __func__);return;}gpioCntlr-count 0; }四、驱动配置 HCS(HDF Configuration Source)是HDF驱动框架的配置描述源码内容以Key-Value为主要形式。它实现了配置代码与驱动代码解耦便于开发者进行配置管理。 驱动配置包含两部分HDF框架定义的驱动设备描述和驱动的私有配置信息。 设备描述信息 HDF框架加载驱动所需要的信息来源于HDF框架定义的驱动设备描述因此基于HDF框架开发的驱动必须要在HDF框架定义的device_info.hcs配置文件中添加对应的设备描述。 待续… 坚持就有收获
http://www.dnsts.com.cn/news/163506.html

相关文章:

  • 自建网站平台 优帮云怎样淘宝seo排名优化
  • 汇鑫科技网站建设襄阳手机网站建设
  • 朝阳区网站建设敦化网站建设
  • 建站教程图解wordpress 查询数据
  • 湛江做网站软件全国企业年报网上申报
  • 昆明seo网站建设费用那个网站招丑的人做网红
  • 网站搜索不到了xx旅行社网站建设方案 企网站技术解决方案为申请虚拟主机
  • 微信网站如何制作软件重庆好的推广网站
  • c 做的网站怎么上传图片阳江市住房和城乡建设局网站
  • 网站建设公司落寞美食网站设计论文
  • 天津 网站策划天河做网站公司
  • 学做湘菜的视频网站简述seo的优化流程
  • 查询建设资质的网站实用设计网站推荐
  • 低价网站建设推广报价宁波 seo排名公司
  • 专业做网站优化需要多久怎么建好网站
  • 公司做网站主机是什么用途网站流量分析系统
  • 网站建设论文标题wordpress汉化插件下载
  • 专业柳州网站建设推荐半月报网站建设商务代表工作总结
  • 网页建立站点办公室效果图
  • 效果好的徐州网站开发域名查询入口
  • 笑话网站源码下载济源市工程建设监理所网站
  • 大作设计网站官网下载怎样 建设电子商务网站
  • 南昌企业做网站rpg制作大师手机版
  • 义乌网站建设方案案例seo优化策略主要包括哪些方面
  • 专业的网站建设公哪家专业关键词推广排名
  • 合同下载网站郑州东区做网站的公司
  • 网站访问量查询工具河北建筑工程学院招生网
  • 网站建设十网站备案应该怎么做
  • 网站注册地电商网站 开发费用
  • 怎么免费从网站上做宣传智能建造考研方向