摘要: RS232和TTL唯一不同在于硬件电平表示的逻辑含义不同,TTL电平标准中逻辑高电平定义为1,电压标准为3.3V或5V,逻辑低电平定义为0,电压标准为0V。RS232电平标准相反,逻辑高电平为0,电压范围在-3V到-25V,逻辑低电平为1,电压范围在3V到25V。 TTL的全称为“Transisto 阅读全文
posted @ 2024-03-02 15:41 zxiaocheng 阅读(61) 评论(0) 推荐(0) 编辑
摘要: 转载:http://blog.csdn.net/kangear/article/details/37605811 USB中典型类及子类: 以前接触过UVC,今天接触了CDC-ECM原理上是一样的,定义一套标准协议主从机都遵守了就不需要额外的驱动程序。 简单翻译(其实用Google的多一些)一下usb 阅读全文
posted @ 2024-02-21 17:21 zxiaocheng 阅读(63) 评论(0) 推荐(0) 编辑
摘要: Linux 是一种安全的操作系统,它把所有的系统权限都赋予了一个单一的 root 用户,只给普通用户保留有限的权限。root 用户拥有超级管理员权限,可以安装软件、允许某些服务、管理用户等。 作为普通用户,如果想执行某些只有管理员才有权限的操作,以前只有两种办法:一是通过 sudo 提升权限,如果用 阅读全文
posted @ 2023-11-13 16:31 zxiaocheng 阅读(93) 评论(1) 推荐(0) 编辑
摘要: 简单介绍关于 SELinux 的一些概念 比如说什么是自主访问控制 DAC 和 强制访问控制 MAC;SELinux 安全上下文的概念等等 那么今天咸鱼将单独写一篇文章向大家专门介绍一下 SELinux 初识 SELinux SELinux(Security Enhanced Linux,安全增强型 阅读全文
posted @ 2023-11-08 17:04 zxiaocheng 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 一、SELInux简介 1. Linux传统DAC权限检查通过后才会进行MAC(selinux)权限检查。 2. Google对SELinux进行一定修改后形成SEAndroid,它只是SELinux的一个子集,在Android5.0上强制打开。SEAndroid的安全检查几乎覆盖了所有重要系统资源 阅读全文
posted @ 2023-11-07 19:13 zxiaocheng 阅读(430) 评论(0) 推荐(0) 编辑
摘要: 1、30天的试用安装 第一次启动source Insight4.0时,我们选择第二个选项,30天试用。 然后点击下一步,输入姓名、公司或组织名称、电子邮件信息,申请30天试用,然后点击下一步,直至安装完成。 2、sourceinsight4.exe 用十六进制编辑器(sublime text)打开s 阅读全文
posted @ 2023-09-28 11:38 zxiaocheng 阅读(1694) 评论(0) 推荐(0) 编辑
摘要: 你可以在vim中可以把文件转换为16进制来显示::%!xxd解释:把所有的行(%)用本地(!)的xxd程序打开。xxd本是linux下一个显示、编辑、转换二进制的命令。返回正常显示::%!xxd -r注意:vim的-b选项是告诉vim打开的是一个二进制文件,不指定的话,会在后面加上 0x0a ,即一 阅读全文
posted @ 2023-09-28 11:21 zxiaocheng 阅读(461) 评论(0) 推荐(0) 编辑
摘要: 4.git status 忽略文件权限变更:git config core.filemode false 3. 查看git的config配置cat .git/config [core] repositoryformatversion = 0 filemode = false #文件的属性 bare 阅读全文
posted @ 2023-07-10 18:26 zxiaocheng 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 【问题】 一个python脚本,本来都运行好好的,然后写了几行代码,而且也都确保每行都对齐了,但是运行的时候,却出现语法错误: IndentationError: unindent does not match any outer indentation level 【解决过程】 1.对于此错误,最 阅读全文
posted @ 2023-02-24 14:19 zxiaocheng 阅读(1068) 评论(0) 推荐(0) 编辑
摘要: 延时函数的两种常用名称是sleep和delay。一般在上位机多见sleep,单片机常用delay。那么sleep和delay的意义有何区别? sleep意为睡眠,即线程挂起,由定时器重新唤醒线程。sleep作用期间,该线程不占用CPU资源。 delay意为延迟,即线程等待,由线程自身进行循环查询,在 阅读全文
posted @ 2022-12-08 11:13 zxiaocheng 阅读(1067) 评论(0) 推荐(0) 编辑
摘要: static DEVICE_ATTR_RW(test); #define DEVICE_ATTR_RW(_name) \ struct device_attribute dev_attr_##_name = __ATTR_RW(_name) struct device_attribute dev_a 阅读全文
posted @ 2022-11-22 17:27 zxiaocheng 阅读(245) 评论(0) 推荐(0) 编辑
摘要: Linux内核中实现工作推后执行的方法有:软中断、tasklet和工作队列(work queue)。 本文介绍工作队列的简单用法。 一、工作任务定义Linux内核中的工作队列包括:共享工作队列和自定义工作队列。区别如下: 1)共享工作队列:将新创建的工作任务添加到Linux内核创建的全局工作队列sy 阅读全文
posted @ 2022-09-16 09:34 zxiaocheng 阅读(684) 评论(0) 推荐(0) 编辑
摘要: 1,手机功耗分析 2,模块功耗主要功耗场景和优化点 3,功耗测试 阅读全文
posted @ 2022-09-13 11:29 zxiaocheng 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 本文就开始讨论功耗的调试步骤和方法。 本文主要的内容如下: 一、明确调试的目标 二、明确调试的内容 三、参照电路框图找出我们需要检测的输出 四、找出或引出需测试的输出 五、功耗测试的步骤流程图 一、明确调试的目标明确调试的目标,即在满足当前的需求情况下,尽最大的可能去降低各种状态下、各路模块的功耗值 阅读全文
posted @ 2022-09-13 11:28 zxiaocheng 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 本文结合该文档简单的总结了AP端功耗问题分析手段。 首先是官方功耗分析流程图: 注意几个关键的名词: Modem 调制解调器芯片 RPM Resource Power Manager是高通MSM平台另外加的一块芯片,控制整个电源相关的shared resources APSS 应用处理器子系统,就是 阅读全文
posted @ 2022-09-13 11:20 zxiaocheng 阅读(254) 评论(0) 推荐(0) 编辑
摘要: 1、底电流调试(Rock Bottom Current Optimization)底电流在手机飞行模式下调试。每个平台的底电流数据可能不一样,具体可以参考release出来的Current Consumption Data文档或者release note。一般情况下的底电流参考数据上限是: 底电流在 阅读全文
posted @ 2022-09-13 11:16 zxiaocheng 阅读(798) 评论(0) 推荐(0) 编辑
摘要: Type-c入门,以及设计相关详解 参考文献 Type-c 的引脚功能 Type-c 的配置处理 逻辑USB –C线上下拉电阻 Type-c 信号介绍--USB各版本的差异 USB Type-C口角色定义 SOURCE到SINK连接 Sink端的结构 Source端的结构 DRP(Dual Role 阅读全文
posted @ 2022-08-10 11:00 zxiaocheng 阅读(2027) 评论(0) 推荐(0) 编辑
摘要: 断言(assert)作为一种软件调试的方法,提供了一种在代码中进行正确性检查的机制,目前很多开发语言都支持这种机制。 它的主要作用是对一个 boolean 表达式进行检查,一个正确运行的程序必须保证这个 boolean 表达式的值为 true,若 boolean 表达式的值为 false,则说明程序 阅读全文
posted @ 2022-07-21 14:59 zxiaocheng 阅读(265) 评论(0) 推荐(0) 编辑
摘要: 启用摄像头支持,最后一步时根据自己需要进行选择摄像头配置。 Device Drivers > <*> Multimedia support > [*] Video capture adapters > [*] V4L USB devices > <*> USB Video Class (UVC) [ 阅读全文
posted @ 2022-07-12 15:07 zxiaocheng 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 一、coresight coresight是ARM公司提出的,用于对复杂的SOC,实现debug和trace的架构。该架构,包含了多个coresight组件。众多的coresight组件,构成了一个coresight系统。我们也可以根据coresight架构,实现自己的coresight组件。每个c 阅读全文
posted @ 2022-07-08 15:09 zxiaocheng 阅读(557) 评论(1) 推荐(0) 编辑
摘要: 一、基础理论概述1. 有三种 preemption model 和适用场景非强占式内核(服务器)强占式内核(低延迟桌面)voluntary kernel preemption(桌面)2. 动态功耗 = C * Freq * Voltage^2 其中Freq 是CPU运行频率,Voltage是CPU核 阅读全文
posted @ 2022-07-06 19:35 zxiaocheng 阅读(584) 评论(0) 推荐(0) 编辑
摘要: 设备树使用手册 Device Tree是一种描述硬件的数据结构,由一系列被命名的结点(node)和属性(property)组成,而结点本身可包含子结点。所谓属性,其实就是成对出现的name和value。在Device Tree中,可描述的信息包括(原先这些信息大多被hard code到kernel中 阅读全文
posted @ 2022-06-28 16:37 zxiaocheng 阅读(683) 评论(0) 推荐(0) 编辑
摘要: 一、Linux系统休眠在嵌入式设备中由于省电功耗等原因我们需要让系统在不忙的时候进入休眠模式,Linux pm core提供给我们wakelock及autoslepp内核休眠机制。autosleep 和 wakelock是并行存在,只有 wakelock 唤醒锁全部释放且 autosleep 为 e 阅读全文
posted @ 2022-06-16 10:06 zxiaocheng 阅读(2424) 评论(0) 推荐(0) 编辑
摘要: ubuntu下ros和conda安装后都会改变python的默认环境,且需要用到的python版本各不相同,安装好后我们可能需要对系统的默认python指定进行微调。 1.首先用ls /usr/bin/python 查找出来系统python2 和 python3的版本 samsu@samsu-pc: 阅读全文
posted @ 2022-05-25 15:47 zxiaocheng 阅读(492) 评论(0) 推荐(0) 编辑
摘要: Type-C协议简介(CC检测原理) 1 简介 越来越多的手机开始采用Type-C作为充电和通信端口,Type-C连接器实物和PIN定义如下图: Type-C连接器中有两个管脚CC1和CC2,他们用于识别连接器的插入方向,以及不同的插入设备。本文介绍CC的基本识别原理。 先介绍几个概念:DFP——D 阅读全文
posted @ 2021-07-09 17:34 zxiaocheng 阅读(7281) 评论(0) 推荐(0) 编辑
摘要: 什么是PMU(PMIC) PMU(power management unit)就是电源管理单元,一种高集成的、针对便携式应用的电源管理方案,即将传统分立的若干类电源管理芯片,如低压差线性稳压器(LDO)、直流直流转换器(DC/DC),但现在它们都被集成到手机的电源管理单元(PMU)中,这样可实现更高 阅读全文
posted @ 2021-06-16 10:03 zxiaocheng 阅读(908) 评论(0) 推荐(0) 编辑
摘要: 1./opt/yocto-rel/share/downloads/ exists but you do not appear to have write access to it. 这个是没有权限往指定的目录里写, 解决方法:将build目录下对应的工程文件删去(dashboard-lanvende 阅读全文
posted @ 2021-06-08 10:52 zxiaocheng 阅读(1263) 评论(0) 推荐(0) 编辑
摘要: kernel部分: 如需宏控制kernel这部分代码时,参考以下步骤新增kernel config. 1.请在您的driver code所在目录中的Kconfig文件增加您的宏定义 具体怎么写可以参考Kconfig中的其他宏定义 举个例子: config MTK_FB bool “MediaTek 阅读全文
posted @ 2021-04-26 20:30 zxiaocheng 阅读(751) 评论(0) 推荐(1) 编辑
摘要: 原子位操作 操作函数的参数是一个指针和一个位号 原子位操作定义在文件中。令人感到奇怪的是位操作函数是对普通的内存地址进行操作的。原子位操作在多数情况下是对一个字长的内存访问,因而位号该位于0-31之间(在64位机器上是0-63之间),但是对位号的范围没有限制。 原子操作中的位操作部分函数如下:voi 阅读全文
posted @ 2021-04-13 14:42 zxiaocheng 阅读(4743) 评论(0) 推荐(0) 编辑
摘要: 做底层驱动免不了gpio打交道,所以对其操作和调试进行了一下简单的梳理一、gpio的调试方法 在Linux下,通过sysfs,获取gpio状态,也可以操作gpio。1、获取gpio状态 cd /sys/kernel/debug/ cat gpio2、操作gpio(以gpio99为例) cd /sys 阅读全文
posted @ 2021-03-26 15:11 zxiaocheng 阅读(4299) 评论(0) 推荐(0) 编辑
摘要: 注意:由于 task 和 recipe 是 BitBake 的基础概念。个人觉得翻译成任务和配方不免有误解之处,因此文中基本不对这两个词做翻译。类似的还有 configure。 序言 1.1 关于本教程 如果你阅读本教程,说明你已经知道 BitBake 是一种类似 make 的构建工具,主要用于 O 阅读全文
posted @ 2021-03-16 20:27 zxiaocheng 阅读(9425) 评论(0) 推荐(0) 编辑
摘要: 给命令设置别名,你可以把它当作命令的"小名",但是这样做有什么意义呢?比如笔者刚接触 Linux 时,使用的编辑器是 Vi,但是现在 Vim 的功能明显比 Vi 的功能更加强大,所以现在流行的编辑器变成了 Vim。但是笔者已经习惯了输入 vi 命令,而不习惯输入 vim 命令,别看小小的一个"m"的 阅读全文
posted @ 2021-03-15 10:53 zxiaocheng 阅读(481) 评论(0) 推荐(0) 编辑
摘要: 1.查找txt文件,但是想要排除掉tomcat目录(单目录排除) [root@ky35z 51mn]# find . -path ./tomcat -prune -o -name "*.txt" 注意./tomcat不能写成./tomcat/ 2.查找txt文件,但是想要排除掉tomcat目录和ja 阅读全文
posted @ 2021-03-11 15:43 zxiaocheng 阅读(1077) 评论(0) 推荐(0) 编辑
摘要: mkfs.ubifs 制作UBIFS 镜像 mkfs.ubifs的用法 Usage: mkfs.ubifs [OPTIONS] target Make a UBIFS file system image from an existing directory tree Examples: Build 阅读全文
posted @ 2020-12-02 14:50 zxiaocheng 阅读(2118) 评论(0) 推荐(0) 编辑
摘要: M.2接口,是Intel推出的一种替代MSATA新的接口规范。其实,对于桌面台式机用户来讲,SATA接口已经足以满足大部分用户的需求了,不过考虑到超极本用户的存储需求,Intel才急切的推出了这种新的接口标准。所以,我们在华硕、技嘉、微星等发布的新的9系列主板上都看到了这种新的M.2接口,现已普及。 阅读全文
posted @ 2020-07-01 14:22 zxiaocheng 阅读(1982) 评论(0) 推荐(0) 编辑
摘要: 从接口上看,有: INL-连接音响设备,输入模拟声音信号 MIC-连接麦克风,输入模拟语音信号 DMIC-连接数字麦克风,输入数字音频信号 I2S/PCM-连接CPU,输入数字音频信号 CONTROL INTERFACE-输入控制信号 HP-连接耳机,输出模拟声音信号 SPKOUT-连接喇叭,输出模 阅读全文
posted @ 2020-06-03 14:19 zxiaocheng 阅读(1516) 评论(0) 推荐(0) 编辑
摘要: 1. DTMF原理 DTMF(Double Tone MulitiFrequency,双音多频)作为实现电话号码快速可靠传输的一种技术,它具有很强的抗干扰能力和较高的传输速度,因此,可广泛用于电话通信系统中。但绝大部分是用作电话的音频拨号。另外,它也可以在数据通信系统中广泛地用来实现各种数据流和语音 阅读全文
posted @ 2020-05-18 16:45 zxiaocheng 阅读(1408) 评论(0) 推荐(0) 编辑
摘要: 内核参数overcommit_memory 它是 内存分配策略 可选值:0、1、2。0, 表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。1, 表示内核允许分配所有的物理内存,而不管当前的内存状态如何。2, 表示内核允 阅读全文
posted @ 2020-05-18 16:38 zxiaocheng 阅读(10230) 评论(0) 推荐(2) 编辑
摘要: 转自:http://blog.sina.com.cn/s/blog_4b6e98810100n37k.html 休眠(Hibernate),将系统切换到该模式后,系统会自动将内存中的数据全部转存到硬盘上一个休眠文件中,然后切断对所有设备的供电。这样当恢复的时候,系统会从硬盘上将休眠文件的内容直接读入 阅读全文
posted @ 2020-04-13 16:28 zxiaocheng 阅读(1082) 评论(0) 推荐(0) 编辑
摘要: 之前在《简单的读和写》中提到过file_operations结构中的读/写方法中的buff参数是指向用户空间的缓冲区。而用户空间的指针,内核代码不能直接引用其中的内容。 所以用了copy_to_user和copy_from_user来完成最后的读写操作。 这里介绍另一对可以完成读写的函数:simpl 阅读全文
posted @ 2020-04-09 18:15 zxiaocheng 阅读(2057) 评论(0) 推荐(0) 编辑