嵌入式开发
文章平均质量分 71
HardessGod
程序虐我千百遍,我待程序入初恋
展开
-
主机无法复制文件到ubuntu虚拟机的解决方法
安装VMware Tools遇到的问题和几种安装方法原创 2022-06-13 18:59:28 · 14094 阅读 · 3 评论 -
open和fopen的区别
1.缓冲文件系统缓冲文件系统的特点是:在内存开辟一个“缓冲区”,为程序中的每一个文件使用,当执行读文件的操作时,从磁盘文件将数据先读入内存“缓冲区”, 装满后再从内存“缓冲区”依此读入接收的变量。执行写文件的操作时,先将数据写入内存“缓冲区”,待内存“缓冲区”装满后再写入文件。由此可以看出,内存 “缓冲区”的大小,影响着实际操作外存的次数,内存“缓冲区”越大,则操作外存的次数就少,执行速度就快、效率高。一般来说,文件“缓冲区”的大小随机器 而定。2.非缓冲文件系统缓冲文件系统是借助文件结构体指针来..原创 2022-01-27 15:56:59 · 337 阅读 · 0 评论 -
国密SM2公钥点压缩解压C源码
国密算法目前在金融方面应用的越来越多,因为其效率比RSA算法更高,所以备受青睐。具体的算法介绍可以参见国密算法介绍文档。该算法是基于ECC算法基础之上,采用推荐的曲线参数ECC256,SM2曲线采用的是y2 = x3 + ax + b,其中a,b就是曲线参数。struct FPECC Ecc256={"FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFF", //p"FFFFFFFEFFFFFFFFFFFFFF原创 2020-06-06 10:47:42 · 3784 阅读 · 2 评论 -
嵌入式基于Flash上的文件系统
在嵌入式领域,FLASH是一种常用的存储介质,由于其特殊的硬件结构,所以普通的文件系统如ext2,ext3等都不适合在其上使用,于是就出现了专门针对FLASH的文件系统,比较常用的有jffs2,yaffs2,logfs,ubifs。那么对于这几个文件系统,如何选择一个针对自己的硬件最合适的呢?他们各自的特点是什么?性能优劣如何? ...转载 2019-02-13 12:04:43 · 4026 阅读 · 0 评论 -
C语言 红黑树插入/删除/查找/遍历
1 红黑树介绍红黑树(Red-Black Tree,简称R-B Tree),它一种特殊的二叉查找树。红黑树是特殊的二叉查找树,意味着它满足二叉查找树的特征:任意一个节点所包含的键值,大于等于左孩子的键值,小于等于右孩子的键值。除了具备该特性之外,红黑树还包括许多额外的信息。红黑树的每个节点上都有存储位表示节点的颜色,颜色是红(Red)或黑(Black)。红黑树的特性:(1) 每个节...原创 2018-12-14 18:31:04 · 5437 阅读 · 0 评论 -
C语言 AVL平衡二叉查找树 插入/删除/遍历/查找
AVl树:平衡二叉查找树,树中任何节点的两个子树的高度最大差别为1。如下图所示AVL树的查找、插入和删除在平均和最坏情况下都是O(logn)。如果在AVL树中插入或删除节点后,使得高度之差大于1。此时,AVL树的平衡状态就被破坏,它就不再是一棵二叉树;为了让它重新维持在一个平衡状态,就需要对其进行旋转处理。1. AVL树的结构 typedef struct AVLTreeN...原创 2018-12-13 17:32:20 · 1488 阅读 · 2 评论 -
C语言 双链表 插入/删除/查找/遍历/递归/合并/排序
双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。一般我们都构造双向循环链表。1 双链表数据结构1.1 新增节点图解1.2 删除一个节点图解2 双链表操作 双链表和单链表在操作主要区别在于插入和删除,双链表需要修改...原创 2018-12-12 18:29:46 · 2424 阅读 · 0 评论 -
C语言 单链表 插入/删除/查找/遍历/递归/合并/排序
单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素。链表中的数据是以结点来表示的,每个结点的构成:元素(数据元素的映象) + 指针(指示后继元素存储位置),元素就是存储数据的存储单元,指针就是连接每个结点的地址数据。1 链表结构 2 链表操作 链表操作难度不大,只要我们熟悉其数据结构,说白了就是操作指针。下面附上我对单链表的相关...原创 2018-12-12 14:34:41 · 3235 阅读 · 0 评论 -
嵌入式软件架构设计
摘要在开发中一直觉得好的软件架构可以做到事半功倍,而且可以做到代码复用和移植。但是如果没有架构或者说架构很差,那么移植将是很痛苦的事,特别是对不熟悉改功能的人来讲还不如自己写呢,移植不对那将是很头疼的事。所以随着开发越来越多,渐渐的发现我们考虑问题应该从广度和深度来考虑,做新项目的时候,更应该考虑到以后出现的可能性,比如说需求变更,底层变更,所以这个时候软件的架构和程序模块化就很重要。...原创 2018-08-31 11:49:26 · 18293 阅读 · 7 评论 -
国密系列算法简介
众所周知,为了保障商用密码的安全性,国家商用密码管理办公室制定了一系列密码标准,包括SM1(SCB2)、SM2、SM3、SM4、SM7、SM9、祖冲之密码算法(ZUC)那等等。其中SM1、SM4、SM7、祖冲之密码(ZUC)是对称算法;SM2、SM9是非对称算法;SM3是哈希算法。目前,这些算法已广泛应用于各个领域中,期待有一天会有采用国密算法的区块链应用出现。其中SM1、SM7算法不公开,调用该...原创 2018-06-14 17:12:41 · 5381 阅读 · 3 评论 -
stm32f10x.h 头文件解析
#ifndef __STM32F10x_H//如果没有定义__STM32F10x_H ,则定义__STM32F10x_H #define __STM32F10x_H#ifdef __cplusplus// extern "C" {#endif 这里是一种条件编译。extern "C"指令非常有用,因为C和C++的近亲关系。注意:extern "C"转载 2017-11-07 17:47:26 · 5495 阅读 · 0 评论 -
关于stm32f030增加bootloader后外部中断不响应的问题
问题描述: 最近在调试stm32f030芯片,增加bootloader后,可以正常跳转到应用程序,程序能够正常跑起来,但是却不进DMA中断,外部中断无法响应,这个问题找了好久....源码:void NVIC_Configuration(void){ uint32_t i = 0; /* Relocate by software the vector table t原创 2017-06-08 18:36:19 · 3959 阅读 · 1 评论 -
stm32 RTC时钟配置
stm32——RTC实时时钟一、关于时间 2038年问题 在计算机应用上,2038年问题可能会导致某些软件在2038年无法正常工作。所有使用UNIX时间表示时间的程序都将将受其影响,因为它们以自1970年1月1日经过的秒数(忽略闰秒)来表示时间。这种时间表示法在类Unix(Unix-like)操作系统上是一个标准,并会影响以其C编程语言开发给其他大部份操作系统使用的软件转载 2017-03-15 16:03:29 · 8685 阅读 · 0 评论