- 博客(123)
- 资源 (31)
- 问答 (1)
- 收藏
- 关注

原创 聊聊量子计算机那些事
文章新地址郑重声明缘由关于量子计算机的一些问题科普视频为什么要研究量子计算机?算法复杂度概率算法的一些思考经典计算机VS量子计算机量子计算机的基本知识量子门操作量子叠加态和传统叠加态量子测量得出的概率和经典概率的区别与联系经典概率性能 VS 量子叠加性能 VS 2的n次方个机器真并行经典算法 VS 量子算法量子编程以grover 算法为例来show 量子计...
2018-01-29 15:38:04
5605
原创 使用 Jekyll和Github-pages搭建自己的blog
朋友,你是否也想拥有一个自主可控的blog系统?先看看我自己的博客:bahutou’s blog。现在就可以用很低的成本实现,这篇文章就详细描述了如何利用现有的开源技术(Jekyll github-pages)搭建属于自己的blog系统。开始行动吧,小伙伴!动机一直以来就很喜欢分享知识,使用过优快云、CNBLOG、51CTO,使用最多的博客系统是优快云,在此感谢优快云提供这样的技术分...
2018-08-08 14:16:00
1172
原创 STM32程序的编译、链接和启动分析
本篇文章以STM32为硬件平台,使用GNU GCC作为开发工具,详细分析Compile 、Link 、Loader的过程以及Image(二进制程序)启动的详细分析。整个过程分析涉及到RW可读写段从Flash到Mem的Copy,BSS段的初始化,Stack和Heap的初始化,C库函数移植、利用Semihosting 实现基本的IO等内容。基本可以让你从更深刻的层面理解Source -> Com...
2018-08-02 09:42:50
12699
8
原创 Stack在函数调用、中断(异常)、RTOS中的应用
在计算机程序中,分支[Branch]具有很重要的意义。函数调用、中断产生时程序的跳转、OS中的Multiple Task的切换等等这些均属于分支范畴,说的直白点就是根据需求合理的控制执行流。执行这些跳转共有一个特征:还需要再返回到跳转前的Point。怎么记录需要返回到哪里?多层级的调用和返回都是有顺序的,怎么保证这些顺序?跳转前如有执行的环境怎么原封不动地保存?这样返回时才能继续之前的工作。程序执...
2018-05-22 16:33:24
1246
2
原创 交换机专栏的组织形式及内容
交换机专栏主要涉及两个内容,使用交换机搭建小型园区网络、交换机内部原理。使用交换机搭建小型网络可以帮助你从更直观的角度理解TCP/IP协议栈以及应用,同时,你像常见的一些网络概念 IP 、Mask 、 GateWay 、 DNS 等有一个直观且全面的理解。交换机内部原理篇则重点关注交换机内部的硬件、软件设计,给一些爱好者解开传统交换机的神秘面纱,也给爱好者们提供一些入门思路。交换机应用篇交...
2018-05-21 10:43:00
536
原创 基于Docker环境开发、调试嵌入式软件(Embedded Software develop/Debug using Docker)
本文使用一个具体的简单的Demo介绍此系列文章的Dev、Debug环境的使用方法,Dev、Debug环境都使用Docker技术提供OS层的环境隔离。以避免在搭建嵌入式开发环境上浪费时间,或者因搭建此嵌入式环境影响了其他开发环境。Docker技术可以解决以上这些困扰。开发环境使用Vi + GNU Cross toolchain,测试环境使用Qemu仿真STM32-P103这款开发板。使用仿真软件仿真开发板也节省了大家购买硬件的开支,同时也方便在有即兴Idea时,随时进行验证。
2018-05-09 16:51:21
6132
1
原创 交换机专栏
计算机发展史上,有两个比较重要的地方,第一个是制造出了能接收用户指令的半自动运算装置—冯.诺依曼机器; 第二个是发明了互联网,将成千上万台机器互联。而交换机是实现将多台电脑互联起来的重要通讯基础设备,因它一般在大楼的弱电间里,非信息化维护人员一般见不到,交换机就像后台工作者,默默无闻地为成千上万机器提供互相通讯的通道。本专栏,从交换机的应用层—实际规划中小型网络到交换机研发层—设计、研发标准三层交...
2018-04-11 13:34:40
499
原创 RTOS-硬件运行环境和μCOS版本说明
本系列文章中使用的软件运行环境:硬件,QEMU(STM32)仿真; 软件,μCOS-III(V3.03.01)。运行环境说明为良好地说明RTOS的方方面面,必须上手亲自调试代码。为了减少CPU架构和指令集方面的理解负担,我们使用RISC指令集的CPU。基于ARM Cortex-M3处理器架构的STM32系列Soc在低功耗嵌入式领域有着比较广泛的应用。因此,我们选择这款Soc作为其硬件平...
2018-04-11 13:31:46
2038
原创 感谢μCOS的作者Jean J.Labrosse
学习μCOS是我个人学习计算机科学以来比较重要的一个节点。从使用μCOS到分析、调试μCOS的所有源代码,经历了这个过程之后才让我对OS有了一个全面、可观的认识。μCOS可以说为我打开了一扇通往精彩计算机世界的窗口,让我有机会领略OS的美。这一切都依赖于Jean J.Labrosse设计了μCOS并开源出来供大家学习,在此感谢Jean J.Labrosse。感谢Jean J.Labrosse...
2018-04-11 13:26:57
1352
原创 RTOS专栏-目录
使用一个实际项目的案例来引出使用RTOS的必要性,然后总结出μCOS的核心内容以及理解这些内容需要的前提知识,做出专栏的详细章节目录。WHY RTOS ???真正理解使用RTOS的好处还得是经历过实际的Project,说一个我工作以后接触到的第一个Project吧。该项目是一个嵌入式控制器,需要做的工作有:读取A/D数据、根据读取到的A/D数据计算结果、和上位机通讯、显示、用户按键。详细一...
2018-04-11 13:25:26
670
原创 RTOS专栏
操作系统作为硬件和软件的中间衔接媒介,起到了承上启下的作用。深刻理解操作系统原理对理解抽象、层次、接口等计算机科学中核心的概念具有很大的帮助。操作系统屏蔽了底层硬件操作细节,管理了CPU、MEM、Device等硬件资源并对上提供了简易的操作接口。个人认为作为中间件的操作系统主要解决了两个痛点: 1,向下屏蔽了底层硬件操作细节。 2,向上提供了Task Management、I...
2018-04-11 13:23:06
429
原创 使用 Jekyll和Github-pages搭建自己的blog
动机整体套路介绍域名申请和域名设置github-pages和Jekyll介绍有关JekyllJekyllJekyll的本地环境搭建使用Jekyll创建blog系统使用Jekyll编写blog发布到github-pagesGem和bundlerLiquidYAMLblog动态语言和静态语言使用开源的Jekyll、Theme快速搭建博客评论系统使用gitalk...
2018-03-09 13:03:25
920
原创 并行计算和并行计算机体系结构
关于并行你知道多少思考多少冯诺依曼计算机体系结构什么是并行计算为什么用并行计算谁在用并行计算硬件提供了哪些支持软件提供了哪些支持总结参考资料关于并行,你知道多少?思考多少?听到“并行”这个词汇,我最先想到的是在多车道上飞驰的汽车,它们是并行运行的。它们之间完全独立吗?并不见得,当一个车道上的车要变道时要打开方向灯,相邻车道的车都会减速避让。可见,并行是发生在大部分时间,有时候有串行的
2017-12-27 09:39:59
12969
1
原创 买期房,你需要知道的----期房维权纪实
目录在技术博客中写房屋维权事宜的说明事情的来龙去脉开发商给你看的房子主卧窗户购房合同上的主卧窗户实际的主卧窗户维权过程联系业主讨论此事选出代表和开发商谈判寻找政府帮助找记者寻求帮助咨询专业律师维权总结后期计划寻求帮助通过购房学习到的房屋购买流程和法律知识前期不动产的考察确保开放商手续齐全交定金交首付办理贷款签订购房合同购房发票在技术博客中写房屋维权事宜的说明
2017-11-22 08:29:19
2981
原创 PCIE 调试过程记录
遇到的问题PCIE link不稳定配置空间读写正常,Memory mapping空间读写异常缘由之前对PCIE的认识一直停留在概念的阶段,只知道是一个高速通讯协议,主要用于板内、板间的高速BUS。正好公司最近在调试一个PowerPC平台的PCIE BUS的BSP。需要一些PCIE的硬件、软件知识。下面通过解决实际问题过程的方法来进一步理解PCIE总线协议。但也仅仅限于工程应用(实际产品中调试、
2017-08-28 17:33:46
16592
9
原创 Jffs2文件系统的制作及使用
Jffs2文件系统的制作及使用,主要介绍了分区的概念,制作、使用jffs2文件系统的方法。.为什么使用Jffs2.分区是啥?.u-boot下的分区和Linux下的分区的联系和区别.怎么制作Jffs2文件系统?.使用Jffs2
2017-08-22 13:50:41
6956
原创 U-boot简介及常用命令说明
使用u-boot开发一些项目有一段时间了,对u-boot也更加熟悉了。以前经常想u-boot存在的意义到底是啥呢?百科上说U-Boot的作用是系统引导。恩?引导系统?具体什么含义?u-boot在实际开发中还有什么具体作用?好吧,如果你对这些问题感兴趣,是吧。………………
2017-05-24 17:50:25
13645
1
转载 vim配置总结
本博文转自:http://www.cppblog.com/runsisi/archive/2013/04/06/199152.html?opt=admin12年的最后一天配置了一下公司RHEL上的vim,公司的网络不允许上传东西和外发邮件,因此总结得回家写,没有RHEL的环境,不过用CentOS或openSUSE也是一样的。毕业快一年了,虽然一直是在Linux下开发,但很多时候还是
2016-03-08 15:29:56
892
原创 使用eclipse 做嵌入式开发
eclipse 作为一个开源的IDE,可以使用ecliose配置一个属于自己的开发环境。 下面的文章对使用eclipse做嵌入式软件的开发、调试做了详细的说明。资料下载地址:http://download.youkuaiyun.com/detail/zhanglianpin/9441068包含Linux 上运行的eclipse的全部资料下载地址: eclipse 开发嵌入式C语言
2016-02-23 22:01:39
2550
原创 linux 下使用man查看命令帮助时 [] <>什么含义
缘由一直以来,使用linux遇到不明白的指令,都是去百度/谷歌去搜索,然后查看技术类博客。最近在想,我还是要利用linux本身自带的命令帮助来实现自我学习,因为系统自带的帮助会比较全面,也比较权威。我就开始回想我知道的查看命令相关帮助的方法:常用查看命令帮助的方法type 命令,可以显示一个命令的类型。type echo 会显示echo is a shell builtin,你起码可以知道这是一个
2016-01-21 09:14:26
6312
转载 Linux动态链接库.so文件的命名及用途总结
我们在linux下开发项目,有时会对外提供动态库,像***.so.1.0.0这样子的文件,另外提供相应的头文件。用户拿到动态库和头文件说明,就可以使用动态库里的function。那随之而来的一个问题是,动态库的升级问题,我们的动态库更改了一个bug,升级了一个版本,那使用我们动态库的应用程序需要重新编译吗?运行时会产生异常吗?linux下是怎么规范这些内容的呐?大家一定听说过win
2016-01-10 14:07:44
26716
1
转载 C语言inline函数
转以前我用Docbook写的一篇关于C语言inline关键字使用的文章。唉,要是能用docbook直接写Blog就好了。用得越多发现Docbook这个东西真是越好用啊~~ 本文介绍了GCC和C99标准中inline使用上的不同之处。inline属性在使用的时候,要注意以下两点:inline关键字在GCC参考文档中仅有对其使用在函数定义(Definition)上的
2015-07-22 15:47:05
943
原创 Zigbee通讯之开发篇(基于TI 的Z-Stack)
1.Zigbee协议和Z-StackZigbee协议和Z-Stack是什么关系?这可能是初学Zigbee同学想知道的问题。给大家举个例子吧,我们生活中使用的插排是要符合一定的标准的,现在国家标准是GB2099.3-2008,里面规定了好多插排的电气、机械等要求。不同厂家生产的插排,要在中国国内销售的话,必须符合这个标准。但是生产这个插排的厂家多了去了,像 公牛、philips等等(排...
2015-07-16 10:06:33
22210
原创 Zigbee通讯漫谈(初次见面)
郑重声明:以下文章内容适合初学Zigbee的童鞋们,大神请略过……1 缘由:工作中听说过Zigbee技术,只是知道是一种无线通讯技术,具体技术细节及使用都不是很清楚。不料,一个项目中需要使用Zigbee技术,这下可是要好好看下Zigbee是啥子东东了。这里写下我对Zigbee技术的一些理解。2 啥是Zigbee呀?Zigbee是一种无线通讯技术。无线,顾名思义,就是通过无线...
2015-07-16 10:04:19
8589
4
原创 重新认识C语言
1.缘起 接触C语言有三四年时间了,工作中也一直使用C语言。但对于一些C语言的特性和定义还存在一些疑问,这里总结一下,作为以后参考。2.C语言的链接属性 工作中无意发现了C语言一个有趣的问题,在两个源文件中定义了同一个未初始化的变量,编译器竟然不报错,但是如果在其中一个文件中定义并初始化,那就会报错。我测试使用的代码如下(测试环境window7(32位)gcc 4
2015-07-06 10:30:02
1081
原创 嵌入式C语言编程规范(个人规约)
0规范制定说明0.1箴言技术人员设计程序的首要目的是用于技术人员沟通和交流,其次才是用于控制CPU的。程序的生命力在于用户使用,程序的成长在于后期的维护及根据用户需求更新和升级功能。如果你的程序只能由你来维护,当你离开这个程序时,你的程序也和你一起离开了,这将给公司和后来接手的技术人员带来巨大的痛苦和损失。因此,为了程序可读、易理解、好维护,你的程序需要遵守一定的规范,你的程序需要设计。
2015-06-18 09:51:38
10978
2
原创 ARM硬件平台上基于UCOS移植Lwip网络协议栈
目录1硬件平台 11.1硬件平台简介 11.2 硬件设计及电路原理图 22. Keil 开发工具及Keil工程简介 62.1 Keil开发工具 62.2 Keil工程简介 62.3 链接文件、启动文件分析 63. UCOS移植 113.1 ucos简介 113.2 ucos移植总述 113.3 和移植UCOS有关的ARM芯片知识 113.4 系统堆栈
2015-06-14 10:33:29
4821
1
转载 C语言 浮点数
一:起因在有些嵌入式项目中,我们需要保存一些浮点数的系数,针对这些系数的处理,我们就要用到C语言中浮点数相关的知识,自己对这方面也是知其然不知所以然,借此机会总结记录一下。二:疑问1,浮点数在计算机中是如何保存的? 2,这些数据精确度到底都是多少? 3,浮点数中的无穷大、无穷小是怎么表示 4,为什么有时候针对浮点数运算,得到的结果不是
2015-05-12 10:49:47
893
原创 Keil C51 的printf
在Keil C51 中使用printf ,首先需要重新实现 putchar(char c)函数。此函数在char putchar (char c) { ES=0; SBUF = c; while(TI==0); TI=0; ES=1; return 0
2015-03-31 14:15:59
16915
转载 产品开关量输出 PNP NPN
产品中经常使用开关量输出,一般分为PNP 和NPN 方式。我们要根据项目需要选型。这两种形式的主要区别是PNP电流是向外流,NPN电流是向里流,就是这样的区别而已.原理图: 另外,使用时还需要注意其电压和电流属性。
2015-03-24 08:44:01
4442
转载 word2007去掉文字当中的白色背景
去掉word2007文字当中的白色背景 页面布局-->页面背景-->页面边框-->底纹将填充设为无颜色填充,应用于文字,有时可能需要应用于段落。 图一图二
2015-03-20 14:01:29
4247
转载 PCB各层的含义 (solder paste 区别)
PCB层的定义: 阻焊层:solder mask,是指板子上要上绿油的部分;因为它是负片输出,所以实际上有solder mask的部分实际效果并不上绿油,而是镀锡,呈银白色!助焊层:paste mask,是机器贴片时要用的,是对应所有贴片元件的焊盘的,大小与toplayer/bottomlayer层一样,是用来开钢网漏锡用的。要点:两个层都是上锡焊接用的,并不是指一个上锡,一个上绿油;那么有没
2015-03-10 13:52:22
136134
11
原创 Modbus协议
1:Modbus协议简介 Modbus协议主要描述的是应用层的信息封装格式,处于OSI模式的第七层(应用层)。Modbus的物理层可以是RS-485、Ethernet II /802.3。Modbus协议栈的层次图: 本文主要介绍Modbus使用物理层是EIA/TIA-485的情况。Modbus主要内容为应用层协议,所以在现实使用中可
2015-02-14 21:19:18
9601
1
原创 学习方法之漫谈(疑,思,学,省,悟,行,乐)
一直在思考,学习本身是一件很有乐趣的事情,到底是什么让学习失去了乐趣。我们很小的时候学习走路,我们摔倒了很多次,但我们依然很开心地去学习大人们走路,摔倒了,我们站起来,接着学。也许是因为我们那时候对整个世界都充满好奇。我将学习分为以下部分:疑 思 学 省 悟 行 乐疑------好奇心,好奇心是兴趣的起点,兴趣是
2014-12-17 09:09:00
1690
转载 拉电流与灌电流(双向通讯思考)
拉电流与灌电流 1、概念拉电流和灌电流是衡量电路输出驱动能力(注意:拉、灌都是对输出端而言的,所以是驱动能力)的参数,这种说法一般用在数字电路中。这里首先要说明,芯片手册中的拉、灌电流是一个参数值,是芯片在实际电路中允许输出端拉、灌电流的上限值(允许最大值)。而下面要讲的这个概念是电路中的实际值。 由于数字电路的输出只有高、低(0,1)两种电平值,高电平输出时,一般是输出端对负
2014-12-15 08:16:40
1369
转载 C语言中标识符的作用域、命名空间、链接属性、生命周期、存储类型
Technorati 标签: C,标识符,作用域,命名空间,链接属性,生命周期,存储类型,scope,name space,linkage,storage durations,lifetime 无论学习哪一种语言,都免不了要讨论这些问题。而且这些问题,深究起来有时也让我们很迷惑。 标识符的定义无需多讲,只需注意不仅仅是指变量,还有函数,标签等。
2014-11-28 10:42:30
4018
转载 C语言中的static 详细分析
google了近三页的关于C语言中static的内容,发现可用的信息很少,要么长篇大论不知所云要么在关键之处几个字略过,对于想挖掘底层原理的初学者来说参考性不是很大。所以,我这篇博文博采众家之长,把互联网上的资料整合归类,并亲手编写程序验证之。 C语言代码是以文件为单位来组织的,在一个源程序的所有源文件中,一个外部变量(注意不是局部变量)或者函数只能在一个源程序中定义一次,
2014-10-11 15:15:38
599
UCOS-III资料和源代码
2018-04-09
eclipse 开发嵌入式软件(编码、调试) 之详细说明
2016-02-23
C语言编程规范(个人规约)
2015-06-18
C语言编程规范
2015-06-18
基于gnu-arm交叉编译链的LPC2220的简单工程模板
2014-08-05
嵌入式linux开发环境搭建(详细篇)
2014-04-27
关于ucosii在arm2410-s上的移植 和移植前的初始化
2011-04-06
linux alsa下实现同时录制、播放pcm???
2015-10-19
TA创建的收藏夹 TA关注的收藏夹
TA关注的人