- 博客(71)
- 资源 (2)
- 收藏
- 关注
原创 ubuntu16更新python至更高版本
添加 deadsnakes PPA 源$ sudo add-apt-repository ppa:deadsnakes/ppaPress [ENTER] to continue or Ctrl-c to cancel adding it.安装 python 3.8$ sudo apt install python3.8$ python3.8 -VPython 3.8.2将 python 各版本添加到 update-alternatives$ which python..
2021-08-08 18:10:46 361
转载 蓝牙协议分析(2)_协议架构
1. 前言本文是蓝牙协议分析的第二篇文章,在“蓝牙协议分析(1)_基本概念”的基础上,从整体架构的角度,了解蓝牙协议的组成,以便加深对蓝牙的理解。2. 协议层次蓝牙协议是通信协议的一种,为了把复杂问题简单化,任何通信协议都具有层次性,特点如下:从下到上分层,通过层层封装,每一层只需要关心特定的、独立的功能,易于实现和维护;在通信实体内部,下层向上层提供服务,上层是下层的用户;在通信实体之间,协议仅针对每一层,实体之间的通信,就像每一层之间的通信一样,这样有利于交流、理解、标准化。
2021-04-01 11:01:48 837
转载 蓝牙协议分析(1)_基本概念
感谢大佬分析!!! 本文转载自:蜗窝科技,www.wowotech.net1. 前言自1994年由爱立信推出至今,蓝牙技术已经走过了20个岁月。从最初的Bluetooth V1.0,到Bluetooth V4.0(最新的为V4.1,2013年底发布),经历了近9个版本的修订后,发展为当前的状况。说实话,如今的蓝牙4.1,简直是一个大杂烩:BR/EDR沿用旧的蓝牙规范;LE抄袭802.15.4;AMP直接使用802.11。而这一切的目的,就是以兼容性和易用性为基础,在功耗和传输速率之间左右为难。蜗
2021-04-01 10:57:11 549
转载 SSD背后的秘密:SSD基本工作原理
转载自: [http://www.ssdfans.com] SSD主要由SSD控制器,FLASH存储阵列,板上DRAM(可选),以及跟HOST接口(诸如SATA,SAS, PCIe等)组成。SSD主控通过若干个通道(channel)并行操作多块FLASH颗粒,类似RAID0,大大提高底层的带宽。举个例子,假设主控与FLASH颗粒之间有8个通道,每个通道上挂载了一个闪存颗粒,HOST与FLASH之间数据传输速率为200MB/s。该闪存颗粒Page大小为8KB,FLASH page的读取时间为T..
2021-03-30 20:05:13 3524 1
原创 (一)mplayer与ffmpeg的调用过程
mplayer调用ffmpeg解码视频流过程mplayer播放视频硬解码流程update_video(int *blit_frame) generate_video_frame(sh_video_t *sh_video, demux_stream_t *d_video) === mplayer:mplayer.c decode_video(sh_video, start, in_size, drop_frame, pts, NULL); === mplayer:mplaye
2021-03-10 15:13:21 566
原创 地平线4闪退解决方法
1.网络问题解决方案:先打开PC上的XBOX登陆2.显卡驱动问题解决方案:更新显卡驱动。3.AMD显卡核晶引擎问题解决方案:在游戏启动时,360会提醒临时关闭4.登陆微软商店,xbox慢解决方案:修改dns为4.2.2.2 备用:4.2.2.1注意:不用翻墙 不用翻墙 不用翻墙...
2021-03-10 11:55:12 3660
原创 GTX 750Ti显卡维修记录
问题现象:正常可以使用,跑鲁大师黑屏,跑甜甜圈黑屏,系统也跑挂了。测试:使用mats测试显存,跑了2000MB,一会再跑一个2048MB的进行全面测试显存,log如下mats version 367.38. Testing GM107 with 2000 MB of memory starting with 0 MB.Errors found. Use -matsinfo for details.This message will only appear once. SUBPART
2021-02-26 09:35:26 3598 5
原创 Serial ATA知识交流(一)——sata接口硬盘图解
Serial ATA知识交流,硬件接口图解引脚定义:1 GND Ground 接地,一般和负极相连2 A+ Transmit 数据发送正极信号接口3 A- Transmit 数据发送负极信号接口4 GND Ground 接地,一般和负极相连5 B- Receive 数据接收负极信号接口6 B+ Receive 数据接收正极信号接口7 GND Ground 接地,一般和负极相连电源接口 针脚 信号 ...
2021-01-26 10:35:34 14146 1
原创 MBR和GPT分区格式整理
简单地说,硬盘分区是就使用分区编辑器(partition editor)将一个硬盘上划分几个独立的逻辑部分,盘片一旦划分成数个分区,不同类的目录与文件可以存储进不同的分区。越多分区,也就有更多不同的地方,可以将文件的性质区分得更细,按照更为细分的性质,存储在不同的地方以管理文件。机械硬盘原理机械硬盘由坚硬金属材料制成的涂以磁性介质的盘片,盘片两面称为盘面或扇面,都可以记录信息,由磁头对盘面进行操作(如果你有坏的硬盘,可以动手拆开看。嗯?为什么用坏的?用好的可能费钱……)一般用磁头号区分。结构特性决定
2021-01-22 15:44:36 789
转载 【详解三】Nand Flash 编写驱动之前要了解的知识
1.2.16.Nand Flash的一些高级特性1.2.16.1.Nand Flash的Unique ID1.2.16.1.1.什么是Unique ID唯一性标识Unique ID,翻译为中文就是,独一无二的ID,唯一性标识。很明显,这个Unique ID是为了用来识别某些东西的,每一个东西都拥有一个独一无二的标识信息。在Nand Flash里面的Unique ID,主要是某个ID信息,保证每个Nand Flash都是独一无二的。主要用于其它的使用Nand Flash的用户,根据此...
2020-08-13 15:22:03 3003
转载 【详解二】Nand Flash 编写驱动之前要了解的知识
1.2.15.1.页编程(Page Program)注意事项Nand flash的写操作叫做编程Program,编程,一般情况下,是以页为单位的。有的Nand Flash,比如K9K8G08U0A,支持部分页编程(Partial Page Program),但是有一些限制:在同一个页内的,连续的部分页的编程,不能超过4次。一般情况下,都是以页为单位进行编程操作的,很少使用到部分页编程。关于这个部分页编程,本来是一个页的写操作,却用两个命令或更多的命令去实现,看起来是操作多余,效率不高,但是.
2020-08-13 15:17:05 1989
转载 【详解一】Nand Flash 编写驱动之前要了解的知识
1.1.一些相关的名词的解释1.1.1.Non-Volatile Memory非易失性存储器NVM,即NV (RAM)Memory,断电数据也不会丢失的存储器,比如Nand Flash,Nor Flash,硬盘等等。于此相对的是,断电了数据会丢失的存储器,比如DRAM等。1.1.2.OTP一次性可编程存储器OTP,一种非易失性存储器,但是只允许一次性写入数据,写入(或称烧写)数据之后,就不能修改了。OTP的好处或者说用途是,常用于写入一些和芯片相关的一些特定数据,用于加密的一些数据...
2020-08-13 15:05:56 4098
转载 终于有人讲透了芯片设计流程!(电子人必读)
感谢作者不吝赐教。转载自:https://www.sohu.com/a/168417615_737900芯片,指的是内含集成电路的硅片,所以芯片又被称集成电路,可能只有2.5厘米见方大小,但是却包含几千万个晶体管,而较简单的处理器可能在几毫米见方的芯片上刻有几千个晶体管。芯片是电子设备中最重要的部分,承担着运算和存储的功能。高大上的芯片设计流程一颗芯片的诞生,可以分为设计与制造两个环节。芯片制造的过程就如同用乐高盖房子一样,先有晶圆作为地基,再层层往上叠的芯片制造流程后,就可产出想要..
2020-07-01 11:43:12 7752 4
转载 CPU缓存相关知识——cache
CPU缓存相关知识——cache欢迎使用Markdown编辑器基础知识缓存的命中合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出欢迎使用Markdown编辑器主要分成这么几个部分:基础知识、缓存的命中、缓存的一致性、相关的代码示例和延伸阅读。
2020-06-18 10:57:48 460
转载 VxWorks的学习与理解(五)
感谢前辈分享,附上链接:http://www.prtos.org/vxworks-memory-management/本篇博文,我们该谈到Wind内核的内存管理模块了,嵌入式操作系统中, 内存的管理及分配占据着极为重要的位置, 因为在嵌入式系统中, 存储容量极为有限, 而且还受到体积、成本的限制, 更重要的是其对系统的性能、可靠性的要求极高, 所以深入剖析嵌入式操作系统的内存管理, 对其进行优...
2020-05-06 14:47:40 4502
转载 VxWorks的学习与理解(四)
感谢前辈分享,附上链接:http://www.prtos.org/wind-interrupt/接下来我们讨论一下Wind内核的中断处理模块,中断是操作系统内核设计中非常重要的部分。由于周期性和非周期性任务的按时执行都离不开中断,并且大多数实时任务的调度都是由中断引发的,中断管理对于实时系统来说不仅重要而且要求更高。因此,实时系统要求操作系统具备迅速响应外部中断的能力。本篇我以x86平台的...
2020-04-26 22:40:53 1544
转载 VxWorks的学习与理解(三)
感谢前辈分享,附上链接:http://www.prtos.org/vxworks-wind-scheduler/本篇文章分析Wind内核调度器的设计原理以及其工作流程,设计支持多任务RTOS的关键是设计调度器,Wind内核调度器的目标是保证优先级最高的就绪任务处于运行状态。为了达到这一目的,需要在Wind内核的调度点判断就绪队列中优先级最高的任务是否正在运行,如果不在运行,调度器就会让这个优先...
2020-04-01 15:09:58 850
转载 VxWorks的学习与理解(二)
感谢前辈分享,附上链接:http://www.prtos.org/vxworks-wind-kernel/本文讨论Wind内核的设计思想,正如前文所述,VxWorks的Wind内核采用可裁剪的微内核设计,具有多任务并发执行、可抢占的优先级调度、可选的时间片调度、任务间通信和同步机制、快速的上下文切换,低中断时延、快速的中断响应、支持中断嵌套、支持256个优先级、支持优先级继承、以及任务删除保护...
2020-04-01 15:05:34 833
转载 VxWorks的学习与理解(一)
前言:我曾经在做VxWorks培训期间跟身边的嵌入式工程师同行交流的时候,发现大家对嵌入式VxWorks系统的Wind内核不是特别了解,而网上对于VxWorks的Wind内核也没有系统性的解读与分析,因此我决定发表一系列的博文来系统性地解读Wind内核的设计思想。我选择的是VxWorks5.5系统的Wind 2.6版本内核(这个版本的代码网上都有分享O(∩_∩)O),在分析的过程中,大家有任何的疑...
2020-04-01 14:58:02 6950 1
原创 LoongSon——PMON中串口初始化与使用
以龙芯3A3000 为例:串口初始化:LEAF(initserial) //call this function must give the register addr to a0 li t1,128...
2020-03-31 12:00:41 1258
原创 LoongSon——PMON常用命令整理
通过pmon启动内核相关命令网络加载:load tftp://server‐ip/vmlinuxinitrd tftp://server‐ip/initrd.gzg console=tty console=ttyS0,115200u 盘启动:load (usb0,0)/vmlinuxinitrd (usb0,0)/initrd.gz...
2020-03-10 10:30:05 5551
原创 LoongSon——PMON启动流程记录
简单整理,供日后学习。加入gdb编译pmon编译: make cfg all tgt=rom DEBUG=-g反汇编: mipsel-linux-objdump -S pmon.gdb > pmon-gdb-objdump.S初始化栈大小:16KB_gp 在ld.script 链接脚本中定义 ./Targets/Bonito3a3000_7a/conf/ld.scrip...
2020-03-09 17:49:50 1166
原创 C语言——原型函数定义中使用了旧式参数声明
在看龙芯 开源社区 pmon代码时,有一个地方没理解,如下图:自己模仿这个写法写个测试试试:#include <stdio.h>int add( a, b)int a,b;{ return a+b;}int main(){ int a,b; a = 1; b = 2; print...
2020-03-09 17:15:34 1691 1
原创 Linux USB的学习与记录
Linux USB四种不同的数据传输方式: 1.控制传输(Control Transfers) 2.中断传输(Interrupt Data Transfers) 3.批量传输(Bulk data Transfers) 4.等时传输(Isochronous Data Transfers) 设备可以有多个接口,每个接口代表一个功能,每个接口对应着一...
2020-01-09 18:04:02 226
原创 [RK3399—Android] 修改系统默认语言
修改系统默认语言/build/target/product/full_base.mk中文:PRODUCT_LOCALES := zh_CN英文:PRODUCT_LOCALES := en_US可选项均来自:build/target/product/languages_full.mk
2020-01-03 13:35:01 463
原创 UNIX 环境高级编程(第三版)使用
1、下载源码http://apuebook.com/code3e.html2、安装依赖库 sudoapt-getinstalllibbsd-dev3、解压、编译源码tar xvf src.3e.tar.gzcd apue.3e/make4、可以将相关头文件放在系统环境变量中可以在apue.h 中添加附录B中的内容cp ./include/apu...
2019-12-26 15:29:04 319 1
转载 Linux panic 思路
转载自:https://blog.csdn.net/ylyuanlu/article/details/91151591. Linux Kernel Panic的产生的原因panic是英文中是惊慌的意思,Linux Kernel panic正如其名,linux kernel不知道如何走了,它会尽可能把它此时能获取的全部信息都打印出来。有两种主要类型kernel panic,后面...
2019-12-23 17:00:59 429
原创 imx6q——lvds显示学习与理解
首先,内核在启动时会注册一个platform_device在最后调用imx_add_platform_device name = "mxc_ldb"//调用过程static void __init mx6_qcorein_board_init(void) imx6q_add_ldb(&ldb_data); imx_add_ldb(&imx6q_ld...
2019-11-27 10:39:16 1451
原创 [rockchip]定时开关机
/* kernel/kernel/time/posix-timers.c */static struct k_clock posix_clocks[MAX_CLOCKS];/* kernel/kernel/time/alarmtimer.c */static struct rtc_device *rtcdev; static struct alarm_base { spinloc...
2019-11-26 18:43:19 1157
原创 device_create_file 和 device_create的区别
/* interface for exporting device attributes */struct device_attribute { struct attribute attr; ssize_t (*show)(struct device *dev, struct device_attribute *attr, char *buf); ssize_t (*stor...
2019-11-08 16:45:01 807
原创 tiny4412使用MiniTools时连不上
当连不上的时候,安装MiniTools的路径下的USB driver,当出现文件的嘻哈值哈希值不在指定的目录文件中,这时关闭强制签名就ok,有的小伙伴一时半会找不到怎么关,使用CMD 输入:bcdedit.exe -set loadoptions DDISABLE_INTEGRITY_CHECKS重启,一秒搞定。...
2019-11-06 22:53:01 550
原创 Linux内核之USB输入设备的学习与理解
[ 47.292023] usb 4-1.5: new full-speed USB device number 5 using usb20_host[ 47.390334] usb 4-1.5: New USB device found, idVendor=0c45, idProduct=8420[ 47.390484] usb 4-1.5: New USB device st...
2019-10-31 10:05:45 782
原创 [tiny4412]Android学习开始
代码我上传搭配github上git@github.com:Jason543716996/Android_Study.git暂告一段落,先把内核搞清楚
2019-10-29 10:25:44 175
原创 打造自己Android系统学习、管理、编译平台
2019-10-24买了主机,准备搭建自己的学习、管理平台,搭建自己的编译环境,在此记录一下。系统:Ubutun 16.04编译目标系统:Android 5.0 Linux4.4 Linux3硬件配置:挂载3T硬盘到/home目录源码检索环境:opengrok准备源码包: uboot_tiny4412-20130729android-5.0.2-...
2019-10-24 16:29:00 256
原创 Linux内核List.h的简单测试
内核源码部分摘抄:#ifndef _LINUX_LIST_H#define _LINUX_LIST_Hstruct list_head { struct list_head *next, *prev;};/* * Simple doubly linked list implementation. * * Some of the internal functions (...
2019-10-23 10:38:31 195
原创 [tiny4412][kernel]tiny4412 Linux4.4 pinctrl的学习与理解
参考文档:Linux4.4/Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txtsamsung-pinctrl.txt文档中的重要部分:pinctr的学习与理解: -引脚复用器/配置组作为子节点:引脚复用器(选择引脚功能模式)和引脚配置(上拉/下拉,驱动器强度)设置表示为引脚控制器节点的子节点。应该至少有一个子...
2019-10-22 11:53:30 261
原创 [tiny4412][kernel]tiny4412 Linux4.4 EMMC移植 从EMMC中启动
硬件: 核心板 : Tiny4412-1306-Schematic 底板 : Tiny4412SDK-1308(没有micro USB)其他都一样参考博客:https://www.cnblogs.com/pengdonglin137/p/5159032.html修改设备树文件:diff --git a/arch/arm/boot/dts/exynos4412...
2019-10-16 23:14:23 334
原创 [tiny4412][kernel]tiny4412 Linux4.4 SDMMC移植
硬件: 核心板 : Tiny4412-1306-Schematic 底板 : Tiny4412SDK-1308(没有micro USB)其他都一样参考博客:https://www.cnblogs.com/pengdonglin137/p/5159032.html在此感谢前辈分享。代码已上传至github上管理。https://github.com/Jason5...
2019-10-15 23:29:00 677
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人