自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小银子

技术总结与分享

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

原创 Unity之二:断言参考

文章目录一、背景和概况1.1 超浓缩概要1.2 Unity主要是断言1.3 什么是断言1.4 Unity断言(有用的信息和免费的源码文档)二、断言约定与配置2.1 命名与参数约定2.1.1 信息化断言变体(TEST\_ASSERT\_X\_MESSAGE)2.1.2 数组断言变体(TEST\_ASSERT\_X\_ARRAY)2.1.3 EACH\_EQUAL断言变体(TEST_ASSERT_EA...

2019-08-14 08:37:53 811

原创 嵌入式ERPC框架正式发布了

一、ERPC开发的原由随着科技日新月异的快速发展,电子产品的功能越来越多,业务也越来越复杂。以前靠单打独斗完成电子产品的研发的时代已经慢慢远去,更多的是靠一个团队协作共同努力才能完成。这就为电子产品的设计和研发带来了新的问题:团队的协作,有时是跨部门,甚至是跨地域的,这为沟通带来了很大的成本;团队的开发,必然引入团队的管理,管理的成本也随团队的扩展而增加;软件功能的独立性,导致不同功能采...

2019-08-06 17:13:06 4085 2

原创 Linux内核经典队列queue.h详解

一、前言相信有一定编程经验的你,在项目中经常会遇到队列、链表、ringbuffer等问题。刚开始的时候,都有过自己编写代码(造轮子)的经验。但随着工作经验的提升,经常会发现:以前自己造的轮子还有很多漏洞,并不能满足现在或将来的产品需求;甚至已经给现有产品埋下了坑;接触的越来越多,发现有很多经典开源的库(GitHub),已经实现了以前自己造的轮子,而且开源库做的更好(应该是非常的好)。那...

2019-06-28 16:47:08 5193

原创 CentOS 7搭建SVN服务器

一、安装subversion安装SVN命令:sudo yum install subversion查看SVN安装目录:which svnserver # 或者rpm -ql subversion查看版本信息:svnserve --version输出信息如下:$ svnserve --versionsvnserve, version 1.7.14 (r1542130) ...

2019-06-13 16:12:33 153

原创 EFSM(事件驱动型有限状态机:Event Finite State Machine)

一、介绍EFSM(event finite state machine,事件驱动型有限状态机),是一个基于事件驱动的有限状态机,主要应用于嵌入式设备的软件系统中。EFSM的设计原则是:简单!EFSM的使用者只需要关心:当事件到来时,通过EFSM取得对应事件的处理方法;当特定事件到来,或者条件满足时,调用状态切换方法进行状态切换。由于EFSM的巧妙设计,避免了命名冲突的问题,你可以在一...

2019-05-05 10:56:52 5512 9

原创 事件驱动型状态机EFSM介绍及C语言实现

一、什么是状态机?有限状态机,(英语:Finite-state machine, FSM),又称有限状态自动机,简称状态机,是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型。有限状态机是一种用来进行对象行为建模的工具,其作用主要是描述对象在它的生命周期内所经历的状态序列,以及如何响应来自外界的各种事件。在计算机科学中,有限状态机被广泛用于建模应用行为、硬件电路系统设计、软件工...

2019-04-28 16:57:01 5782

原创 开源库uthash第一弹uthash.h

一、简介1.1 uthash介绍uthash是C的比较优秀的开源代码,它实现了常见的hash操作函数,例如查找、插入、删除等待。该套开源代码采用宏的方式实现hash函数的相关功能,支持C语言的任意数据结构最为key值,甚至可以采用多个值作为key,无论是自定义的struct还是基本数据类型,需要注意的是不同类型的key其操作接口方式略有不通。官方原文说明如下:Any C structur...

2019-04-05 17:14:28 14929 3

原创 U-Boot移植全程指导

经过快一个月的时间,终于将U-Boot相关的知识全部总结在一起,从入门——>熟悉——>理解——>深入的方式进行讲解,最终达到可针对不同版本的U-Boot进行移植。下面贴出文章的目录,供大家参考(其中标红文字表示还未完成的部分):一、嵌入式Linux系统软件结构与分布二、Bootloader简介2.1 Bootloader的功能2.2 Bootloader的特

2014-10-22 17:50:58 597

原创 在动态库中如何调用外部函数?

对动态库调用外部函数方法做个转载记录。

2022-11-02 11:42:43 775 1

原创 CMake工程管理实战

文章目录一、简介1.1 简介1.2 CMake管理工程二、基本工程三、添加配置头文件四、添加一个库五、添加自定义编译选项六、为库添加版本七、添加多源代码支持八、添加安装支持8.1 INSTALL指令8.2 操作实例九、添加测试十、添加系统模块自检十一、添加系统头文件和库自检十二、检测组件包(模块)12.1 使用常见库(CMake自带)12.2 使用外部库(CMake不自带)12.3 使用实例十三、...

2019-08-30 10:09:54 859

原创 Unity之六:项目实战篇

文章目录一、一个简单的实例二、使用CMake组织项目与Unity2.1 目录结构2.2 CMakeLists.txt的编写2.3 使用实例一、一个简单的实例一个测试单元是源文件、测试文件和Unity构成的。把他们放在一起进行编译、链接,就可以得到一个可执行的测试文件了。比如我们有一个简单的被测试文件DumbExample.c:#include "DumbExample.h"int8_t...

2019-08-27 09:08:21 857

原创 Unity之五:单元测试框架API

目录一、运行测试二、忽略测试三、失败的测试四、Unity断言概述4.1 基本有效性断言4.2 数值断言4.2.1 整形断言4.2.2 数组断言4.2.3 位断言4.2.4 浮点数断言4.2.5 字符串断言4.2.6 指针断言4.2.7 内存断言一、运行测试RUN_TEST(func, linenum)每个测试用例都通过这个宏来运行:它在调用测试之前进行必要的设置,在执行测试之后执行清理,最...

2019-08-22 09:12:38 771

原创 Unity之四:辅助脚本

文章目录一、朋友的友情帮助1.1 generate\_test\_runner.rb1.2 generate\_test\_runner.rb接受的选项1.2.1 :includes1.2.2 :suite\_setup1.2.3 suite\_teardown1.2.4 :enforce\_strict\_ordering1.2.5 :externc1.2.6 :mock_prefix与:moc...

2019-08-16 08:45:33 600

原创 Unity之三:配置向导

文章目录一、C标准/编译器/微控制器二、选项2.1 整数类型2.1.1 UNITY\_EXCLUDE\_STDINT\_H2.1.2 UNITY\_EXCLUDE\_LIMITS\_H2.1.3 UNITY\_INT\_WIDTH2.1.4 UNITY\_LONG\_WIDTH2.1.5 UNITY\_POINTER\_WIDTH2.1.6 UNITY\_SUPPORT\_642.2 浮点数类型2...

2019-08-15 11:25:44 457

原创 Unity之一:入门指南

文章目录一、欢迎二、文档概览2.1 Unity入门指南2.2 Unity断言参考文档2.3 Unity断言欺骗表2.4 Unity配置向导2.5 Unity辅助脚本2.6 Unity许可三、文件夹概述四、如何创建测试文件4.1 创建并包含头文件4.2 实现setUp()和tearDown()4.3 添加测试函数4.4 实现主程序main()4.5 完整的示例五、如何构建并运行测试文件本文译自Un...

2019-08-13 20:35:08 910 1

原创 常用工作方法总结(7S、SWOT分析、PDCA循环、SMART原则、6W2H、时间管理、WBS等)

一、7S规则1.1 推行7S的目的提升人的品质,优化人文环境追求低成本、高效率和高品质消除浪费,实现企业利润最大化1.2 7S的概念整理(SEIRI):区分要与不要的东西,清除掉不需用的东西;整顿(SEITON):对需要的东西定量、定位,对物品进行科学的、合理的布置和搁放,并有效的标识;清扫(SEISO):把工作场所打扫干净,设备异常时马上修理,使之恢复正常;清洁(SETK...

2019-08-06 17:15:25 12140 2

原创 CppCheck代码静态检测工具

一、简述Cppcheck是一种C/C++代码缺陷静态检查工具。不同于 C/C++ 编译器及很多其它分析工具,它不检查代码中的语法错误。Cppcheck只检查编译器检查不出来的bug类型,其目的是检查代码中真正的错误。支持的代码和平台:可以检查非标准代码,包括不同的编译器扩展、内联汇编代码等。Cppcheck应该被处理最新C++标准的任何C++编译器所编译。Cppcheck应该在任何有足...

2019-07-15 16:23:04 958

原创 开源库uthash第六弹utringbuffer.h

一、简介1.1 介绍utringbuffer.h提供的宏函数是基于utarray.h来实现的。因此,在学习这篇文章之前,请先学习utarray.h。使用utringbuffer非常简单,只需要将utarray.h和utringbuffer.h拷贝到你的工程,并包含进你的源码即可:#include "utringbuffer.h"utringbuffer提供的方法与C++ STL的ver...

2019-06-05 16:20:45 1070

原创 开源库uthash第五弹utarray.h

一、简介1.1 介绍utarray.h中包含了一组用于C结构体的通用array宏。使用起来非常简单,只需要将utarray.h拷贝到你的项目,并包含进你的源码即可:#include "utarray.h"动态array支持基本的array操作:push、pop和erase。array的元素可以是任何基本类型或者符合的结构体类型。动态array内部通过一个连续的内存区域来实现,这个内存区...

2019-06-05 16:19:04 3153

原创 开源库uthash第四弹utstring.h

一、简介1.1 介绍utstring.h中包含了一组动态string宏。使用起来非常简单,只需要将utstring.h拷贝到你的项目,并包含进你的源码即可:#include "utstring.h"动态字符串支持基本的:插入数据、连接、获取内容、获取长度、子字符串匹配和清除。utstring同时还可支持纯二进制数据的操作。1.2 源码获取utstring.h的源码可以在GitHub上...

2019-06-05 16:17:48 1447 2

原创 Cron表达式详解

一、格式Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每个域代表一个含义。Cron表达式有如下两种语法格式:Seconds Minutes Hours DayofMonth Month DayofWeek YearSeconds Minutes Hours DayofMonth Month DayofWeekCron从左到右(用空格隔开)分别表示:秒 分 时 ...

2019-05-29 11:33:34 928

原创 ini配置文件格式

为什么要用INI文件?如果我们的程序没有任何配置文件时,这样的程序对外是全封闭的,一旦程序需要修改一些参数必须要修改程序代码本身并重新编译,这样很不好,所以要用配置文件,让程序出厂后还能根据需要进行必要的配置;配置文件有很多,如INI配置文件,XML配置文件,还有就是可以使用系统注册表等。一、简介*.ini文件是Initialization file的缩写,即为初始化文件,是Windows系统...

2019-05-29 11:32:34 58875 9

原创 开源库uthash第三弹utstack.h

一、简介1.1 介绍utstack.h中包含了一组动态stack宏。使用起来非常简单,只需要将utstack.h拷贝到你的项目,并包含进你的源码即可:#include "utstack.h"utstack.h宏支持栈的基本的操作:push、pop、count,以及获取顶部元素操作。其内部实现为连接的链表。1.2 源码获取utlist.h的源码可以在GitHub上直接获取(src/ut...

2019-05-24 09:37:41 1794

原创 音频技术基础知识

一、音频编码调制技术根据编码方式的不同,音频编码技术分为三种:波形编码、参数编码和混合编码。一般来说,波形编码的话音质量高,但编码速率也很高;参数编码的编码速率很低,产生的合成语音的音质不高;混合编码使用参数编码技术和波形编码技术,编码速率和音质介于它们之间。实际应用中,我们通常采用的是脉冲编码调制(即PCM编码)。PCM通过抽样、量化、编码三个步骤将连续变化的模拟信号转换为数字编码。脉冲编...

2019-05-23 15:25:37 3260

原创 信息技术基础概念介绍

信源信源是产生各类信息的实体。信源给出的符号是不确定的,可用随机变量及其统计特性描述。信息是抽象的,信源则是具体的。例如,人们交谈,人的发声系统就是语声信源;人们看书、读报,被光照的书和报纸本身就是文字信源;常见的信源还有图像信源、数字信源等等。信宿信号的产生(物)被称为信源,相对应的概念应该是信号的接受(物)被称为信宿。它是信息的接受者,可以是人也可以是机器,如收音机、电视机等。信道就...

2019-05-23 11:47:49 809

原创 开源库uthash第二弹utlist.h

一、简介1.1 介绍utlist.h中包含了一组用于C结构体的通用链表宏。使用起来非常简单,只需要将utlist.h拷贝到你的项目,并包含进你的源码即可:#include "utlist.h"utlist.h宏提供了基本的链表操作:添加、删除、排序、遍历。1.2 源码获取utlist.h的源码可以在GitHub上直接获取(src/utlist.h):https://github....

2019-05-20 14:46:03 5874

cmake新版构建工具

CMake是一个跨平台的开源构建工具,用于管理和构建软件项目。它使用简单的配置文件来描述项目的构建过程,并生成适用于不同平台和编译器的构建脚本。CMake的主要特点包括: 跨平台支持:CMake可以在多个操作系统上运行,包括Linux、Windows、macOS等,可以生成适用于不同平台的构建脚本。 简化的配置文件:CMake使用CMakeLists.txt文件来描述项目的构建过程。这些配置文件使用简洁的语法,可以定义项目的源文件、依赖项、编译选项等。 多种构建系统支持:CMake可以生成多种构建系统的脚本,包括Makefile、Ninja、Visual Studio等。这使得开发人员可以使用自己熟悉的构建系统来构建项目。 自动依赖管理:CMake可以自动检测项目的依赖关系,并在构建过程中处理它们。这简化了项目的构建和依赖管理。 插件扩展:CMake支持插件扩展,可以通过编写CMake模块来添加自定义的构建规则和功能。

2023-11-01

gerrit-2.15-rc2.tar.gz

Gerrit is a code review and project management tool for Git based projects.附件是Gerrit的最新稳定版本rc2。

2019-04-02

gerrit-2.16.7.tar.gz

Gerrit is a code review and project management tool for Git based projects.附件是最新版本gerrit的源码,可以进行源码的直接安装。

2019-04-02

空空如也

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

TA关注的人

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