自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(316)
  • 收藏
  • 关注

原创 嵌入式--->怎样选择编译语言,C C++或是Rust?

C 老牌语言,不可替代,速度和资源占用都是嵌入式领域着重考虑的Rust 作为新生语言,已经成长到可以和C进行竞争的地步,不论是速度还是资源占用看,还是安全性C++ 嵌入式开发使用C++的思想,可以极大地简化代码,实现更多功能,负面影响就是更多的资源占用。

2023-10-24 11:10:54 411

原创 [网络]--->网络相关名词,网关,子网掩码...

在没有路由器的情况下,两个网络之间是不能进行TCP/IP通信的,即使是两个网络连接在同一台交换机(或集线器)上,TCP/IP协议也会根据子网掩码(255.255.255.0)判定两个网络中的主机处在不同的网络里。而要实现这两个网络之间的通信,则必须通过网关。如果网络A中的主机发现数据包的目的主机不在本地网络中,就把数据包转发给它自己的网关,再由网关转发给网络B的网关,网络B的网关再转发给网络B的某个主机(如附图所示)。网络B向网络A转发数据包的过程。网关实质上是一个网络通向其他网络的IP地址。

2023-09-19 10:10:34 306

原创 嵌入式--->ICache DCache

ICache用来缓存指令,目前icache的一切都是自动的,不需要我们去做什么。我们只需要打开或者关闭icache。DCache用来缓存数据,dcache用的前提是mmu要启动。

2023-01-17 14:32:33 446 1

原创 keil MDK5,ARM-CC--->的使用

keil ARMCC waring屏蔽

2022-07-15 09:58:57 830

原创 Docker--->总目录

Dockerdocker>安装与简介Docker—>创建镜像到gitlab仓库Docker—>容器的创建启动进入Docker—>文件/文件夹的挂载映射

2022-04-27 14:57:24 1098

原创 Docker--->创建镜像到gitlab仓库

进入页面 GitLab Container Registry,一般都有说明,介绍了三个命令docker logindocker build -tdocker push🐱本文就这三个命令的使用和注意事项做一总结docker login在GitLab工程的Packages&Registries—>Container Registry页面,如果没有,则需要找管理员给你开权限;如果image是空的就可以看到推荐的登录URL,直接copy就可以了;要是已经有镜像了,login r.

2022-04-27 13:03:49 1493

原创 Docker--->容器的创建启动进入

容器的创建容器的创建需要基于镜像,先查看我们所拥有的imagedocker images需要IMAGE ID来创建容器(当然IMAGE NAME也是可以的)创建容器,一般local创建容器我会挂载个目录,这样用起来方便很多,参见docker 文件夹挂载docker run -it image_id容器的二次启动并进入查看正在运行的容器docker ps如果没有正在运行的容器则查看所有容器docker ps -a需要CONTAINER ID来启动容器启动容器docker st

2022-04-27 10:52:41 3388

原创 make: *** No rule to make target ‘\*\*.o‘, needed by ‘ \*\*.elf‘. Stop.

make的时候老是报这个错make: *** No rule to make target '\*\*.o', needed by ' \*\*.elf'. Stop.排查是否是路径问题 导致生成 **.o失败

2022-04-11 14:57:27 1307

原创 Docker--->文件/文件夹的挂载映射

宿主机的文件夹挂载映射docker run -it -v d:\dockr_attach\data:/data image_idd:\dockr_attach\data — 宿主机文件夹路径,我是在D盘已经创建了\dockr_attach\data目录/data — 容器映射文件夹 会在根目录下存在(与home目录等同级)image_id — 镜像的id 使用docker images命令可查看所有镜像的id...

2022-04-07 10:06:27 10588

原创 ceedling--->BUG记录 undefined reference to `__LDREXW‘

现象测试文件A.c中内容,依赖于B.c,这里mock了B.h#include "unity.h"//#include "support_A.h"#include "mock_B.h"#include "A.h"如上代码段,support_A.h是存在于support文件夹中新建的支持文件,其中没有任何内容,当不加入support_A.h报错Linking test_A.out...B.h:3683:undefined reference to `__LDREXW'B.h:3683:und

2022-03-25 09:39:28 669

原创 CMakeList--->CMakeList的编写,cmake,平台通用项目构建工具

视频教程康康这个Bilibili点击跳转,由于本文信息密度大,比较详细,可能略显繁琐,还请耐心阅读🐱文章目录CMakeList 语法精述PROJECT 工程名SET 设置变量MESSAGE 打印信息ADD_EXECUTABLE 生成可执行文件ADD_SUBDIRECTORY 添加子目录ADD_LIBARY 输出库SET_TARGET_PROPERTIESINCLUDE_DIRECTORIES 添加头文件路径LINK_DIRECTORIES 添加库搜索路径TARGET_LINK_LIBRARIES .

2022-03-16 13:15:54 1289

原创 嵌入式---->Arm gcc 编译参数,

本篇文章基于mingw32-make.exe来执行编译Cortex-Arm4内核的工程来编写和测试的,环境Windows10 😄文章目录前提准备具体参数参数表参数用例可执行程序的大小优化参考前提准备对Makefile有一定的使用经验,阅读本文章至少要对makefile语法有了解程度Windows 下使用 Mingw32-make 来执行 Makefile示例GCC是什么具体参数参数表参数项功能notes-ffunction-sections-fdata.

2022-03-15 13:42:20 799

原创 makefile--->总目录

makefile初步认识\color{pink}{初步认识}初步认识

2022-03-10 09:40:23 392

原创 make/makefile--->初步认识

make/makefilemakefile格式目标文件:依赖文件tab命令 gcc 依赖文件 -o 目标文件#其中 $^代表依赖文件,$@代表目标文件。使用hello.c生成可执行文件hello,编辑完成后直接make就可以了hello:hello.o gcc hello.o -o hello hello.o:hello.s gcc -c hello.s -o hello.o hello.s:hello.i gcc -S hello.

2022-03-10 09:39:50 282

原创 CubeMx--->踩坑记录

文章目录时钟配置1.时钟树晶振问题2.[时钟源的选择](https://www.cnblogs.com/niu-li/p/11172052.html)时钟配置1.时钟树晶振问题现象及分析卡住在 (HAL_GetTick() - tickstart) > HSE_TIMEOUT_VALUE ,这里查看是否在SysTick_Handler中调用累加计数器处理在CubeMx中时钟树的配置出了问题,其中HSE的值是根据所提供的晶振来设置的,是写死的比如下图中的25MHZ是因为硬件晶振就是25

2022-03-09 09:41:46 1412

原创 嵌入式--->wolfSSL移植

>wolfSSL可以理解为是轻量级的OpenSSL,十分适用于嵌入式>wolfSSL手动移植教程两个,STM32F767(正点原子Apllo板子)/GD32450i-EVAL(兆易的板子)>如有差错与疑问欢迎留言:cat:

2022-03-08 14:54:50 3126 1

原创 嵌入式通信--->QSPI

QSPI

2022-02-28 13:09:39 1946

原创 FreeRTOS--->总结笔记

度娘已经有很好的概述了点击跳转😄😏但是不够详细深度,这里就个人认知做浅显的总结本文适合移植并使用过一段时间FreeRTOS但是还不太了解的同学🐱文章目录笼统的说笼统的说FreeRTOS是一个小型的广泛被使用于嵌入式的一个五脏俱全的实时操作系统。task通过PCB(Process Control Block)控制使用双向链表实现任务调度机制,从高优先级到低优先级遍历找到需要执行的task,若有多个task具有相同优先级则轮流执行。vTaskDelay()延时发生将task移入等待链表.

2022-02-23 10:51:24 409

原创 LWIP--->总结笔记

LWIP百度词条跳转文章目录LWIP简介LWIP的三种APIRAW APIlwip APIBSD APILWIP简介LWIP是一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用,所以很适合使用于嵌入式系统中LWIP的三种APIRAW APIRAW API把协议栈和应用程序放到一个进程里边,该接口基于函数回调技术,使用该接口的应用程序可以不用进行连续操作。不过,这会使应用程序编写难度加大且代码不易被理解。为了接收数据,应用程序会向协议栈注册.

2022-02-11 17:29:15 544

原创 FreeRTOS---->关键API总结,任务调度,内核控制

文章目录任务调度xTaskCreatexTaskCreateStatic内核控制函数任务调度函数描述详解xTaskCreate()使用动态的方法创建一个任务xTaskCreateStatic()使用静态的方法创建一个任务xTaskCreateRestricted()创建一个shiyongMPU进行限制的任务,相关内存使用动态内存分配xTaskDelete()删除一个任务xTaskCreate返回值为pdPASS,失败返回NULLBas.

2022-01-21 15:24:07 437

原创 嵌入式--->调试时程序卡死在 LDR PC, DAbt_Addr

MCU:LPC2148内核:ARM7现象程序打了断点后,调试一段再运行起来之后卡死在LDR PC, DAbt_Addr; Exception Vectors; Mapped to Address 0.; Absolute addressing mode must be used.; Dummy Handlers are implemented as infinite loops which can be modified.Vectors LDR PC, Re.

2022-01-12 13:14:06 582

原创 嵌入式基础知识--->硬件篇

文章目录MOS管MOS管

2021-12-27 10:09:28 2439

原创 CubeMx-->STM32工程移植时出现error: #20: identifier “HAL_StatusTypeDef“ is undefined 的问题

error: #20: identifier “HAL_StatusTypeDef” is undefined可以导航到,但是编译报错Error: L6218E: Undefined symbol HAL_ADC_ConfigChannel (referred from h_adc.o).等问题出现时,是一个原因1. 问题原因因为我们使用CubeMX生成工程,在生成工程时会自动配置stm32f7xx_hal_conf_template.h,屏蔽了一些HAL库,导致一部分HAL库被宏定义屏蔽了,我.

2021-12-20 15:10:29 1656

原创 嵌入式--->内存管理

STM32F7 虚拟映射了4G的可访问内存文章目录参考链接参考链接STM32 内存分配解析及变量的存储位置

2021-12-15 13:59:54 650

原创 STM32F7-->USART串口通信

对USART有了一定的了解,在此总结文章目录RxTxRxTx使用Tx有两个相关寄存器,TDR和移位寄存器需要有一些基础认识:TXE是TDR为空判断标志位,TC是移位寄存器发送完成标志位当TDR寄存器为空,硬件会将TXE位置1,这个位需要手动置0;当移位寄存器发送完成,硬件会将TC位置1,这个位需要手动置0只用往TDR寄存器中放数据就好了,其他都是自动的,然后根据TXE和TC标志位判断下次数据是否可以往TDR放了梳理一下简单的发送步骤:TDR一开始是空的,TDR为空的判断标志.

2021-12-15 11:25:57 1049

原创 git-->remote: [session-384290b2] username: Incorrect username or password (access token) fatal:

之前gitee/github用的好好的,今天在git push的时候突然出现标题错误仔细思考,是我修改了git的用户密码导致的,所以需要重新配置windows凭据具体的操作详见这篇博客点击跳转,修改用户名和密码凭据就基本可以使用了????这是我的解决方法,并不适用所有情况,如有其它问题欢迎探讨...

2021-11-08 09:50:38 1016

原创 CubeMx--->使用经验

需要有一定的嵌入式基础再使用CubeMx事半功倍参考链接神器cubemx的正确打开方式

2021-11-04 10:57:28 136

原创 VsCode--->Windows下使用makefile编译工程

文章目录环境配置具体使用编写`makefile`执行`makefile`环境配置安装mingW64配置mingW64的bin到环境变量具体使用编写makefile在想要的目录下编写makefile,具体的语法见【…】执行makefile调用的是mingW64bin目录下的mingw32-make.exe,执行如下命令mingw32-make...

2021-10-25 10:21:03 4930

原创 高达--->立项开篇

今天1024,喝了点酒,立个项吧,顺带拿个勋章,连着拿3年了不是文章目录基础知识编程语言机械结构基本准备电机选型材料打印基础知识编程语言机械结构基本准备电机选型材料打印

2021-10-24 22:06:21 72

原创 嵌入式--->LWIP

LWIP是一个小型开源的TCP/IP协议栈,LWIP是轻量级的IP协议,有无操作系统都可以运行,并且占用极少的RAM和ROM即可运行主要特性ARP协议以太网地址解析协议IP协议包括IPv4和IPv6,支持IP分装与重装,支持多网络接口下数据转发ICMP协议用于网络调试与维护IGMP协议用于网络组管理,可以实现多播数据的接收UDP协议用户数据报协议TCP协议支持TCP拥塞控制,RTT估计,快速恢复与重传等提供三种编程接口方式raw/callback API、sequenti.

2021-09-09 15:58:03 147

原创 Python--->socket(python3)

很多教程挺流氓的,不做基础介绍,以下是我个人总结笔记,如有错误还请斧正文章目录TCP版本服务端客户端运行效果TCP版本TCP是有链接的服务端addr设置 bind listen accept 固定流程#coding:utf-8from socket import *from time import ctimeHOST = '127.0.0.1' #主机号为空白表示可以使用任何可用的地址。PORT = 21567 #端口号BUFSIZ = 1024 #接收数据缓冲大小ADDR .

2021-09-07 17:08:59 177

原创 STM32F7--->Internal Flash

STM32F767IGT6D的FLASH大小为1MB文章目录Flash闪存模块闪存的读取闪存的编程和擦除STM32F767的标准编程步骤Flash闪存模块模块组织表如上,可见STM32F767IGT6由:主存储器、系统存储器、OPT区域、选项字节4部分组成。STM32F767的Flash访问路径有两条:AXIM和ICTM,一般使用AXIM接口访问Falsh,其其实地址为0X08000000主存储器存放代码和数据常量(const常量数据)。它可以分为1个Bank(默认)和2个Ban.

2021-09-06 17:41:22 851

原创 STM32F7--->QSPI

QSPI即Quad SPI(四线SPI),几种SPI的区别详见参考文章目录QSPI 介绍工作模式QSPI特点F7的QSPI闪存映射模式接口框图QSPI命令序列(与FLASH的通信)指令阶段地址阶段交替字节(复用字节)阶段空指令周期阶在空指令周期阶段,在给定的数据阶段间接模式QSPI的使用QSPI初始化步骤1.开启QSPI接口和相关时钟,设置IO的复用功能2.设置QSPI相关参数QSPI 介绍工作模式QSPI是一种专用的通信接口,可连接单、双或四(条数据线)SPI FLASH存储器。STM32F.

2021-08-31 15:57:35 1381

原创 Python3--->使用通配符删除文件

import globimport osdef files(curr_dir = '.', ext = '*.txt'): # 当前目录下的文件 for i in glob.glob(os.path.join(curr_dir, ext)): yield idef remove_files(rootdir, ext): # 删除rootdir目录下的符合的文件 for i in files(rootdir, ext): os.remove(i)if _

2021-08-30 17:06:42 1015

原创 Python--->总目录

python奇技淫巧console打印表格

2021-08-30 09:27:03 95

原创 机械臂--->硬件的选择

本人从零开始,所以本编文章可能过于啰嗦详细????文章目录电机MCU电机电机的选择可以说是很头疼的一个问题了,好的电机太贵所以目决定选择尽可能好的电机(不太贵的),然后再配上行星减速器增大扭矩MCUMCU选择stm32...

2021-08-29 22:30:26 536

原创 Pyhon--->读取Json文件并转换为字典,Json库,

话不多说先上代码????我的a.json文件如下{ "AAAA" : "3" , "BBBB" : "39"}我的python文件如下import jsonfrom json.encoder import py_encode_basestringif __name__ == "__main__": with open('./a.json','r') as f: list = json.load(f)

2021-08-27 17:28:59 622

原创 VsCode---->爽到飞起的插件&快捷键

One Dark Pro,暗黑系主题,对眼睛非常友好,而且看起来很高大上vscode-icons,文件图标插件,对每个文件都会显示非常好看的图标Rainbow Brackets,这个是代码的括号使用不同的颜色展示,非常方便阅读......

2021-08-27 15:39:20 309

原创 python3--->文件的读写操作

python3.9文章目录示例打开文件参数解释示例如下示例对文件进行追加写 with open("test.txt",mode="a",encoding="utf-8") as file: file.write("hahhahahahhahahahha\n") #1 file.write("gegeggegegegegegege\n") #2 file.close()需要注意的是,追加写会在文件关闭的时候后将写入得数据一次性写入,也就.

2021-08-24 09:43:40 95

原创 嵌入式--->多种通信方式,概述UART,IIC,SPI

本篇文章是基于STM32F767的学习总结文章目录通讯方式分类典型通信方式概述串口通信IICSPI附录参考链接通讯方式分类从物理结构来看:通信方式分为并行通信与串行通信两种方式,串行只用到一根线即可,并行需要8根从工作方式来看:全双工:可同时收发数据半双工:不可同时收发数据,可分时收发数据单工:任何时刻只能往某一个固定方向传输数据从是否公共用时钟信号来看:同步通信:两设备公用同一个时钟信号,数据信号所传输 的内容绝大部分就是有效数据,效率高异步通信:两设备之间只有数据信号没有时钟信.

2021-08-12 17:30:24 1777 3

空空如也

空空如也

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

TA关注的人

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