自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

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

原创 openssl-key-exchange 基于ECDH (Elliptic-Curve Diffie–Hellman) 的密钥交换流程

openssl-key-exchange本文摘自我在GitHub的开源项目https://github.com/zhoupeng6d/openssl-key-exchange简介该方案介绍一种通过ECDH椭圆曲线算法进行密钥交换的流程和方法,这种方案可以在的不安全的通信场景下进行AES密钥协商,即使有第三者监听到了所有的密钥交换信息,也无法获知最终计算出的AES密钥,防止MITM(M...

2019-03-29 11:35:15 4312 2

转载 浅析长度为0的数组

前面在看Xen的源码时,遇到了一段代码,如下所示:注意上面最后一行的代码,这里定义了一个长度为的数组,这种用法可以吗?为什么可以使用长度为0 的数组?长度为的数组到底怎么使用?……这篇文章主要针对该问题进行简单的讲解。废话不多说了,现在就开始。长度为的数组在标准c和c++中是不允许的,如果使用长度为的数组,编译时会产生错误,提示数组长度不能为。但在GNUc中,这种用法却是合法的。它的最典型的用法就是

2016-07-13 17:50:39 448

转载 影响蓝牙BLE设备功耗的几个因素

1、广播的方式蓝牙BLE设备的广播分两种形式:永久广播(GAP_ADTYPE_FLAGS_GENERAL)和限制广播(GAP_ADTYPE_FLAGS_LIMITED)。如果将BLE设备的广播方式设置成永久广播,那么只要BLE设备上电就会开始广播直到BLE设备断电为止。如果将BLE设备的广播方式设置成限制广播,那么打开广播后,超过一定的时间就会自动广播广播以节省电源。所以为了节省BLE设备的功耗,最

2016-06-13 10:10:53 3734

转载 Git Stash保存临时修改用法

最近在使用Git管理项目工程的时候,遇到了很多问题,也学习到了很多关于Git常见使用的技巧,下面就其中关于Git Stash的用法和大家分享下。 首先,简单介绍下Git Stash命令的用法,详细的用法在man文档中有相关介绍,下面我来说明常见的使用。 git stash: 备份当前的工作区的内容,从最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致。同时,将当前的工作区内容保存到G

2016-04-11 20:54:27 793

转载 __attribute__((weak)) 博大精深的gcc ------ 关于弱符号的用法

我们不确定外部模块是否提供一个函数func,但是我们不得不用这个函数,即自己模块的代码必须用到func函数: extern int func(void); ………………. int a = func(); if( a > …..) { ………. } ………… 我们不知道func函数是否被定义了 这会导致2个结果: 1:外部存在这个函数func,并且EXPORT_SYMBOL(fu

2016-04-11 17:15:37 2013

转载 uC/OS如何保存局部变量到任务堆栈中

今天有人跟我请教RTOS任务的切换问题,堆栈部分我发现自己也不是太明白,遂google之,得到一篇很好的文章,分享给大家;(以uC/OS为例说明) 转载自:http://www.cnblogs.com/mojietuyoudianleng/p/4189464.html1.没有OS时,任务如何保存局部变量在我的知识体系里,我一直以为单片机中就只有一个栈,以stm32为例,在启动文件中有怎么一段:;

2016-03-27 00:47:26 1067 1

原创 J-Link和ST-Link批处理方式下载,方便的量产烧录

现在的智能产品大多在量产时是需要给MCU烧录固件的,稳定高效的烧录方式无疑是可以直接节省生产成本的,恰巧之前量产时找到了可以通过批处理命令行的方式来一键烧录固件; 目前主流调试STM32包括J-Link和ST-Link两种方式: J-Link参考《J-Link_V8用户手册》附录二 ST-Link参考《STM32 ST-LINK Utility User Manual》

2016-01-27 13:59:51 8521 6

原创 晶振不起振的三个经验分享

2015年做了两款产品,遇到三次晶振故障的异常,现总结如下:1.超声波焊接时共振损坏晶振 某睡眠记录器使用了32MHz的外部晶振,纽扣电池供电,免充电待机一年,外壳是使用32K超声波焊接的,生产过程中出现了大量的不良,后来分析原因:是因为焊接时该晶振已经在工作,跟超声波的频率发生了共振; 2.晶振跟MCU距离太远 某助眠灯,8M晶振不起振,各种更换外部电容都不wor

2016-01-25 10:46:09 9695 1

原创 Git仓库某一个文件夹里的文件离奇丢失的问题

每个git仓库只能有一个.git文件夹,引用第三方代码到自己的项目中时尤其要注意这一点;

2016-01-23 13:17:36 4810

转载 【工欲善其事】用 Visual Studio 编译 Arduino

众所周知,Arduino 官方的 IDE 用户体验渣到爆。默认配置不仅大括号不换行,而且 tab 键是两个空格。(异端烧死)最不能忍的是,编译太慢,每次点击编译或烧录,都要将 gcc 的某些库文件重新编译,即使你只是加了个空行。当然,Arduino 也可以使用其他编译器或编辑器来编译和烧录代码。例如 Sublime Text 和Visual Studio 都有支持 Arduin

2015-12-08 12:59:04 1948

转载 值得推荐的C/C++框架和库

目录(?)[+]值得学习的C语言开源项目- 1. WebbenchWebbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行。下载链接:http://

2015-12-07 12:59:30 363

原创 经验分享之二:单片机懵懂的入门

单片机懵懂的入门作者背景:工作2年,辞职闲荡的菜鸟电子工程师。微博:weibo.com/zhoupeng7d邮箱:[email protected]之所以要写一些自己关于单片机学习经验的分享,并不是我技术有多牛,事实是我依然觉得我是菜鸟一个,现在又处在一个比较茫然的阶段。正是因为我在刚开始学习的时候也很茫然,走了很多的弯路,才想到要分享点儿自己的经验,如果恰好能给某人提

2015-01-07 14:26:41 597

原创 经验分享之一:以什么心态来面对技术

辞职两个多月了,准备开始学习linux嵌入式开发,将自己对技术的一些感悟写出来,也算是对自己之前的一个阶段的总结。

2014-12-16 17:34:25 434 1

转载 C语言的对象化模型

最近在看RT1. 继承继承性是子类自动共享父类之间数据和方法的机制。它由类的派生功能体现。一个类直接继承其它类的全部描述,同时可修改和扩充。继承具有传递性。继承分为单继承(一个子类只有一父类)和多重继承(一个类有多个父类,当前RT-Thread的对象系统不能支持)。类的对象是各自封闭的,如果没继承性机制,则类对象中数据、方法就会出现大量重复。继承不仅支持系统的可重用性,而且

2014-11-18 12:50:55 949

STM32F10X FLASH模拟eeprom心得(原创)

花了几天时间研究stm32用Flash模拟EEPROM的问题,终于彻底弄懂了这种机制,下面将我学习的思路简单整理一下,希望能帮助到需要的人。

2013-02-21

多系统启动项修复工具

需要多系统的用户肯定有把系统菜单搞坏,或者重装其中一个系统导致另一个系统无法使用的情况,有了这个东西,问题可就迎刃而解了哦~!

2012-03-07

空空如也

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

TA关注的人

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