自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(101)
  • 资源 (2)
  • 收藏
  • 关注

原创 数表排序之红黑树

文章目录1.基本概念1.1.红黑树的引进1.2.红黑树的规则1.3.红黑树的举例2.红黑树的性质3.红黑树的操作4.总结1.基本概念1.1.红黑树的引进AVL的左右子树高度差不能超过1,每次进行插入/删除操作时,为了确保AVL树的特性,几乎都需要通过旋转操作保持平衡。在频繁进行插入/删除的场景中,频繁的旋转操作使得AVL的性能大打折扣。为了解决这个问题,引进的红黑树。红黑树通过牺牲严格的平衡,换取插入/删除时少量的旋转操作,整体性能优于AVL红黑树插入时的不平衡,不超过两次旋转就可以解决。删除时的

2021-12-31 13:59:55 1173 1

原创 树的遍历之B树及其变种

文章目录1.基本概念1.1.B树的引进1.2.B树的定义1.3.B树的举例2.B+树3.B*树4.总结1.基本概念1.1.B树的引进我们发现,之前的二叉树、AVL,2-3树…这些树每一个节点所存储的数值量就只有一个,而这个数据量(键值)的目的是进行比较的,因为结合了数组和链表的操作,所以在进行排序的时候非常的方便。但是这种数据结构在数据库中查找数据或者是说对大容量设备,比如磁盘,SD卡,并不起作用。因此,B树诞生了。B 树是为了磁盘或其它存储设备而设计的一种多叉平衡查找树。也就是说B树中每一个节点所包

2021-12-29 15:09:41 628

原创 数表遍历之2-3树

文章目录1.基本概念1.1. 2-3树引进1.2. 2-3树定义1.3. 2-3举例2.2-3树的性质3.2-3树的操作3.1.数的遍历3.2.树的插入3.2.1.向2-节点中插入元素;3.2.2.向一颗只含有一个3-节点的树中插入元素;3.2.3.向一个父节点为2-节点的3-节点中插入元素;3.2.4.向一个父节点为3-节点的3-节点中插入元素。3.3.树的删除总结1.基本概念1.1. 2-3树引进二叉搜索树在最好的情况下搜索的时间复杂度为 O(logn) ,但如果插入节点时,插入元素序列本身就是有

2021-12-29 14:26:54 543

原创 数表查找之平衡二叉树

文章目录1.基本概念1.1.AVL引进1.2.AVL定义1.3.AVL举例2.平衡因子3.AVL树插入时失衡与调整3.1.左旋3.2.右旋4.AVL四种调整方式4.1.LL型调整4.2.LR型调整4.3.RL型调整4.4.RR型调整5.调整总结6.删除节点总结7.参考博客1.基本概念平衡二叉树(Balanced Binary Tree)又被称为AVL树(有别于AVL算法),且具有以下性质:它是一 棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。1.1.AVL引进

2021-12-29 13:45:32 486

原创 数表查找之二叉搜索树

文章目录1.基本思想2.算法步骤3.代码实现3.2.算法实现3.3.1.创建3.3.2.查找3.3.3.插入3.2.4.迭代3.2.5.删除3.2.测试程序4.实验结果与心得完整代码二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树)它或者是一棵空树,或者是具有下列性质的二叉树: 二叉搜索树作为一种经典的数据结构,它既有链表的快速插入与删除操作的特点,又有数组快速查找的优势,所以应用十分广泛,例如在文件系统和数据库系统一般会采用这种数据结构进行高效率的排序与检索操作。1.基

2021-12-24 16:42:44 770

原创 二叉树遍历代码实现

文章目录1.定义2.特点3.树的遍历准备工作线性栈实现线性队列实现3.1.先序遍历3.1.1.迭代版本3.1.2.递归版本3.2.中序遍历3.2.1.迭代版本3.2.2.递归版本3.3.后序遍历3.3.1.迭代版本3.3.2.递归版本3.4.层序遍历3.4.1.迭代版本4.测试程序5.总结1.定义二叉树(Binary tree)是树形结构的一个重要类型。许多实际问题抽象出来的数据结构往往是二叉树形式,即使是一般的树也能简单地转换为二叉树,而且二叉树的存储结构及其算法都较为简单,因此二叉树显得特别重要。

2021-12-22 14:16:06 2322

原创 哈夫曼树的实现

文章目录1.基本概念1.1.路径和路径长度1.2.数的路径长度1.3.结点的权和带权二叉树1.4.结点的带权路径长度和树的带权路径长度1.5哈夫曼树2.算法实现3.存储结构4.代码实现4.1.算法实现4.2.测试程序5.实现结果1.基本概念1.1.路径和路径长度若在一棵树中存在着一个结点序列k1,k2,k3,kj,使得ki是kj的双亲( 1≤i<j),则称此结点序列是从k1~kj的路径。因树中每个结点只有一个双亲结点,所以它也是这两个结点之间的唯一路径。从k1~kj,所经过的分支数称为这两点

2021-12-17 12:55:08 2724

原创 七大查找之哈希查找

文章目录1.基本思想2.算法步骤3.代码实现3.1.算法实现3.2.测试程序4.程序结果1.基本思想哈希查找算法又称散列查找算法,是一种借助哈希表(散列表)查找目标元素的方法,查找效率最高时对应的时间复杂度为 O(1)。哈希查找算法适用于大多数场景,既支持在有序序列中查找目标元素,也支持在无序序列中查找目标元素。讲解哈希查找算法之前,我们首先要搞清楚什么是哈希表。哈希表(Hash table)又称散列表,是一种存储结构,通常用来存储多个元素。和其它存储结构(线性表、树等)相比,哈希表查找目标元素的

2021-12-15 15:28:25 6744 1

原创 七大查找之斐波那契查找

文章目录1.基本思想2.算法步骤3.代码实现3.1.算法实现3.2.测试程序4.实验结果1.基本思想斐波那契搜索(Fibonacci search) ,又称斐波那契查找,是区间中单峰函数的搜索技术。斐波那契查找就是在二分查找的基础上根据斐波那契数列进行分割的。(mid的关系式不同)斐波那契查找同样是查找算法家族中的一员,它要求数据是有序的(升序或降序)。斐波那契查找采用和二分查找/插值查找相似的区间分割策略,都是通过不断的分割区间缩小搜索的范围 。(分治法)斐波那契数列(Fibonacci sequ

2021-12-15 15:05:24 3349 2

原创 七大查找之分块查找

文章目录1.基本思想2.算法步骤3.代码实现3.1.算法实现3.2.测试程序4.实验结果1.基本思想分块查找,也叫索引顺序查找,算法实现除了需要查找表本身之外,还需要根据查找表建立一个索引表。例如上图中,待查找表中共 18 个查找关键字,将其平均分为 3 个子表,对每个子表建立一个索引,索引中包含中两部分内容:该子表部分中最大的关键字以及第一个关键字在总表中的位置,即该子表的起始位置。建立的索引表要求按照关键字进行升序排序,查找表要么整体有序,要么分块有序。分块有序指的是子表中所有关键字都

2021-12-15 14:22:47 3232 1

原创 七大查找之插值查找

文章目录1.基本思想2.算法步骤3.代码实现3.1.算法实现3.1.1.迭代法3.1.2.递归法3.2.测试程序4.程序细节5.实验结果1.基本思想回顾一下二分查找法的优缺点,二分查找相比于顺序查找效率提高不少(前提待排序的数组是顺序的),但对于有目的性的查找,比如想在一个字典中想查找banana,这个时候你还会选择二分查找吗?因为b这个字母在字典中的位置前列。换句话说,针对于不同的单词,结合我们的先验知识,自适应地翻到响应的页码。经过以上分析,折半查找这种查找方式,不是自适应的(也就是说是傻瓜式的)

2021-12-15 13:28:50 436

原创 七大查找之二分查找

二分查找1.基本思想2.算法步骤3.代码实现3.1.算法实现3.1.1.迭代法3.1.2.递归法3.2.测试程序4.代码细节4.1.迭代和递归终止条件4.2.递归终止条件奇异原因5.实验结果1.基本思想说明:元素必须是有序的,如果是无序的则要先进行排序操作。二分查找也称为是折半查找,属于有序查找算法。用给定值k先与中间结点的关键字比较,中间结点把线形表分成两个子表,若相等则查找成功;若不相等,再根据k与该中间结点关键字的比较结果确定下一步查找哪个子表(是左还是右),这样递归进行,直到查找到或查找结束发

2021-12-10 14:10:33 729

原创 七大查找之顺序查找

顺序查找1.什么是查找2.基本思想3.代码实现3.1.算法实现3.2.测试程序4.实验结果1.什么是查找查找是在大量的信息中寻找一个特定的信息元素,在计算机应用中,查找是常用的基本运算,例如编译程序中符号表的查找。本系列博文将简单概括性的介绍了常见的七种查找算法查找定义:根据给定的某个值,在查找表中确定一个其关键字(数值)等于给定值的数据元素。查找算法分类:静态查找和动态查找静态或者动态都是针对查找表而言的。动态表指查找表中有删除和插入操作的表。无序查找和有序查找。​

2021-12-10 10:41:37 638

原创 十大排序之桶排序

桶排序桶排序(Bucket sort)或所谓的箱排序,是一个排序算法,工作的原理是将数组分到有限数量的桶里。每个桶再个别排序(有可能再使用别的排序算法或是以递归方式继续使用桶排序进行排序),最后依次把各个桶中的记录列出来记得到有序序列。桶排序是鸽巢排序的一种归纳结果。桶排序的思想就是和分治法是一样的!!!1. 算法步骤设置一个定量的数组当作空桶子。寻访序列,并且把数组元素一个一个放到对应的桶子去。对每个不是空的桶子进行排序。从不是空的桶子里把数组元素再放回原来的序列中。2. 动图演示[

2021-12-08 14:49:18 1117

原创 十大排序之基数排序

文章目录基数排序基数排序 vs 计数排序 vs 桶排序1. 算法步骤2. 动图演示3. 代码实现3.1. 算法实现3.2. 测试程序4.实验结果基数排序基数排序是一种非比较型整数排序算法,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。由于整数也可以表达字符串(比如名字或日期)和特定格式的浮点数,所以基数排序也不是只能使用于整数,字符串等也可以用基数排序。基数排序 vs 计数排序 vs 桶排序基数排序有两种方法:这三种排序算法都利用了桶的概念,但对桶的使用方法上有明显差异:基数排

2021-12-07 21:16:01 1039

原创 十大排序之计数排序

计数排序计数排序1. 算法步骤2. 动图演示3.代码实现4.实验结果计数排序计数排序的核心在于将输入的数据值转化为键存储在额外开辟的数组空间中。作为一种线性时间复杂度的排序。计数排序要求输入的数据必须是有确定范围的整数,该范围是已知的。当输入的元素是 n 个 0 到 k 之间的整数时,它的运行时间是 Θ(n + k)。计数排序不是比较排序,排序的速度快于任何比较排序算法。由于用来计数的数组C的长度取决于待排序数组中数据的范围(待排序数组的长度要大于待排序的数组元素),这使得计数排序对于数据范围很大

2021-12-07 11:20:09 354

原创 十大排序之堆排序

堆排序1.概念1.1. 堆的性质1.2. 堆的存储1.3. 堆的操作1.4. 排序思想2.算法步骤3.动图演示4.代码实现4.1. 最大堆排序4.1.1 算法实现4.1.2 测试程序4.2. 最小堆排序4.2.1 算法实现4.2.2 测试程序5.代码解释1.概念堆一般指的是二叉堆,顾名思义,二叉堆是完全二叉树或者近似完全二叉树。堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点

2021-12-03 20:57:18 613 3

原创 十大排序之快速排序

快速排序快速排序1.算法步骤2.动图演示3.代码实现3.1.首元素作为基准数3.2.尾元素作为基准数3.3.测试程序4.归纳总结快速排序快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加上快速排序思想----分治法也确实实用,因此很多软件公司的笔试面试,包括像腾讯,微软等知名IT公司都喜欢考这个,还有大大小的程序方面的考试如软考,考研中也常常出现快速排序的身影。快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序。它采用了一种分治的策略,通常称其为

2021-12-01 19:23:31 6957

原创 十大排序之归并排序

归并排序1.算法步骤1.1.递归法1.2.迭代法2.动图演示3.代码实现3.1.递归实现3.1.1.算法实现3.1.2.测试程序3.1.3.疑问3.1.4.现象3.1.5.解释3.1.6.验证3.1.6.1.左递归先开始3.1.6.1.右递归先开始3.1.7.总结3.2.迭代法3.2.1.算法实现3.2.2.测试程序3.2.3.理解4.总结归并排序(Merge sort)是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。作为一种典型的

2021-11-30 21:45:50 10592 2

原创 十大排序之希尔排序

希尔排序希尔排序(Shell Sort)是插入排序的一种算法,是对直接插入排序的一个优化,也称缩小增量排序。希尔排序是非稳定排序算法。希尔排序因DL.Shell于1959年提出而得名。希尔排序是将待排序的数组元素按下标的一定增量分组 ,分成多个子序列,然后对各个子序列进行直接插入排序算法排序;然后依次缩减增量再进行排序,直到增量为1时,进行最后一次直接插入排序,排序结束。1. 算法步骤确定增量分组次数每一次增量中遍历一个分组中所有的元素不同分组之间的元素进行插入排序count=⌊len

2021-11-28 21:30:23 4427

原创 十大排序之插入排序

插入排序插入排序的代码实现虽然没有冒泡排序和选择排序那么简单粗暴,但它的原理应该是最容易理解的了,因为只要打过扑克牌的人都应该能够秒懂。插入排序是一种最简单直观的排序算法,它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序和冒泡排序一样,也有一种优化算法,叫做拆半插入。1. 算法步骤将第一待排序序列第一个元素看做一个有序序列,把第二个元素到最后一个元素当成是未排序序列。从头到尾依次扫描未排序序列,将扫描到的每个元素插入有序序列的适当位置。(如果

2021-11-27 22:00:30 78

原创 十大排序之选择排序

选择排序选择排序是一种简单直观的排序算法,无论什么数据进去都是 O(n²) 的时间复杂度。所以用到它的时候,数据规模越小越好。唯一的好处可能就是不占用额外的内存空间了吧。1. 算法步骤首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置。再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。重复第二步,直到所有元素均排序完毕。2. 动图演示3.代码实现void swap(int* a, int* b)//该函数的作用是进行交换,针对int类型的变

2021-11-27 11:34:41 86

原创 十大排序之冒泡排序

冒泡排序冒泡排序(Bubble Sort)是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢"浮"到数列的顶端。作为最简单的排序算法之一,冒泡排序给我的感觉就像 Abandon 在单词书里出现的感觉一样,每次都在第一页第一位,所以最熟悉。冒泡排序还有一种优化算法,就是立一个 flag,当在一趟序列遍历中元素没有发生交换,则证明

2021-11-26 21:23:41 155

原创 什么是带宽

带宽Preface1.什么是带宽2.深入理解带宽3.带宽与宽带辨析总结Preface因为需要使用esp8266作为让STM32与上位机进行通信的桥梁,我就想测试一下esp8266实际的吞吐量,这里面就扯到了带宽的概念。1.什么是带宽"带宽"是由英文词汇bandwidth直译过来的。而在不同的领域,对带宽的理解角度也有所不同。1、电子通信领域:指某个信号具有一定的频带宽度。也就是说,信号的带宽指的是该信号所包含的不同频率成份所占据的频率范围。注意:频带是相对基带而存在的概念,指的是经过调制后能在信

2021-09-22 15:01:49 9638

原创 STM32串口配置性能对比

STM32串口配置性能对比Preface1.printfContextTimelineCpu Load总结2.printf+interrupt2.1串口的初始化2.2串口中断服务函数2.3中断printf函数的实现2.4效果ContextTimeline总结3.printf+DMA+中断3.1DMA初始化3.2 中断服务函数的编写3.DMA+中断的实现3.4效果ContextTimeline总结Preface上一篇博客说了下STM32串口丢失首字符相关的问题,这篇博客呢,想好好的讨论一下基于串口的pri

2021-09-21 17:02:32 535 1

原创 STM32串口丢失首字符

这里写目录标题Preface解决办法问题本质背景寄存器答案Preface最近在搞基于esp8266的服务器框架,发现在进行串口通信的时候出现了丢失第一个字符的现象,最后发现,竟然是stm32自身的问题,特此记录一下。解决办法static void myprintf1(char *str)//这是串口发送函数{ USART_ClearFlag(USART1, USART_FLAG_TC); //防止出现stm32第一个字符丢失的现象,添加这一句 while (*str) {

2021-09-21 07:53:42 586

转载 STM32重定向

STM32重定向使用微库1.KEIL-MDK中的Use MiscroLIB选项;2 .重定向fputc函数3.重定向fgetc函数不使用微库1、包含头文件#include "stdio.h"2、重写fputc,但需要先加点东西:使用微库1.KEIL-MDK中的Use MiscroLIB选项;MicroLib提供了一个有限的stdio子系统,它仅支持未缓冲的stdin、stdout和stderr。我们要做的是将调试信息打印到USART1中,所以需要对printf()函数所依赖的打印输出函数fputc(

2021-09-19 14:09:52 2005

原创 systemview简介

systemview简介Preface1.功能1.1overview1.2 function chart1.3 强调2.什么是systemview3.它怎么工作4.目标板要求5.什么cpu可以使用systemview总结Preface我在上一篇文章中提到了我基于esp8266上搭一个服务器(其实就是一个小任务,负责通过网络与客户端进行数据交互),在这个服务器的基础之上,要安装一个系统监视程序。这个监视程序负责将目标板上的数据收集并发送给电脑客户端(上位机)。而这个上位机就是​

2021-09-18 11:29:41 6280 1

原创 ESP8266之硬件机理

ESP8266硬件机理1.ESP8266简介2.硬件结构3.运行机理3.1 Warning3.2 机理4.快速搭建服务器Attention4.1进入STA模式4.2复位4.3获取附近能够连接上的wifi4.4找到你要接入的wifi,添加账号和密码4.5获取此时esp8266的IP地址4.6开启多通道模式4.7开启服务器,设置服务端口5.esp8266的定位总结1.ESP8266简介ESP8266是上海乐鑫信息科技设计的低功耗WiFi芯片,集成完整的TCP/IP协议栈和MCU。而ESP8266模块是深圳安

2021-09-16 14:23:13 6966 2

原创 C++之命名空间

C++命名空间1.概述2.格式3.定义范围4.瀑布式开发格式5.命名空间的访问方式6.命名空间可以无限嵌套7.权限8.匿名命名空间9.别名10.编程模型11.using语法使用12.c++编译风格1.概述在c++中,名称(name)可以是符号常量、变量、函数、结构、枚举、类和对象等等。工程越大,名称互相冲突性的可能性越大。另外使用多个厂商的类库时,也可能导致名称冲突。为了避免,在大规模程序的设计中,以及在程序员使用各种各样的C++库时,这些标识符的命名发生冲突,标准C++引入关键字namespace(命

2021-09-02 22:42:55 844 1

原创 FreeRTOS任务调度启动流程

FreeRTOS任务调度启动流程PrefacePreviewAttentionFreeRTos目录结构解释FreeRTos任务调度一、vTaskStartScheduler函数中需要注意的细节二、xPortStartScheduler函数中需要注意的细节三、prvStartFirstTask函数中需要注意的细节四、vPortSVCHandler函数中需要注意的细节总结总结Preface上一篇博客写了关于FreeRTos背景知识,有了基础的认识。本篇博文正式开始讲诉FreeRTos源码Preview

2021-08-28 22:38:08 1012

原创 初识FreeRTos

初识FreeRTosPreface一、FreeRTos简介二、 为什么选择FreeRTos三、FreeRTos资料和源码的下载四、介绍我自己的开发环境4.1FreeRTos4.2AlienTekSummaryPreface距离我上一次写博客已经差不多有5个月了,最近想给自己挖个新坑,讲一讲关于FreeRTos相关的内容。但是我想以交流的方式学习并讲诉相关内容。因此我创建了一个群,在这个群里大家可以相互讨论任何关于嵌入式相关的内容一、FreeRTos简介Free 即免费的,RTOS 全称是 R

2021-08-27 10:35:36 477

原创 存储器模型

提示本篇博客是某一位大神关于存储器模型连载文章的链接1.一个藤上七朵花大白话存储器模型(1)——“一个藤上七朵花”

2021-03-29 14:46:32 647

原创 STM32启动详细流程之__main

__main -> main1.前言2.必备知识2.1. 用户程序在FLASH中的组织架构2.2. 用户数据在SRAM中的组织架构2.3. 2.加载地址 链接地址 运行地址 存储地址2.3.4.代码重定向2.3.4.1.位置无关码3.__main函数4._rt_entry函数4.1.procedure4.2.Usage5.自己实现__main函数5.1.消除警告6.自己实现__rt_entry函数7.问题思考7.1.为什么我们可以自己编写__main和__rt_entry7.2.当一个用户程序运行

2021-03-26 21:36:55 7986 11

原创 STM32启动详细流程之启动文件

启动文件1.前言2.启动文件内容描述2.1. DCD指令2.2. B .3.STM32启动流程3.1. 获取栈顶指针3.2. 跳转到复位中断函数4.最小启动配置(加个鸡腿)4.1.编写中断向量表4.2.编写复位中断函数4.2.1. 设置堆栈指针4.2.2. 跳转到main函数1.前言上一篇博客详细地讲述了一个流程:编写用户代码 -> cpu执行第一条用户代码这个流程中着重讲述的是HEX文件如何被烧写到STM32内部的指定地址处。(烧写到STM32中的可执行文件不仅只有HEX格式,还有axf、b

2021-03-20 19:41:43 2261 7

原创 STM32启动详细流程之必备知识

1.前提准备与提示1.1. 前提准备阅读博客之前,你需要一些准备工作F1参考手册,F1数据手册,F4参考手册,F4数据手册,Flymcu(串口下载软件),正点原子Alientek的原理图。1.2. 提示本系列博客的讲述方式将严格按照引言中的流程本系列博客中会用到很多F4相关的资料(F1相关资料不全)基于问题的猜想可能是正确的也可能是错误的!!!博客中出现的资料都在前提准备中有提到,如果找不到可以联系我联系方式 QQ:2567434944实验前的必备知识你只需记住就行,不需要知道为什么,

2021-03-13 19:35:05 2615 9

原创 STM32启动详细流程之引言

引言1.起因2.方式3.建议4.内容5.总结1.起因说来也碰巧,我的第一篇博客就是写STM32启动文件相关的知识!!!然而现在,我再次写STM32启动文件相关的内容是因为我发现了太多我曾经不知道的技术细节,而这些技术细节都是我学过cortex-a系列的芯片之后(脱离了keil这个集成开发环境,在linux下编程)回过头来再看cortex-m系列的芯片的时候领悟到的。keilMDK封装好了很多技术细节,这是你在使用keil的时候无法了解到的!!!我发现了STM32启动文件有这么多技术细节(可能这些技

2021-03-09 17:50:46 860 2

原创 uboot常用命令

uboot常用命令1.uboot简介2.uboot版本使用3.uboot常用命令3.1. 信息查询命令3.2. 环境变量操作命令3.3. 内存操作命令3.4. 网络操作命令3.5. MMC操作命令3.6. FAT格式文件系统操作命令3.7. EXT格式文件系统操作命令3.8. BOOT操作命令3.9. 其他常用命令4.总结1.uboot简介U-Boot 是一个主要用于嵌入式系统的引导加载程序,可以支持多种不同的计算机系统结构包括PPC、ARM、AVR32、MIPS、X86、68K、Nios。这也是一套在

2021-02-17 11:05:54 1292

原创 跟我一起学RT-Thread之重定位

重定位1.概念2.程序中含有什么3.谁来做重定位4.重定位和清除BSS段4.1. 重定位4.2.清除BSS段5.重定位的本质1.概念重定位就是把程序的逻辑地址空间变换成内存中的实际物理地址空间的过程。这句话的意思就是:使逻辑地址与实际物理地址一一对应的过程。程序的逻辑地址就是链接地址,由于程序的下载地址不一定是逻辑地址,所以将程序重新定位(拷贝)到逻辑地址所对应的物理地址处就叫做重定位,这是一个过程。2.程序中含有什么代码段:如果它不在链接地址上,就需要重定位只读数据段:如果它不在链接地址上,

2021-02-13 16:00:23 782

原创 跟我一起学RT-Thread之段的概念

段的概念1. 问题的引入1.1. 链接地址1.2. 下载地址1.3. 两者的关系1.4. 重定位2. 段的概念1. 问题的引入led.imx = 头部 + led.bin 或 led.stm32 = 头部 + led.bin头部里含有位置信息(addr):固件要把led.bin复制到哪里去链接程序时,指定了链接地址,一般来说头部信息的addr就等于链接地址如果,偏要修改头部信息的addr,让它不等于链接地址,会发生什么事?头部里含有长度信息(len):led.bin多大。如上

2021-02-13 14:44:03 184

十大排序算法源码C实现

十大排序算法源码,对于正在开始学数据结构的朋友们还是很不错的

2021-12-08

ATK-ESP8266WIFI模块代码.zip

这是个zip文件包含了两个文件,一个是WiFi的头文件,一个是源文件。 能够实现5种模式无缝切换,绝对没有任何问题,WiFi模块是ATK-ESP8266.

2020-08-29

空空如也

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

TA关注的人

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