草庐IT

ARM交叉编译工具链 gcc-arm-none-eabi

目录1,交叉编译工具链简介(1)命令规则(2)实例1、arm-none-eabi-gcc2、arm-none-linux-gnueabi-gcc3、arm-eabi-gcc4、armcc2,安装工具链3,gcc-arm-none-eabi语法说明1,arm-none-eabi-gcc编译(1)常用编译选项(2)使用范例gcc生成预编译文件gcc生成汇编文件gcc生成目标文件gcc生成可执行文件查询`.c`源文件的依赖关系2,arm-none-eabi-ld链接器(1)链接并生成elf文件和map文件3,arm-none-eabi-ar生成静态库(1)将多个`.o`目标文件生成一个`.a`库文件

微服务day01-认识微服务与Eureka注册中心

一.什么是微服务?微服务≠springcloud,是一种经过良好架构设计的分布式解决方案,微服务架构特征单一职责:微服务拆分力度更小,每一个服务都对应唯一的业务能力,做到单一职责,避免重复业务开发面向服务:微服务对外暴露业务接口自治:团队独立,技术独立,数据独立,部署独立,每个服务有自己独立的数据库隔离性强:服务调用做好隔离,容错,降级,避免出现级联问题单体架构将业务的所有的功能集成到一个项目中开发,打成一个包部署优点:架构简单部署成本低适合面向企业内部的小项目缺点:耦合度高分布式架构根据业务功能对系统进行拆分,每个业务模块作为独立项目开发,称为一个服务。优点:降低了耦合度有利于服务的拓展升级

代码随想录算法训练营day57|第九章 动态规划part17

目录647. 回文子串   516.最长回文子序列 动态规划总结篇  647. 回文子串   动态规划解决的经典题目,如果没接触过的话,别硬想 直接看题解。代码随想录这道题对dp数组的定义就很特别,事实上,对于dp数组的定义一般会和题目所要求的东西有关,但这道题不同,因为不难发现dp[i]和dp[i-1],dp[i+1]看上去都没啥关系。但是仔细考虑会发现一种递推关系,也就是判断一个子字符串(字符串的下表范围[i,j])是否回文,依赖于它的子字符串(下表范围[i+1,j-1]))是否是回文,如果子字符串回文,那只要判定两端的字符是否相等即可。由此也可见,只凭借一维数组是没办法同时反映左端点和右

Linux每日练习day3

创建1个f开头的文件夹,2个f开头的普通文件1、输出文件名时,每个文件名前加一个前缀abcfind-name'f*'-execechoabc{}\;abc./flyabc./firabc./fty2、输出所有文件名时,在行头加一个前缀aaafind-name'f*'|xargsechoaaaaaa./fly./fir./fty2、通过批量处理的命令exec或者xargs删除f开头的普通文件find-name'f*'-typef|xargsrm-rflsfly1、过滤出etc目录中以p开头的文件名ls-a/etc|grep'^p'pam.dpasswdpasswd-pkcs11pkiplymou

ARM day7 day8 UART串口、PWM蜂鸣器、WDT看门狗、ADC数模转换

一、串口编程   1.看原理图      GPA1_0:RXD2      GPA1_1:TXD2   2.看芯片手册      1)对外设置(GPIO)         GPA1CON:0x11400020 3:0->0x2(RXD2) 7:4->0x2(TXD2)      2)对内设置(uart)         ULCON2:0x13820000 0x3         UCON2: 0x13820004 1:0->01(polling) 3:2->01(polling)         UTRSTAT2:0->1(readyread) 1->1(发送完成)         UBRDI

【前端Vue】Vue从0基础完整教程第2篇:day-08【附代码文档】

Vue从0基础到大神学习完整教程完整教程(附代码资料)主要内容讲述:vue基本概念,vue-cli的使用,vue的插值表达式,{{gaga}},{{if(obj.age>18){}}},vue指令,综合案例-文章标题编辑vue介绍,开发vue的方式,基本使用,如何覆盖webpack配置,目录分析与清理,vue单文件组件的说明,vue通过data提供数据,通过插值表达式显示数据,安装vue开发者工具,v-bind指令,v-on指令,v-if和v-show,v-model,v-text和v-html。day-08vuex介绍,语法,模块化,小结。面经PC端-element(上)初始化,reques

Visual Studio交叉编译ARM工程

1、环境准备1.1、软件安装在Windows10/Windows11系统上安装VisualStudio2022和装有Linux系统的虚拟机VMwareWorkstationPro。(这里以VisualStudio2022为例,也可以换成其它支持远程调试的工具版本如VisualStudio2019及更高的版本)注意:安装VisualStudio2022时一定要勾选上“使用C++的Linux和嵌入式开发”的工具集。虚拟机安装完成后,进行Linux系统的安装。注意:明确系统的cpu架构,是x86、x64、ARM还是ARM64,这在之后的VisualStudio中需要选择编译平台。1.2、Linux系

[ARM入门]ARM模式及其切换、异常

ARM技术特征ARM处理器有如下特点体积小、功耗低、成本低、性能高支持Thumb(16位)/ARM(32位)双指令集,能很好地兼容8位/16位器件大量使用寄存器,指令执行速度更快大多数数据操作都在寄存器中完成寻址方式灵活简单,执行效率高指令长度固定ARM的基本数据类型ARM采用的是32位架构,ARM的基本数据类型有以下三种Byte:字节,8bitHalfword:半字,16bit(半字必须与2字节边界对齐)word:字,32bit(字必须与4字节边界对齐)存储器可以看作是序号为0-2^32-1的线性字节阵列,每一个字节都有唯一的地址ARM处理器工作模式Cortex-A系列的ARM处理器工作模式

嵌入式培训机构四个月实训课程笔记(完整版)-Linux ARM驱动编程第五天-ARM Linux编程之自动创建节点 (物联技术666)

链接:https://pan.baidu.com/s/1V0E9IHSoLbpiWJsncmFgdA?pwd=1688提取码:1688       驱动程序编写好后,还需要创建设备节点,有两种方式,一是通过mknod命令去手动创建,例如:mknod/dev/helloc2500,/dev/hello为设备节点名字,c代表字符设备,250和0代表它的主次设备号。二是使用udev或mdev来实现自动创建设备节点。使用mknod手动创建设备节点不够灵活,如果是动态分配的设备号怎么办,难道每次加载驱动后去查看/proc/devices文件中查看它的主设备号,要是产品发布时怎么办,显然不太现实利用ude

Day112.尚医通:手机验证码登录功能、阿里云短信服务

目录一、手机验证码接口实现1、在service下创建service_user模块2、实现登录注册接口一、手机验证码登录生成token1、单点登录方案:2、JWT工具:3、实现JWP整合二、申请、集成阿里云短信服务,搭建接口三、完成登录接口四、前端页面实现一、手机验证码接口实现1、在service下创建service_user模块详见课件#服务端口server.port=8203#服务名spring.application.name=service-user#环境设置:dev、test、prodspring.profiles.active=dev#mysql数据库连接spring.datasou