首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
crc-ccitt源码
2024-09-04
基于Verilog的CRC-CCITT校验
由于笔者在自己设计CRC模块时遇到很多问题,在网上并未找到一篇具有实际指导意义的文章,在经过多次仿真修改再仿真之后得到了正确的结果,故愿意在本文中为大家提供整个设计流程供大家快速完成设计.本文章主要针对具体的实际应用给出一套亲测可行的实现办法,给出设计代码并提供仿真结果,供各位参考. 一.CRC概述 CRC(Cyclic Redundancy Check),循环冗余校验,是一种数字通信中的常用查错校验码.其特征是信息段和校验字段的长度可以任意选定. 校验方法为发送方对信息数据执行约定好除数的二进
CRC校验源码分析
这两天做项目,需要用到 CRC 校验.以前没搞过这东东,以为挺简单的.结果看看别人提供的汇编源程序,居然看不懂.花了两天时间研究了一下 CRC 校验,希望我写的这点东西能够帮助和我有同样困惑的朋友节省点时间. 先是在网上下了一堆乱七八遭的资料下来,感觉都是一个模样,全都是从 CRC 的数学原理开始,一长串的表达式看的我头晕.第一次接触还真难以理解.这些东西不想在这里讲,随便找一下都是一大把.我想根据源代码来分析会比较好懂一些. 费了老大功夫,才搞清楚 CRC 根据”权”(即多项表达
【原】Android热更新开源项目Tinker源码解析系列之二:资源文件热更新
上一篇文章介绍了Dex文件的热更新流程,本文将会分析Tinker中对资源文件的热更新流程. 同Dex,资源文件的热更新同样包括三个部分:资源补丁生成,资源补丁合成及资源补丁加载. 本系列将从以下三个方面对Tinker进行源码解析: Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Android热更新开源项目Tinker源码解析系列之二:资源热更新 Android热更新开源项目Tinker源码解析系类之三:so热更新 转载请标明本文来源:http://www.cnblogs
u-boot源码分析之C语言段
题外话: 最近一直在学习u-boot的源代码,从代码量到代码风格,都让我认识到什么才是真正的程序.以往我所学到的C语言知识和u-boot的源代码相比,实在不值一提.说到底,机器都是0和1控制的.感觉这很像我们中国<易经>里的一句话:"太极生两仪,两仪生四象."两仪指的就是阴阳.天地,对立而又相互依存的一切,它们生成了天地万物.简单的0和1就构成了我们现在所用的操作系统,各种软件.硬件也是由高低电平控制,0和1就是万物. 刚刚在读一本科幻小说,里面提到一种叫做"脑域
CRC循环冗余校验码总结(转)
转自 http://blog.csdn.net/u012993936/article/details/45337069 一.CRC简介 先在此说明下什么是CRC:循环冗余码校验 英文名称为Cyclical Redundancy Check,简称CRC,它是利用除法及余数的原理来作错误侦测(Error Detecting)的.实际应用时,发送装置计算出CRC值并随数据一同发送给接收装置,接收装置对收到的数据重新计算CRC并与收到的CRC相比较, 若两个CRC值不同,则说明数据通讯出现错误 那么其实
[dpdk] 熟悉SDK与初步使用 (三)(IP Fragmentation源码分析)
对例子IP Fragmentation的熟悉,使用,以及源码分析. 功能: 该例子的功能有二: 一: 将IP分片? 二: 根据路由表,做包转发. 路由表如下: IP_FRAG: Socket : adding route (port ) IP_FRAG: Socket : adding route (port ) IP_FRAG: Socket : adding route (port ) IP_FRAG: Socket : adding route (port ) IP_FRAG: Socke
【腾讯Bugly干货分享】微信Tinker的一切都在这里,包括源码(一)
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57ecdf2d98250b4631ae034b 最近半年以来,Android热补丁技术热潮继续爆发,各大公司相继推出自己的开源框架.Tinker在最近也顺利完成了公司的审核,并非常荣幸的成为github.com/Tencent上第一个正式公开的项目. 回顾这半年多的历程,这是一条跪着走完,坑坑不息之路.或许只有自己真正经历过,深入研究过, 才会真正的明白 热补丁不是请客吃饭 对
freemodbus-v1.5.0 源码分析
注:转载请注明出处 http://www.cnblogs.com/wujing-hubei/p/5935142.html FreeModbus协议栈作为从机,等待主机传送的数据,当从机接收到一帧完整的报文后,对报文进行解析,然后响应主机,发送报文给主机,实现主机和从机之间的通信. 1.初始化协议栈---eMBInit函数(mb.c中),以RTU为例 eMBErrorCode eMBInit( eMBMode eMode, UCHAR ucSlaveAddress, UCHAR ucPort,
Nginx学习笔记(六) 源码分析&启动过程
Nginx的启动过程 主要介绍Nginx的启动过程,可以在/core/nginx.c中找到Nginx的主函数main(),那么就从这里开始分析Nginx的启动过程. 涉及到的基本函数 源码: /* * Copyright (C) Igor Sysoev * Copyright (C) Nginx, Inc. */ #include <ngx_config.h> #include <ngx_core.h> #include <nginx.h> static ngx_int
(三)uboot源码分析
一.九鼎官方uboot和三星原版uboot对比(1)以九鼎官方的uboot为蓝本来学习的,以三星官方的这份为对照.(2)不同版本的uboot或者同一版本不同人移植的uboot,可能目录结构和文件内容都有所不同.将来大家懂了后也可以自己根据需要去添加/删除/更改目录结构.(3)九鼎在以三星的uboot为原材料进行移植时,把三星版本的uboot中很多不必要的文件夹.文件给删除掉了.这个删除把很多完全用不到的文件清除出去,减少了整体的文件数量,便于工作. 二.各文件介绍(1).gitignore.gi
2013年8月份第1周51Aspx源码发布详情
校企工作室OA源码 2013-8-9 [VS2010]源码描述:主要模块及系统管理功能说明:一.考勤功能模块:考勤分成三个功能,显示签到功能,查询功能,管理功能.1.签到功能分析:在签到功能中,我们分4个时间段进行设计,上午上课时间签到,上午下课时间签到,下午上课时间签到,下午下课时间签到(四个时间段时间由管理员自己设置,签到的时间只能在设置时间的前后一个小时,这样设计更加的人性化,防止别人没来的及签到,和早到想签到的情况)而且在签到功能签到后,在功能的下方会显示你的签到情况,和你最近一个星期
LevelDB源码剖析
LevelDB的公共部件并不复杂,但为了更好的理解其各个核心模块的实现,此处挑几个关键的部件先行备忘. Arena(内存领地) Arena类用于内存管理,其存在的价值在于: 提高程序性能,减少Heap调用次数,由Arena统一分配后返回到应用层. 分配后无需执行dealloc,当Arena对象释放时,统一释放由其创建的所有内存. 便于内存统计,如Arena分配的整体内存大小等信息. class Arena { public: Arena(); ~Arena(); // Return a poin
leveldb源码笔记
关于KV数据库leveldb的介绍,网上已经太多了,这里只是自己再学习源码过程中,整理的笔记,磁盘存储和内存存储的结构用了伪代码表示出来了,首先是内存中存储结构,然后是log文件存储结构和磁盘数据sst文件存储结构. MemTable存储格式 MemTable底层是用skiplist(跳跃表)进行存储, 数据全部存储在内存中, 具体结构设计如下: class MemTable { enum ValueType { kTypeDeletion = 0x0, /*正常标记*/ kTypeValue
uboot源码整体框架
源码解压以后,我们可以看到以下的文件和文件夹: cpu 与处理器相关的文件.每个子目录中都包括cpu.c和interrupt.c.start.S.u-boot.lds. cpu.c:初始化CPU.设置指令Cache和数据Cache等 interrupt.c:设置系统的各种中断和异常 start.S:是U-boot启动时执行的第一个文件,它主要做最早期的系统初始化,代码重定向和设置系统堆栈,为进入U-boot第二阶段的C程序奠定基础. u-boot.lds:链接脚本文件,对于代码的最后组装非常重
linux内核源码结构
一.概述 Linux内核庞大,但是这些文件的结构还是有章可循的,分别位于不同的目录下,各个目录功能相对独立. 二.源码结构表 目录名 描述 arch 体系结构相关的代码,对于每个架构的CPU,arch目录下有一个对应的子目录,比如arch/arm.arch/i386 block 块设备的通用函数 crypto 常用的加密和散列算法(如AES.SHA等),还有一些压缩和CRC校验算法 drivers 所有的设备驱动程序,里面每一个子目录对一个一类驱动程序,比如drivers/block为块设备驱动
ok6410 u-boot-2012.04.01移植二修改源码支持单板
继ok6410 u-boot-2012.04.01移植一后修改代码,对ok6410单板初始化,主要包括时钟.串口.NAND.DDR等初始化.这些工作在以前的裸板程序都写了,直接拿来用.我觉得先写裸板程序对移植u-boot还是很有帮助的,以前写的裸板代码不管是在u-boot移植还是后面的驱动开发,都用得着. 开发环境: 系统:ubuntu 10.04.4 单板:ok6410 NAND FLASH:K9GAG08U0D 2048MB NOR Flash:EN29LV160AB 2MB DDR:K4X
【Zookeeper】源码分析之持久化--FileTxnLog
一.前言 前一篇已经分析了序列化,这篇接着分析Zookeeper的持久化过程源码,持久化对于数据的存储至关重要,下面进行详细分析. 二.持久化总体框架 持久化的类主要在包org.apache.zookeeper.server.persistence下,此次也主要是对其下的类进行分析,其包下总体的类结构如下图所示. · TxnLog,接口类型,读取事务性日志的接口. · FileTxnLog,实现TxnLog接口,添加了访问该事务性日志的API. · Snapshot,接口类型,持久层快照接口.
【Zookeeper】源码分析之持久化--FileSnap
一.前言 前篇博文已经分析了FileTxnLog的源码,现在接着分析持久化中的FileSnap,其主要提供了快照相应的接口. 二.SnapShot源码分析 SnapShot是FileTxnLog的父类,接口类型,其方法如下 public interface SnapShot { /** * deserialize a data tree from the last valid snapshot and * return the last zxid that was deserialized *
HeartBeat源码安装
只是写了安装流程,具体信息查看互联网; 环境: CentOS6.8 x86_64 min Heartbeat 3.0.6 http://hg.linux-ha.org/heartbeat-STABLE_3_0/archive/958e11be8686.tar.bz2 Cluster Glue 1.0.12 http://hg.linux-ha.org/glue/archive/0a7add1d9996.tar.bz2 Resource Agents 3.9.6 https://github.co
java自然语言理解demo,源码分享(基于欧拉蜜)
汇率换算自然语言理解功能JAVA DEMO >>>>>>>>>>>>>>>>>>>>>>>> 欢迎转载 <<<<<<<<<<<<<<<<<<<<<<<< 本文原地址:http://blog.csdn.net/happycx
LevelDB的源码阅读(四) Compaction操作
leveldb的数据存储采用LSM的思想,将随机写入变为顺序写入,记录写入操作日志,一旦日志被以追加写的形式写入硬盘,就返回写入成功,由后台线程将写入日志作用于原有的磁盘文件生成新的磁盘数据.Leveldb在内存中维护一个数据结构memtable,采用skiplist来实现,保存当前写入的数据,当数据达到一定规模后变为不可写的内存表immutable table.新的写入操作会写入新的memtable,而immutable table会被后台线程写入到数据文件.Leveldb的数据文件是按层存放
热门专题
asp.net 当前上下文中不存在名称"Sessions
mybatis 绑定时间戳
ad19.1.6 覆铜没和地连一起
Apple 企业采购优惠政策 All In One
pip安装后No module named
boost asio 传输 文件
delete网页打开报404
flask 对数据库先限制条数在分组
使用ansible的playbook向文件添加多行内容
mysql numeric decimal区别
安装VS2015时出现安装包丢失或者损坏
C 中函数调用前必须先声明
按shift空格失效
C#TEntity和T有啥区别
win控制台utf-8
西门子PLC可以有多少个OB
Android拍照获得图片URI为空
python最大单调递减子序列的长度
openwrt内核 gpio功能
jquery 页面截图