草庐IT

Days 23 ElfBoard 板git版本管理工具

一、介绍git就是一个版本管理库,也是一个版本管理工具,它的作用就是帮助我们记录版本信息,以及修改内容。git的结构是分布式的资源库,特点是没有严格的服务器概念,每个单体都可作为资源库。这个特点就让我们人人有自己的git仓库这件事变得容易实现。git仓库分为:本地仓库:本地电脑上的资源库远程仓库:远程服务器上的资源库,可以连接github二、安装在Windows系统上安装Git很简单,可以直接从Git官网下载安装程序在linux系统上安装Git有很多种方式,可以根据自己系统的情况选择相应的安装方法。三、配置安装完成后,需要对Git进行必要的配置,包括设置用户名和邮箱、配置文本编辑器等。1.gi

FreeRtos(Arm M7)中断压栈分析

 目录1.前言2.源码分析2.1xPortPendSVHandler源码2.2 pxPortInitialiseStack源码3.问题总结1.前言         以ArmM7核为例,当CPU响应中断异常时,第一件事就是保存现场,进行压栈。如果当前使用的是任务堆栈,则压入PSP;如果使用的是系统主堆栈,则压入MSP。在压栈的过程中,xPSR,PC,LR,R12以及R3~R0是由硬件自动完成压栈的,具体的入栈情况如图1所示: 图1入栈顺序及入栈后堆栈中的内容(参考M3权威指南)        其中,N为入栈开始时SP的值,在入栈后,新栈顶为N-32,这些硬件自动入栈的寄存器是编译器优先使用来保存

STM32 与 ARM 谁比较强大?

STM32和ARM是两个不同的概念,STM32是一种微控制器产品,而ARM是一家处理器架构设计和许可的公司。因此,无法简单地比较它们的强大程度。STM32是基于ARMCortex-M核的微控制器产品,具有高性能、低功耗、低成本和易于开发等优势。其集成了丰富的外设接口和功能模块,使得开发者可以方便地实现各种复杂的功能,降低了硬件和软件设计的复杂度。同时,STM32具有广泛的应用和生态系统,支持多种开发工具和操作系统。ARM是一家处理器架构设计和许可的公司,其处理器广泛应用于各种嵌入式系统中。ARM处理器架构具有低功耗、高性能、低成本等特点,广泛应用于移动设备、智能家居、物联网等领域。因此,STM

【ARM Cortex-M 系列 1.1 -- Cortex-M33 与 M4 差异 详细介绍】

请阅读【嵌入式开发学习必备专栏之Cortex-Mx专栏】文章目录背景Cortex-M33与M4差异Cortex-M33Cortex-M4关系和差异举例说明背景在移植RT-Thread到瑞萨RA4M2(Cortex-M33)上时,遇到了hardfault问题,最后使用了Cortex-M4中的调度相关的函数后,OS可以正常调度了。所以这里做下M33与M4的关系梳理。ARMCortex-M33和Cortex-M4都是ARM公司设计的32位RISC微处理器核心,它们属于ARMCortex-M系列,专为微控制器和嵌入式系统设计。这两种核心都很受欢迎,并被广泛应用于各种低功耗和实时处理场景。尽管它们有许多

JavaScript 学习笔记(WEB APIs Day5)

「写在前面」本文为b站黑马程序员pink老师JavaScript教程的学习笔记。本着自己学习、分享他人的态度,分享学习笔记,希望能对大家有所帮助。推荐先按顺序阅读往期内容:1.JavaScript学习笔记(Day1)2.JavaScript学习笔记(Day2)3.JavaScript学习笔记(Day3)4.JavaScript学习笔记(Day4)5.JavaScript学习笔记(Day5)6.JavaScript学习笔记(WEBAPIsDay1)7.JavaScript学习笔记(WEBAPIsDay2)8.JavaScript学习笔记(WEBAPIsDay3)9.JavaScript学习笔记(

【Linux Day15 TCP网络通讯】

TCP网络通讯TCP编程流程接口介绍socket()方法是用来创建一个套接字,有了套接字就可以通过网络进行数据的收发。创建套接字时要指定使用的服务类型,使用TCP协议选择流式服务(SOCK_STREAM)。**bind()方法是用来指定套接字使用的IP地址和端口。**IP地址就是自己主机的地址,测试程序时可以使用回环地址“127.0.0.1”。端口是一个16位的整形值,一般0-1024为知名端口,如HTTP使用的80号端口。这类端口一般用户不能随便使用。其次,1024-4096为保留端口,用户一般也不使用。4096以上为临时端口,用户可以使用。在Linux上,1024以内的端口号,只有root

算法练习Day30 (Leetcode/Python-动态规划)

62.UniquePathsThereisarobotonan mxn grid.Therobotisinitiallylocatedatthe top-leftcorner (i.e., grid[0][0]).Therobottriestomovetothe bottom-rightcorner (i.e., grid[m-1][n-1]).Therobotcanonlymoveeitherdownorrightatanypointintime.Giventhetwointegers m and n,return thenumberofpossibleuniquepathsthatther

代码随想录算法训练营Day57|647. 回文子串、516.最长回文子序列、动态规划总结

目录647.回文子串前言思路算法实现 516.最长回文子序列前言思路算法实现 动态规划总结动规五部曲回顾动规各小专题问题647.回文子串题目链接文章链接前言    本题利用动态规划求解时,dp数组的定义与前面的就有些不同了,是难点之一。思路     本题利用动态规划的方法进行求解:1.确定dp数组及其下标的含义:    如果按照前面做题的思路将dp数组的定义设置为dp[i]为下标i结尾的字符串有dp[i]个回文串的话,很难找到递推关系。    因此本题要根据回文子串的性质来确定dp数组:             在判断字符串s是否回文时,只要知道s[1],s[2],s[3]这个子串是回文的,那

物联网ARM开发-STM32之RTC浅谈

RTC一.RTC简单介绍  RTC好比我们用来记录时间的一个钟表,他里面有年月日,还可以记录星期,小时,分钟等。是RealTimeClock的缩写,译为实时时钟,本质上是一个独立的定时器。1.1与通用定时器的区别可以在后备电源下工作,主电源掉电以后,单片机内部电源还会继续给RTC提供电源,保持其正常运行。计数器符合年、月、日、星期、时、分、秒、等日期的时间技术规则,例如它可以区分是不是闰年还有大小月份。不受复位信号影响,例如主电源上电过程会有一个复位效果,但是RTC不会受其影响。低功耗计时,通常电流是uA。最典型的就是我们电脑主板内部的RTC。1.2常见的独立RTC芯片PCF8563,NXP公

c++ - ARM C++ - 如何将 const 成员放入闪存中?

我有这个代码classIO{public:IO(LPC_GPIO_TypeDef*port,intpin):_pin(pin),_port(port){};constint_pin;LPC_GPIO_TypeDef*const_port;voidtest(){LPC_GPIO0->FIOSET=0;}};IOled1(LPC_GPIO0,5);intmain(){led1.test();return0;}当我编译它时,我得到了textdatabssdechexfilename65608664298lpc17xx我希望const_port和_pin变量存储在闪存中,因为它们被标记为con