自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

metersun的专栏

强者恒强,弱者恒弱

  • 博客(60)
  • 资源 (2)
  • 收藏
  • 关注

原创 AES加密算法

和DES加密算法相比,AES提供了更高的安全性,在TLS握手后的数据传输阶段,所使用的共享密钥算法就是AES加密模式。

2021-10-06 14:17:51 3338

原创 一步一步搭建k8s

环境:ubuntu18.04 64bitsmaster IP: 192.168.1.131node1 IP:192.168.1.132网关和DNS服务器:192.168.1.100可在win10的网络和internet属性中,点击“状态–>查看硬件和连接属性”中获取子网中网关和DNS服务器IP地址。一、ubuntu系统配置:解决A stop job is running for Snappy daemon并等待很长时间的问题:sudo gedit /etc/syst

2021-02-18 13:24:53 506

原创 struct files_struct和struct fdtable

struct files_struct和struct fdtable的初始化我们先来列出struct files_struct和struct fdtable的定义,为了讨论方面,下面的定义中略去了很少一部分的锁成员,下面的代码均摘自linux 2.6.24。struct files_struct在<include/linux/fdtable.h>中定义如下:struct files_s...

2018-05-30 18:11:09 4967 1

原创 list和hash list

链表是内核源码中非常重要的数据结构,内核中大量的对象都是通过链表组织连接的,以此来展示内核对象之间的关系。在linux内核源码中,使用了两种链表:普通的循环双向链表list和双向链表hash list。关于循环双向链表list的讨论文章已经足够多,我这里主要剖析令人迷惑的hash list。我们先从普通list的操作入手,然后讨论hash list和它的差异,这样能便于清晰理解地hash list...

2018-05-28 16:23:04 7377

原创 linux驱动初步

主机环境:ubuntu 16.04 64bit在虚拟机中安装完ubuntu 16.04后,默认的环境是可以直接进行驱动开发的,而无需重新编译内核树。下面以Linux ubuntu 4.13.0-36-generic ubuntu 16.04  64bit为例,介绍简单驱动程序的编写和测试。1.hello.c文件#include <linux/init.h>#include <li...

2018-04-05 08:57:54 1095

原创 DDR3的电源

以前在DDR 硬件电路设计过程中,关于DDR的电源设计部分存在着不合理的部分,下面简单介绍一下DDR的电源:DDR的电源可以分为三类:(1)主电源VDD和VDDQ主电源的要求是VDDQ=VDD,VDDQ 是给IO buffer供电的电源,VDD 是给但是一般的使用中都是把VDDQ和VDD 合成一个电源使用。有的芯片还有VDDL,是给DLL供电的,也和VDD使用同一电源即可。电源设计时,需要考虑电压...

2018-04-02 11:37:08 12207 1

原创 Linux内核构建系统---前言

真是弹指一挥间,从最初的在S3C2440上构建分析u-boot,linux到现在已经7,8年了。记得当初使用的还是阳出的S3C2440开发板,使用的内核还是2.4。那时可查的网络资料也比较少,记得当时苦于u-boot的make过程,一直没能搞清楚其make机理。后来,由于工作原因,此项学习,几次重拾,又几次放弃。2017年下夏,终于下定决心要彻底弄明白linux系统的构建原理。现将此学习分析过程的...

2018-04-02 10:51:16 552

原创 在eclipse中编译u-boot

开发环境:主机:ubuntu 16.04 64bit,4核CPUu-boot版本:u-boot.2017.07cross gcc: $sudo apt-get install gcc-arm-linux-gnueabihf开发板:sabrelite 6Q一 .安装jdk下载jdk:http://www.oracle.com/technetwork/java/javase/downloads/jdk...

2018-04-02 10:09:16 1786

原创 在STM32CubeMX生成的工程中增加并编译RTX5源码

前言:STM32CubeMX是意法推出的基于STM32的一款强大的可视化开发软件,在常规的产品开发中,可以结合可视化的硬件配置来完成系统平台的初始化配置,选用一些中间软件包,如OS,FS等。RTX5是Keil公司打造的一款轻量型,实时,低延迟,高可靠,安全的操作系统,MDK开发环境本身集成了RTX5软件包。但STM32CubeMX中不包含RTX5组件包,并不支持RTX5组件包,这需要在STM32C...

2018-03-31 10:11:37 9163 3

原创 allegro PCB封装规范

1.尺寸标注放在PACKAGE GEOMETRY-->DIMENSION如PACKAGE GEOMETRY-->DIMENSION不可用,则使用Allegro PCB Librarian XL来建立封装2.丝印线宽:0.15mm3.REF为集成器件为U*,电容为C*,电阻为R*,等等4.文字注释:包括:封装简要说明所对应的芯片单位封装名称引脚长度上图中L:0.75/0.45为引脚长度,...

2018-03-17 10:03:39 1947

原创 IEEE 802.15.4-2006 调制格式

IEEE 802.15.4-2006 调制格式本节目的是介绍IEEE802.15.4 定义的2.4GHz 直接序列扩频频谱(DSSS)的RF 调制格式。完整描述请参阅标准文件 http://standards.ieee.org/getieee802/download/802.15.4-2006.pdf。调制和扩频功能如图19-1 的方块图所示。每个字节分为两个符号,每个符号4 位。低位符号首先传输...

2018-03-15 13:13:20 2341

原创 I.MX RT1052核心板

使用SO-DIMM200接口,所有的信号线基本都引出。核心板集成以太网PHY,HyperFlash,备用QSPI Flash。PCB(4层)截图如下:

2018-02-24 10:31:09 7832 1

原创 IEEE 802.15.4的信道接入机制<三>信标网络中的GTS

八.信标网络中的GTS信道接入管理1.基本概念和要点1.1 GTS基本概念GTS,guaranteed time slot,保证时隙。它用来管理基于时隙的信标网络中非CSMA-CA信道接入。GTS作用于超帧的CFP期间,它是信标网络中TDMA信道接入实现机制的具体单位。在超帧的CFP竞争空闲期间,将CFP划分为多个保证时隙(GTS),各个设备请求并获取该保证时隙(GTS),而保

2017-11-12 16:47:41 3561

原创 IEEE 802.15.4的信道接入机制<二>信标网络中的CSMA-CA算法

七. 信标网络中的CSMA-CA算法相较于非信标网络的CSMA-CA算法,在信标网络中,CSMA-CA算法中有如下几点需要注意:1.对齐要求在时槽CSMA-CA中,PAN中每个设备的退避周期边界应与PAN协调器的超帧时槽边界对齐。也就是说,每个设备的第一个退避周期的开始和信标传输的开始对齐。the start of the first backoff period

2017-11-10 21:02:58 3478 5

原创 IEEE 802.15.4的信道接入机制<一>基础、信标和非信标帧网络

一. 信道接入基础1.概述如果只是一个设备向另一个设备发送数据时,此时设备可以独占所有信道资源。但是当多个设备使用单一信道进行通信时,就会发生冲突。信道接入的主要目的就是解决多个设备访问单一信道时信道竞争。信道接入是MAC层的核心功能。2. 信道接入的分类:    2.1 固定信道接入技术:        每个设备的通信都占用确定的信道资源,即使信道资源是动态分配的

2017-11-10 20:18:25 13290 4

原创 IEEE 802.15.4 CSMA-CA算法翻译(IEEE 802.15.4-2006 7.5.1.4 CSMA-CA algorithm)

在CAP内,传输数据或MAC命令帧之前,应使用CSMA-CA算法。除非可以在确认数据请求命令后快速发送帧。CSMA-CA算法不得用来信标网络中的信标帧、确认帧、以及在CFP中的数据帧传输。在信标网络中,MAC层在超帧结构中的CAP期间内,将使用基于时隙的CSMA-CA算法传输。相反的,如果在非周期性的信标传输中,将使用非时槽的CSMA-CA算法。在这两种情况中,该算法是通过使用被称

2017-11-07 11:58:36 1859

原创 FCF中地址控制域设定值对帧中所包含地址的影响

本文讨论的是FCF中相关的地址控制域的设定值对帧中所包含地址的影响。FCF涉及地址控制的域包括PAN ID Compression、destination address mode和source address mode。destination address mode和source address mode的值对地址包含的影响是比较清晰的,即如果它们的值为0,即不存在相应的地址和PA

2017-11-05 10:30:56 575

原创 CC2530中的帧过滤(兼容IEEE 802.15.4-2006三级帧过滤)

一. MAC FCF描述1. FCF描述帧过滤需要结合MAC层MHR中的FCF域来进行控制,FCF的描述如下:bit no名称描述0:2帧类型Frame Type0b000  信标帧0b001  数据帧0b010  应答帧0b011  命令帧其他值预留。3

2017-11-05 10:00:05 2075

原创 CC2530中的MAC层确认帧(兼容IEEE 802.15.4-2006)

一 . IEEE[1] reference中确认帧描述7.2.2.3 Acknowledgment frame formatThe acknowledgment frame shall be formatted as illustrated in Figure 53.7.2.2.3.1 Acknowledgment frame MHR fieldsThe MHR for

2017-11-05 09:51:34 2241

原创 CC2530中的源地址匹配

一.  背景知识:数据传输---直接传输和间接传输:直接传输        协调点到普通节点、普通节点到协调点以及对等节点间的数据传输工作方式均可采用直接传输。        间接传输:        只用于协调器,当协调器向普通节点传输数据时才可采用间接传输的工作方式。二. 源地址匹配的应用场景三个方面的应用:1. 帧未决位

2017-11-04 17:48:36 1157

原创 结合STM32CubeMX创建Orcad原理图器件库文件

我们使用意法的工具STM32CubeMX进行引脚配置后,可以利用它的引脚描述导出功能生成Orcad原理图器件库文件。下面以STM32F429为例,详细说明其过程。1.在STM32CubeMX中,点击菜单Pinout-->Generate CSV pinout text file-->Generate CSV without Alternate Functions   导出CSV文件

2017-10-17 09:45:03 2715

原创 IOT 网关(+终端)

STM32 + ZIGBEE +BLUETOOTH + WIFI + 有线网:

2017-09-06 22:25:55 2301

原创 使用STM32CubeMX进行STM32F429 LCD编程<二>层配置

一.配置重载所有层的寄存器均执行影子操作。一旦对某个寄存器执行写操作,便不应在重载完成前再次进行修改。因此,如果在尚未重载时对同一寄存器执行新的写操作,则将覆盖之前的配置。该控制通过配置寄存器SRCR来完成。在HAL_LTDC_ConfigLayer(stm32f4xx_hal_ltdc.c中)函数中有:/* Set the Immediate Reload type

2017-08-21 10:35:49 9253 16

原创 使用STM32CubeMX进行STM32F429 LCD编程<一> 全局配置

说明:下面的程序均以STM32Cube_FW_F4_V1.16.0中的库为例。STM32CubeMX版本号为STM32CubeMX 4.22.0LCD为1024 x 768 15寸液晶使用SDRAM作为LCD帧缓冲一.STM32F429 LTDC内部结构图:层 FIFO每层一个 64x32 位 FIFO。PFCPixel Format C

2017-08-21 10:11:10 7789 15

原创 make变量和shell变量的比较

一.变量名  make变量名是不包括“:”、“#”、“=”、前置空白和尾空白的任何字符串。  shell中的变量名和C语言中的要求一样,即只能是字母,数字和下划线,且  第一个字符不能是数字二.定义  shell中也可以嵌套定义,如  VAR="yanghua is good man"  VAR1=$VAR  和make不同,shell中引用的变量要在此前定义过

2017-04-25 12:05:26 601

原创 使用意法的STM32CubeMX工具软件进行系统设计和检查(草稿)

意法的STM32CubeMX是一款非常便于使用的硬件,软件设计工具.....

2017-04-24 12:43:28 494

原创 allegro PCB 检查报告中的Report DangLine以及禁用Antenna vias

allegro 自带的Report DangLine检查功能其实还是比较好用的,但其将DangLine和Antenna vias的检查归于一项,通常我们并不需要Antenna vias的检查。Antenna vias的检查功能可在allegro禁用:preferences-->manufacture--> reports下禁用report_antennavia.附 关于Ante

2017-04-24 12:36:52 6873

原创 allegro等长规则设定中的Delta-Tolerance

在包含clock信号线的功能模块组中,如LVDS,HDMI,DSI,并口LCD,HDMI功能模块中,均含有clock信号线,在这些功能模块中,其他走线均以clock为参考,且其长度均要短于clock。在allegro的constaintde Relative Delay设定中,这些功能模块的组内等长设置都是以clock为Relative Delay的target,且在Delta:Toleran

2017-04-24 12:29:34 9842

原创 I.MX7 PCB设计

前段时间一直在做I.MX7硬件系统设计。由于I.MX7相较于I.MX6的引脚较少,我使用了SO-DIMM200来作为核心板和底板的接口。但即使如此,部分接口也未能引出,如PCI-E。且由于布板空间的限制,未使用NAND FLASH(Nand Flash会逐渐被淘汰的)。下面是PCB设计的部分截图:1.总揽图:2.DDR3布线:3.电源层分隔:

2017-04-24 12:08:05 1113

原创 I.MX6 PCB设计的一点心得

从最初的protel 99se 双面板,四层板,到使用PADS 设计的8层板,到当前主要使用allegro来进行大部分的4层,6层,8层板设计,做PCB设计和布板断断续续已近10年了。由于工作需要,我不能把全部精力放在硬件设计上,不得不抽出大量的时间来做软件和系统设计(这么多年也一直关注linux的发展)。人的时间和精力是非常有限的。所以,在软硬件方面,我自愧都不能走的太远。2016年中,

2017-04-24 11:31:12 3524 3

原创 PCB设计中插头外壳地的统一处理

在PCB设计中,诸如USB,以太网等插头的外壳地,其和PCB内部的GND分隔,并统一处理为:单点接地,安装后连接到机壳地上,下图为该处“地”的经典处理处理:

2017-02-16 16:00:36 4203

原创 最近的读书计划

甲骨文系列图书读起来确实比较有意思。该套图书包含的主要是一些史书,但又不是通常意义上的通史,严格来讲,也不是断代史。更多的只是截取某一历史片段,加以演绎---确实用“演绎”这个词更准确些,因为作者力求这些书不仅真实,而且写得还有趣。我最近每天都读上50页左右,读起来很吸引人,如果有足够时间的话。我2016年双11在京东购买该系列的书有:甲骨文丛书:天国之秋甲骨文丛书·享乐主义宣言

2017-01-08 10:02:24 935

原创 2017年1月6日读书

最近在读《天国之秋》,美国耶鲁大学博士裴士锋著,甲骨文系列丛书之一。、

2017-01-07 13:10:46 613

原创 函数main_loop和u-boot命令执行

一.main_loop函数执行流程和命令解释器run_main_loop是board_r中函数运行列表init_fnc_t init_sequence_r[]最后一个函数,它又调用了main_loop,且run_main_loop永不返回。static int run_main_loop(void){ /* main_loop() can return to retry autoboot...

2016-09-21 09:11:14 6043 3

原创 u-boot中环境变量操作和hash表

u-boot对环境变量的处理主要包括两部分:一是环境变量初始化,二是环境变量的设定、删除等操作。下面将分别进行讨论。这里所使用的u-boot版本为2015.7,硬件为I.MX6 boundary nitrogen6q开发平台。一 .环境变量初始化1.读取环境变量环境变量的初始化在board_init_f阶段完成,其有在common/barod_r.c中定义的静态函数initr_

2016-09-19 11:42:25 3495 1

原创 u-boot串口和stdio、console初始化及相关操作详解<三>

console是构建在stdio之上的,console的初始化是board_r中最后收尾的操作。console的初始化函数console_init_r在common/console.c中实现:int console_init_r(void){ char *stdinname, *stdoutname, *stderrname; struct stdio_dev *inputd

2016-09-19 10:51:11 4006

原创 u-boot串口和stdio、console初始化及相关操作详解<二>

二.board_r阶段串口操作和stdio初始化该阶段包括3个函数:stdio_init_tables、 initr_serial、stdio_add_devices。下面逐一对其进行详细说明。1. stdio_init_tablesint stdio_init_tables(void){ /* Initialize the list */ INIT_LIST_HEA

2016-09-14 11:42:12 1984

原创 u-boot串口和stdio、console初始化及相关操作详解<一>

当u-boot的启动执行到_main函数处,将在_main函数中执行板级的前初始化和后初始化操作,即函数board_init_f和board_init_r。串口的初始化以及相关stdio、console操作穿插在这两个函数的执行过程中。下面将分别详细讨论这两阶段中涉及的串口及stdio、console设备操作。这里所使用的u-boot版本为2015.7,硬件为I.MX6 boundar

2016-09-13 17:09:59 4814 1

原创 I.MX6 u-boot.imx中IVT、DCD等头部数据的生成

IVT、Boot Data structures、DCD是I.MX6启动时的重要数据和配置。IVT中包含Boot Data structures、DCD地址定位的信息。BOOT ROM 根据这些地址定位找到DCD的存储位置,使用DCD中的配置参数,来初始化DDR,配置时钟,以及其他启动时必要的硬件设置。Boot Data structures中包含数据拷贝的目标地址和长度, BOOT RO

2016-08-27 10:41:13 8596

原创 linux内核Makefile中的build构建机制

一. build定义:scripts/Kbuild.includebuild := -f $(if $(KBUILD_SRC),$(srctree)/)scripts/Makefile.build obj$(KBUILD_SRC)常规情况下为空,所以的变量定义可简化为:build := -f scripts/Makefile.build obj

2016-08-15 17:09:40 12215 1

unix高级环境编程(第三版)超清,非扫描版

unix高级环境编程(第三版)超清,非扫描版,包含目录,可内容复制

2018-09-19

STM32F407VGT6 原理图(pdf)

stm32f4discovery开发板原理图(pdf)

2012-08-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除