dts

Linux: device tree to acpi driver

孤者浪人 提交于 2021-02-11 15:28:56
问题 I need help on this, my driver already work on device tree mode, and I want support acpi mode for it, I'm stuck on create partitions: Device Tree: &spi0 { status = "ok"; flash: n25q256a@0 { status = "ok"; cell-index = <0>; #address-cells = <1>; #size-cells = <1>; compatible = "n25q256a"; reg = <0>; spi-max-frequency = <15000000>; spi-cpha; spi-cpol; partition@0x00000000 { label = "Boot loader"; reg = <0x00000000 0x01000000>; }; partition@0x01000000 { label = "n25q256a-test"; reg = <0x01000000

FFmpeg - What does non monotonically increasing dts mean?

不羁的心 提交于 2020-08-04 04:03:30
问题 Observations - Part - I I saw a suggestion elsewhere to run the following command to see if there's something wrong with my .mp4. ffmpeg -v error -i ~/Desktop/5_minute_sync_output_15mn.mp4 -f null - 2>error.log When I run the above command, I see a whole bunch of the logs on the lines of what's shown below. Application provided invalid, non monotonically increasing dts to muxer in stream 0: 15635 >= 15635 This, from searching and reading up quite a bit, I understand that the decoding

application.properties中的list配置

十年热恋 提交于 2020-04-05 20:24:42
  平时只要在application.properties中配置参数就可以了,在程序中就会自动进行读取。今天写的程序是可能存在多组配置项,就像多通道kafka同时接入到一个模块,要怎么配置参数呢?   这里做一个小小的示例片段。 1.使用配置项的java /** * 连接通道的参数 * 使用list,使得模块可以接收多个通道 */ @Data @ConfigurationProperties(prefix = "dts") @Component public class ChannelDefinitionConfig { /** * dts具体的配置信息 */ private List<ChannelDefinition> channelList; /** * 是否关闭 */ private boolean openSwitch; }   其中,ChannelDefinition.java如下: @Data public class ChannelDefinition { /** * 消费组账号 */ private String userName; /** * 该账号的密码 */ private String passwordName; }    2.application配置如下: dts.channelList[0].userName = press dts

保证分布式系统数据一致性的6种方案

冷暖自知 提交于 2020-03-27 04:03:22
https://www.cnblogs.com/soundcode/p/5590710.html 编者按:本文由「高可用架构后花园」群讨论整理而成。 有人的地方,就有江湖 有江湖的地方,就有纷争 问题的起源 在电商等业务中,系统一般由多个独立的服务组成,如何解决分布式调用时候数据的一致性? 具体业务场景如下,比如一个业务操作,如果同时调用服务 A、B、C,需要满足要么同时成功;要么同时失败。A、B、C 可能是多个不同部门开发、部署在不同服务器上的远程服务。 在分布式系统来说,如果不想牺牲一致性,CAP 理论告诉我们只能放弃可用性,这显然不能接受。为了便于讨论问题,先简单介绍下数据一致性的基础理论。 强一致 当更新操作完成之后,任何多个后续进程或者线程的访问都会返回最新的更新过的值。这种是对用户最友好的,就是用户上一次写什么,下一次就保证能读到什么。根据 CAP 理论,这种实现需要牺牲可用性。 弱一致性 系统并不保证续进程或者线程的访问都会返回最新的更新过的值。系统在数据写入成功之后,不承诺立即可以读到最新写入的值,也不会具体的承诺多久之后可以读到。 最终一致性 弱一致性的特定形式。系统保证在没有后续更新的前提下,系统 最终 返回上一次更新操作的值。在没有故障发生的前提下,不一致窗口的时间主要受通信延迟,系统负载和复制副本的个数影响。DNS 是一个典型的最终一致性系统。 在工程实践上

FFmpeg学习6:视音频同步

混江龙づ霸主 提交于 2020-03-09 06:56:43
在上一篇文章中,视频和音频是各自独立播放的,并不同步。本文主要描述了如何以音频的播放时长为基准,将视频同步到音频上以实现视音频的同步播放的。主要有以下几个方面的内容 视音频同步的简单介绍 DTS 和 PTS 计算视频中Frame的显示时间 获取Audio clock(audio的播放时长) 将视频同步到音频上,实现视音频同步播放 视音频同步简单介绍 一般来说,视频同步指的是 视频和音频同步 ,也就是说播放的声音要和当前显示的画面保持一致。想象以下,看一部电影的时候只看到人物嘴动没有声音传出;或者画面是激烈的战斗场景,而声音不是枪炮声却是人物说话的声音,这是非常差的一种体验。 在视频流和音频流中已包含了其以怎样的速度播放的相关数据,视频的帧率(Frame Rate)指示视频一秒显示的帧数(图像数);音频的采样率(Sample Rate)表示音频一秒播放的样本(Sample)的个数。可以使用以上数据通过简单的计算得到其在某一Frame(Sample)的播放时间,以这样的速度音频和视频各自播放互不影响,在理想条件下,其应该是同步的,不会出现偏差。但,理想条件是什么大家都懂得。如果用上面那种简单的计算方式,慢慢的就会出现音视频不同步的情况。要不是视频播放快了,要么是音频播放快了,很难准确的同步。这就需要一种 随着时间会线性增长的量 ,视频和音频的播放速度都以该量为标准

Linux设备树(一 概述)

↘锁芯ラ 提交于 2020-03-08 07:41:22
一 概述 设备树(Device tree)是一套用来描述硬件属相的规则。ARM Linux采用设备树机制源于2011年3月份Linux创始人Linus Torvalds发的一封邮件,在这封邮件中他提倡ARM平台应该参考其他平台如PowerPC的设备树机制描述硬件。因为在此之前,ARM平台还是采用旧的机制,在kernel/arch/arm/plat-xxx目录和kernel/arch/arm/mach-xxx目录下用代码描述硬件,如注册platform设备,声明设备的resource等。因为这些代码都是用来描述芯片平台及板级差异的,所以对于内核来讲都是垃圾代码。因为嵌入式平台中很多公司的芯片采用的都是ARM架构,随着Android的成功,这些代码越来越多。据说常见的平台如s3c2410板级目录下边的代码有数万行,难怪Linux Torvalds会说“this whole ARM thing is a fucking pain in the ass”。 内核中关于设备树的文档位于kernel/Documentation/devicetree/目录。设备树是Power.org组织定义的一套规范,规范文档可以在官网上找到,目前最新的版本是https://www.power.org/documentation/epapr-version-1-1/。内核中设备树相关的函数都是以of开头的

我眼中的Linux设备树(一 概述)

与世无争的帅哥 提交于 2020-03-08 07:41:03
一 概述 设备树(Device tree)是一套用来描述硬件属相的规则。ARM Linux采用设备树机制源于2011年3月份Linux创始人Linus Torvalds发的一封邮件,在这封邮件中他提倡ARM平台应该参考其他平台如PowerPC的设备树机制描述硬件。因为在此之前,ARM平台还是采用旧的机制,在kernel/arch/arm/plat-xxx目录和kernel/arch/arm/mach-xxx目录下用代码描述硬件,如注册platform设备,声明设备的resource等。因为这些代码都是用来描述芯片平台及板级差异的,所以对于内核来讲都是垃圾代码。因为嵌入式平台中很多公司的芯片采用的都是ARM架构,随着Android的成功,这些代码越来越多。据说常见的平台如s3c2410板级目录下边的代码有数万行,难怪Linux Torvalds会说“this whole ARM thing is a fucking pain in the ass”。 内核中关于设备树的文档位于kernel/Documentation/devicetree/目录。设备树是Power.org组织定义的一套规范,规范文档可以在官网上找到,目前最新的版本是https://www.power.org/documentation/epapr-version-1-1/。内核中设备树相关的函数都是以of开头的

学习历程-03DTS数据传输服务

感情迁移 提交于 2020-02-28 17:41:45
DTS(Data Transmission Service)提供数据迁移、数据同步、数据订阅于一体的数据库数据传输服务,在业务不停服的前提下轻松完成数据库迁移,利用实时同步通道轻松构建异地容灾的高可用数据库架构。 数据迁移 迁移类型 结构迁移:结构对象定义语法的迁移,包括表、视图等结构对象的语法迁移。异构数据库迁移时可以实现数据类型的映射,将源库语法调整为目标库对应的语法。 全量数据迁移:将源库中的所有数据迁移到目标库中,不包含结构对象定义的语法。如果迁移过程中源库有新增数据,且迁移类型只选择了全量迁移,则新增数据不会迁移到目标库。 增量数据迁移:将源库迁移过程中新增的数据同步到目标库中,主要用于源库和目标库的增量数据实时同步。如果创建数据迁移任务时,同时选择了全量数据迁移和增量数据迁移,则迁移过程中会先将源库中静态数据迁移到目标库,然后将增量数据同步到目标库。增量数据迁移不会自动结束,如果需要结束实时同步,需要在控制台手动结束该迁移任务。 迁移限制 源端必须存在主键,否则目标端将可能出现重复数据 目前不支持存储过程、存储函数、触发器和外键的迁移,需要用户手动迁移 源端binlog_format必须为row 源端binlog_row_image必须为full 迁移权限要求 当源端为公网自建数据库或BCC自建数据库时,用户需要提供一个满足权限要求的迁移账号。

如何利用DTS数据同步功能,快速创建数据同步作业

允我心安 提交于 2020-02-28 14:38:06
数据传输服务DTS(Data Transmission Service)提供的数据同步功能简单易用,您只需在控制台上进行简单操作,即可完成整个数据同步作业的配置。 注意事项 本文仅简单介绍数据同步作业的通用配置流程,不同的数据源在配置数据同步作业时略有不同。关于各类数据源的详细配置案例请参见 DTS数据同步方案概览 。 准备工作 数据同步的源数据库为PolarDB MySQL或自建MySQL时,须开启其binlog功能。详情请参见开启 PolarDB MySQL的binlog 和 为自建MySQL创建账号并设置binlog 。 操作步骤 1.根据待同步的源实例、目标实例的数据库类型和地域信息购买数据同步作业,详情请参见 购买流程 。 2.登录 数据传输控制台 。 3.在左侧导航栏,单击 数据同步 。 4.在 同步作业列表 页面顶部,选择数据同步实例所属地域。 5.定位至已购买的数据同步实例,单击该实例的 配置同步链路 。 6.配置同步通道的源实例及目标实例信息。 7.上述配置完成后,单击 授权白名单并进入下一步 。 说明 当源实例或者目标实例为阿里云实例时,此步骤会将DTS服务器的IP地址自动添加到源实例或者目标实例的白名单中,用于保障DTS服务器能够正常连接实例。 8.配置同步策略及对象信息,配置完成后单击页面右下角的 下一步 。 9.配置同步初始化的高级配置信息。 10

设备树dts用法

戏子无情 提交于 2020-02-28 03:50:33
目录 基本数据格式 .dts简单树 基本概念: 第一步:构建框架结构。 第二步:CPU进行详细描述。 补充:节点名称 第三步:设备进行描述。 compatible属性详解 寻址方式 CPU寻址 内存映射的设备 非内存映射设备 地址范围 中断如何使用 设备特定数据 特殊节点 aliases节点 chosen节点 基本数据格式 设备树组成:节点和属性。属性是键值对,并且节点可以同时包含属性和子节点。 .dts简单树 /dts-v1/; / { node1 { a-string-property = "A string"; a-string-list-property = "first string", "second string"; // hex is implied in byte arrays. no '0x' prefix is required a-byte-data-property = [01 23 34 56]; child-node1 { first-child-property; second-child-property = <1>; a-string-property = "Hello, world"; }; child-node2 { }; }; node2 { an-empty-property; a-cell-property = <1 2 3 4>; /