<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/jiangganwu</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; jiangganwu]]></copyright><item><title><![CDATA[DSP 6678的中断系统]]></title><link>https://blog.youkuaiyun.com/jiangganwu/article/details/108365663</link><guid>https://blog.youkuaiyun.com/jiangganwu/article/details/108365663</guid><author>jiangganwu</author><pubDate>Wed, 02 Sep 2020 17:02:28 +0800</pubDate><description><![CDATA[1、6678的中断系统

1.1、系统事件

在谈SRIO的中断系统之前，先说一说6678DSP中断系统。C6678的CPU中断是由C66x CorePac Interrupt Controller配置的。该中断控制器（C66x CorePac Interrupt Controller）,下文直接称66x中断控制器。 66x中断控制器允许将最多128个系统事件映射到12个CPU中断上（CPUINT4 - CPUINT15），或映射到CPU异常，或映射到高级仿真逻辑上。。 上面说的CPU异常和高级仿真逻辑都.]]></description><category></category></item><item><title><![CDATA[linux下的timerfd机制]]></title><link>https://blog.youkuaiyun.com/jiangganwu/article/details/103045419</link><guid>https://blog.youkuaiyun.com/jiangganwu/article/details/103045419</guid><author>jiangganwu</author><pubDate>Wed, 13 Nov 2019 11:14:47 +0800</pubDate><description><![CDATA[timerfd是Linux为用户程序提供的一个定时器接口。这个接口基于文件描述符，通过文件描述符的可读事件进行超时通知，所以能够被用于select/poll的应用场景。timerfd是linux内核2.6.25版本中加入的借口。
timerfd、eventfd、signalfd配合epoll使用，可以构造出一个零轮询的程序，但程序没有处理的事件时，程序是被阻塞的。这样的话在某些移动设备上程序更省电...]]></description><category></category></item><item><title><![CDATA[利用LinuxPTP进行时间同步(软/硬件时间戳)]]></title><link>https://blog.youkuaiyun.com/jiangganwu/article/details/102935517</link><guid>https://blog.youkuaiyun.com/jiangganwu/article/details/102935517</guid><author>jiangganwu</author><pubDate>Wed, 06 Nov 2019 15:19:06 +0800</pubDate><description><![CDATA[PTP的一些名词

PTP域中的节点称为时钟节点，PTP协议定义了以下三种类型的基本时钟节点：
OC（Ordinary Clock，普通时钟）：只有一个PTP通信端口的时钟是普通时钟。
BC（Boundary Clock，边界时钟）：有一个以上PTP通信端口的时钟。
TC（Transparentclock，透明时钟）：与BC/OC相比，BC/OC需要与其它时钟节点保持时间同步，而TC则不与其它时钟...]]></description><category></category></item><item><title><![CDATA[Linux系统调用(syscall)原理]]></title><link>https://blog.youkuaiyun.com/jiangganwu/article/details/102852896</link><guid>https://blog.youkuaiyun.com/jiangganwu/article/details/102852896</guid><author>jiangganwu</author><pubDate>Fri, 01 Nov 2019 10:39:48 +0800</pubDate><description><![CDATA[引言：分析Android源码的过程中，要想从上至下完全明白一行代码，往往涉及app、framework、native一直到kernel，可能迷失到代码世界，明白了系统调用原理，或许能帮你峰回路转，找到进入kernel函数的入口。本文主要讲解ARM架构相关源码：



/bionic/libc/kernel/uapi/asm-arm/asm/unistd.h
/bionic/libc/arch-a...]]></description><category></category></item><item><title><![CDATA[特征值和特征向量]]></title><link>https://blog.youkuaiyun.com/jiangganwu/article/details/102764494</link><guid>https://blog.youkuaiyun.com/jiangganwu/article/details/102764494</guid><author>jiangganwu</author><pubDate>Sun, 27 Oct 2019 10:44:37 +0800</pubDate><description><![CDATA[一. 通俗理解

假设我们现在用矩阵A对坐标系进行线性变换，坐标系中变换前后方向不变的向量即是矩阵A的特征向量。
最简单的例子，考虑将一个正方形木框挤压成一个菱形，两条对角线在挤压前后方向不变，只是长度伸缩。
对于一个长宽不等的矩形，沿着某一条对角线挤压，挤压前后该对角线方向不变，只是长度伸缩，另一条对角线方向却会变化。

变换前后方向不变的向量即为特征向量。
也可以将线性变换理解为沿着特征向量进...]]></description><category></category></item><item><title><![CDATA[CCS5.5如何配置simulator模拟器调试]]></title><link>https://blog.youkuaiyun.com/jiangganwu/article/details/101204043</link><guid>https://blog.youkuaiyun.com/jiangganwu/article/details/101204043</guid><author>jiangganwu</author><pubDate>Mon, 23 Sep 2019 14:29:08 +0800</pubDate><description><![CDATA[创建最简单的HelloWorld工程，选择实际对应的硬件平台信息，记得展开“Advanced settings”添加cmd文件；


展开新建的CCS工程，并打开targetConfigs目录下的.ccxml文件，在该文件中做如下配置：
Connection：Texas Instruments Simulator

Board or Device ： C6678 Device Functiona...]]></description><category></category></item><item><title><![CDATA[python代码在无循环的情况下会多次重复执行]]></title><link>https://blog.youkuaiyun.com/jiangganwu/article/details/101111038</link><guid>https://blog.youkuaiyun.com/jiangganwu/article/details/101111038</guid><author>jiangganwu</author><pubDate>Sat, 21 Sep 2019 17:07:19 +0800</pubDate><description><![CDATA[最近执行一个python文件时发现，代码实际按照正常逻辑运行，但是多个代码段会重复执行多次，经查找相关资料，确定大致问题与import导入模块有关（但奇怪的是import某些模块会导致重复执行，有的则正常，后续待研究）。

当定义一个方法，并在后面调用执行的时候，python会在调用的时候先将函数内的程序先无差别的执行一遍，再进行用户真正需要的执行。

在python中，文件后缀为.py的文件有两...]]></description><category></category></item><item><title><![CDATA[linux下raid(md)驱动源码解析]]></title><link>https://blog.youkuaiyun.com/jiangganwu/article/details/100541532</link><guid>https://blog.youkuaiyun.com/jiangganwu/article/details/100541532</guid><author>jiangganwu</author><pubDate>Wed, 04 Sep 2019 16:20:20 +0800</pubDate><description><![CDATA[md源代码解析-part1

最近花了一段时间认真地学习了一下md代码，并且在原代码的基础上开发了一系列的新功能，这些新功能让md更完善、更适合于企业大容量存储，通过增加阵列缓存和bitmap优化大大提升了存储速度，提高了数据的可靠性，在任何掉电的情况下保证数据一致性，超级块异常情况下完全不影响阵列使用，完全控制了踢盘问题，简化了用户操作。简单地概括一下，就是让存储不再有门槛。说了这么多，其实想表...]]></description><category></category></item><item><title><![CDATA[kernel:NMI watchdog: BUG: soft lockup - CPU#6 stuck for 28s! CentOS7linux中内核被锁死]]></title><link>https://blog.youkuaiyun.com/jiangganwu/article/details/89711354</link><guid>https://blog.youkuaiyun.com/jiangganwu/article/details/89711354</guid><author>jiangganwu</author><pubDate>Tue, 30 Apr 2019 16:04:41 +0800</pubDate><description><![CDATA[内核软死锁（soft lockup）bug原因分析

Soft lockup名称解释：所谓，soft lockup就是说，这个bug没有让系统彻底死机，但是若干个进程（或者kernel thread）被锁死在了某个状态（一般在内核区域），很多情况下这个是由于内核锁的使用的问题。

 Linux内核对于每一个cpu都有一个监控进程，在技术界这个叫做watchdo...]]></description><category></category></item><item><title><![CDATA[linux下PCI设备的注册及初始化流程分析]]></title><link>https://blog.youkuaiyun.com/jiangganwu/article/details/89414275</link><guid>https://blog.youkuaiyun.com/jiangganwu/article/details/89414275</guid><author>jiangganwu</author><pubDate>Sat, 20 Apr 2019 11:00:53 +0800</pubDate><description><![CDATA[在前面我们已经看到，PCI的注册就是将PCI驱动程序挂载到其所在的总线的drivers链，同时扫描PCI设备，将它能够进行驱动的设备挂载到driver上的devices链表上来，这里，我们将详细地查看这整个流程的函数调用关系。    pci_register_driver()-&gt;__pci_register_driver()


[Copy to clipboard...]]></description><category></category></item><item><title><![CDATA[RAID0 RAID1 RAID10 RAID5 JBOD详解]]></title><link>https://blog.youkuaiyun.com/jiangganwu/article/details/88050798</link><guid>https://blog.youkuaiyun.com/jiangganwu/article/details/88050798</guid><author>jiangganwu</author><pubDate>Fri, 01 Mar 2019 10:40:21 +0800</pubDate><description><![CDATA[raid(Redundant Array of Independent Disk 独立冗余磁盘阵列)技术是加州大学伯克利分校1987年提出，最初是为了组合小的廉价磁盘来代替大的昂贵磁盘，同时希望磁盘失效时不会使对数据的访问受损 失而开发出一定水平的数据保护技术。raid就是一种由多块廉价磁盘构成的冗余阵列，在操作系统下是作为一个独立的大型存储设备出现。raid可以充分发 挥出多块硬盘的优势，可以提...]]></description><category></category></item><item><title><![CDATA[在飞腾平台移植SNMP服务过程]]></title><link>https://blog.youkuaiyun.com/jiangganwu/article/details/87706052</link><guid>https://blog.youkuaiyun.com/jiangganwu/article/details/87706052</guid><author>jiangganwu</author><pubDate>Tue, 19 Feb 2019 15:50:48 +0800</pubDate><description><![CDATA[1. 从官网下载指定版本的SNMP，此处选择5.7.3，地址为：https://sourceforge.net/projects/net-snmp/files/net-snmp/5.7.3/

2. 解压：tar -zxvf net-snmp-5.7.3.tar.gz，解压后生成一个net-snmp-5.7.3目录；

3. 设置系统时间：date -s &quot;2019-01-02 01:01:01&quot;...]]></description><category></category></item><item><title><![CDATA[Qt Creator出现cannot find -lGL的问题的两种解决方法]]></title><link>https://blog.youkuaiyun.com/jiangganwu/article/details/87713176</link><guid>https://blog.youkuaiyun.com/jiangganwu/article/details/87713176</guid><author>jiangganwu</author><pubDate>Tue, 19 Feb 2019 15:48:27 +0800</pubDate><description><![CDATA[在linux下安装的qtcreator，在编译工程时，报错：“cannot find -lGL”，这种错误一般有如下两种原因：

一种是没有安装libGL库，那么就重新安装：sudo apt-get install libgl1-mesa-dev
一种是装了，但是路径不对，那么需要重新配置一下路径：

先通过locate查询下，的确有libGL库，如下示：

$ locate libGL

/us...]]></description><category></category></item><item><title><![CDATA[在飞腾平台安装测试SNMP服务]]></title><link>https://blog.youkuaiyun.com/jiangganwu/article/details/87698567</link><guid>https://blog.youkuaiyun.com/jiangganwu/article/details/87698567</guid><author>jiangganwu</author><pubDate>Tue, 19 Feb 2019 13:59:13 +0800</pubDate><description><![CDATA[一、安装SNMP

1.1、下载Net-SNMP的源代码

　　选择一个SNMP版本，比如5.7.1，下载地址如下：https://sourceforge.net/projects/net-snmp/files/net-snmp/5.7.3/，如下图所示：



1.2、编译安装

1.  解压：tar -zxvf net-snmp-5.7.3.tar.gz，解压后生成一个net-snmp-5.7...]]></description><category></category></item><item><title><![CDATA[win10安装docker(配置国内镜像加速)并实现scrapy通过splash爬取动态网页]]></title><link>https://blog.youkuaiyun.com/jiangganwu/article/details/87660249</link><guid>https://blog.youkuaiyun.com/jiangganwu/article/details/87660249</guid><author>jiangganwu</author><pubDate>Tue, 19 Feb 2019 01:10:01 +0800</pubDate><description><![CDATA[1、Docker溯源

Docker的前身是名为dotCloud的小公司，主要提供的是基于 PaaS（Platform as a Service，平台及服务）平台为开发者或开发商提供技术服务，并提供的开发工具和技术框架。因为其为初创的公司，又生于IT行业，dotCloud受到了IBM，亚马逊，google等公司的挤压，发展举步维艰。于是，在2013年dotCloud 的创始人，年仅28岁的Solo...]]></description><category></category></item><item><title><![CDATA[STM32的8种GPIO输入输出模式深入详解]]></title><link>https://blog.youkuaiyun.com/jiangganwu/article/details/85267747</link><guid>https://blog.youkuaiyun.com/jiangganwu/article/details/85267747</guid><author>jiangganwu</author><pubDate>Wed, 26 Dec 2018 20:24:20 +0800</pubDate><description><![CDATA[ 

输入模式

    -输入浮空（GPIO_Mode_IN_FLOATING）

    -输入上拉(GPIO_Mode_IPU)

    -输入下拉(GPIO_Mode_IPD)

    -模拟输入(GPIO_Mode_AIN)

输出模式

    -开漏输出(GPIO_Mode_Out_OD)

    -开漏复用功能(GPIO_Mode_AF_OD)

    -推挽式输出(GPI...]]></description><category></category></item><item><title><![CDATA[DES加密算法]]></title><link>https://blog.youkuaiyun.com/jiangganwu/article/details/85060337</link><guid>https://blog.youkuaiyun.com/jiangganwu/article/details/85060337</guid><author>jiangganwu</author><pubDate>Tue, 18 Dec 2018 10:56:20 +0800</pubDate><description><![CDATA[1. DES算法简介

DES算法为密码体制中的对称密码体制，又被称为美国数据加密标准。

DES是一个分组加密算法，典型的DES以64位为分组对数据加密，加密和解密用的是同一个算法。

密钥长64位，密钥事实上是56位参与DES运算（第8、16、24、32、40、48、56、64位是校验位，使得每个密钥都有奇数个1），分组后的明文组和56位的密钥按位替代或交换的方法形成密文组。

DES算法的主...]]></description><category></category></item><item><title><![CDATA[深入解析EXT2文件系统(linux下手动创建文件系统)]]></title><link>https://blog.youkuaiyun.com/jiangganwu/article/details/83996047</link><guid>https://blog.youkuaiyun.com/jiangganwu/article/details/83996047</guid><author>jiangganwu</author><pubDate>Tue, 13 Nov 2018 09:16:12 +0800</pubDate><description><![CDATA[1. 首先生成一个ext2文件系统

我在我磁盘空间有限的Ubuntu中，划出500M的空间来从头学习ext2 文件系统。

dd命令用来创建一个文件，不多说了，通过执行这个dd命令生成了一个全零的大小为512000*1KB的文件，即500MB 的文件。

losetup是设定循环设备（loop service）的，循环设备可以将文件模拟成块设备。然后在块设备上建立我们的ext2文件系统，来进行我...]]></description><category></category></item><item><title><![CDATA[Ext2文件系统格式]]></title><link>https://blog.youkuaiyun.com/jiangganwu/article/details/83992277</link><guid>https://blog.youkuaiyun.com/jiangganwu/article/details/83992277</guid><author>jiangganwu</author><pubDate>Mon, 12 Nov 2018 15:28:28 +0800</pubDate><description><![CDATA[The Second Extended File System(ext2)文件系统是Linux系统中的标准文件系统，是通过对Minix的文件系统进行扩展而得到的，其存取文件的性能极好。　　

在ext2文件系统中，文件由inode（包含有文件的所有信息）进行唯一标识。一个文件可能对应多个文件名，只有在所有文件名都被删除后，该文件才会被删除。此外，同一文件在磁盘中存放和被打开时所对应的inode是不...]]></description><category></category></item><item><title><![CDATA[DCB工作机制解析三（CN）]]></title><link>https://blog.youkuaiyun.com/jiangganwu/article/details/83443617</link><guid>https://blog.youkuaiyun.com/jiangganwu/article/details/83443617</guid><author>jiangganwu</author><pubDate>Sat, 27 Oct 2018 10:30:47 +0800</pubDate><description><![CDATA[一、概述

CN来自于IEEE802.1Qau，它的目地是为带宽-时延积的量级为5Mbit或更小值的网络域中的长时间存在的流增加拥塞管理功能。这种流常存在于DCB网络，存储网络，计算机集群网络等环境中，因而DCB也常用在这些网络环境中。为了使CN技术可以工作，网络中的网桥以及终端都需要支持CN。

该技术可用于是DCB的一部分，它用于避免网络拥塞，以减少丢包和降低网络的延迟（拥塞会导致丢包，丢包后...]]></description><category></category></item></channel></rss>