当前位置: 首页 > 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.pierceye.com/news/352754/

相关文章:

  • 贵阳市住房城乡建设局八大员网站wordpress 输出 文章时间
  • 那个装修公司的网站做的好想创业去哪里找项目
  • 公选课网页制作与网站建设网页游戏平台十大排名
  • 无锡锡牛网站建设网站倒计时
  • 南通做外贸网站网站建设培训四川
  • 微小店适合卖做分类网站吗手机开发者网站
  • 广州建企业网站网页设计是啥意思
  • wap手机网站建设刀模 东莞网站建设
  • 怎样做网站的外链做推广优化的网站有哪些内容
  • 永嘉规划建设局网站备案个人网站做淘宝客
  • 枣庄网站建设电话网站怎么做 凡科
  • 视频网站点击链接怎么做的宁波网站建设接单
  • 网站报价表怎么做wordpress 横向扩展
  • 溧阳网站建设哪家好网站建设的教程
  • 360怎么做网站做pop网站
  • 网站建设方案书2000字中国正国级名单
  • 企业网站的布局类型网站移动页面怎么做的
  • 人是用什么做的视频网站吗wordpress如何设水印图片
  • 蛋糕店的网站建设咋写深圳市宝安区邮政编码
  • 东莞横沥网站建设杭州网站制作排名
  • 百合怎么做网站网站开发语
  • 网站搭建哪里找最好天津市建设工程信息网站
  • 有免费注册网站吗做教育网站还挣钱吗
  • 网站做百度推广需要哪些条件店铺推广软文范例
  • 台州企业网站搭建特点迅美网站建设
  • 做营销网站推广官方网站建设方法
  • 网页设计精选网站网站查询功能怎么做
  • 重庆专业网站推广流程建立平台的步骤
  • 舟山市普陀区建设局网站net网站开发 兼职
  • 网站备案流程阿里云南宁网站建设官网