自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Stm32CubeMX 为 stm32mp135d 添加网卡 eth

目前在我使用 stm32mp135 调试的设备中,网卡是最麻烦的,时钟配置,硬件排查等问题,后面单独开一篇文章大概描述一下。我这里只启用一个eth设备,另一个eth配置是一样的,选择好。能力一般,水平有限,知识浅薄,如果能帮到您,那我感到很荣幸。,生成的代码中 pinctrl 就无需再更改了。,配置自己板子eth所需的引脚。全部配置完后,点击代码生成。,根据自己的板子确定配置。

2024-04-30 13:39:16 887

原创 Stm32CubeMX 为 stm32mp135d 添加 can

一起提交了,内容就是配置了时钟和安全验证,can不需要安全验证。能力一般,水平有限,知识浅薄,如果能帮到您,那我感到很荣幸。我这里只启用一个can设备,另一个配置是一样的,必须点击。,所以我就直接启用timer,使用timer来配置pwm。因为optee这里改变的内容很少,我将。can的时钟配置根据自己板子情况就行。,配置自己板子can所需的引脚。

2024-04-30 13:37:07 308

原创 Stm32CubeMX 为 stm32mp135d 添加 spi

spi 的时钟配置根据自己板子情况就行,时钟源的选择将会影响应用层设置spi设备的频率,当我这里设置为。一起提交了,内容就是配置了时钟和安全验证,can不需要安全验证。能力一般,水平有限,知识浅薄,如果能帮到您,那我感到很荣幸。选中spi设备后,根据需要选择主从模式,,所有引脚配置根据自己板子原理图来确定。因为optee这里改变的内容很少,我将。,配置自己板子can所需的引脚。

2024-04-30 13:35:49 510

原创 Stm32CubeMX 为 stm32mp135d 添加 adc

bringup 可参考: Stm32CubeMX 生成设备树启用adc设备后,根据需要选择通道,后面需要根据所选通道选择引脚参考这里,选择 GPIO 功能复用,配置自己板子adc所需的引脚adc 的时钟配置根据自己板子情况就行全部配置完后,点击代码生成因为我只在内核使用,所以只在linux中增加设备st官方手册配置 adc因为optee这里改变的内容很少,我将一起提交了,内容就是配置了时钟和安全验证,can不需要安全验证github: optee 仓库gitee: optee 仓库github

2024-04-30 13:34:31 549

原创 stm32mp135d u-boot 引导流程

env_check 的作用是在引导过程中检查环境变量是否被修改,并在需要时将其保存到持久存储中,以确保修改的环境变量在下次引导时仍然有效。能力一般,水平有限,知识浅薄,如果能帮到您,那我感到很荣幸。1.当前使用的emmc,执行bootcmd_mmc1。-q: 静默模式,即不显示不必要的信息。-d: 显示默认环境变量的名称和值。-p: 显示环境变量的名称和值。

2024-04-30 13:32:40 986

原创 stm32mp135d bringup

关于 stm32mp135d的移植 一共分为4个部分文件系统编译后面再说,使用 buildroot 或者 yocto我的板子型号为:代码正点原子为基础在这之前,bringup,可以先从。

2024-04-26 17:22:53 623

原创 Stm32CubeMX 生成设备树

使用STM32CubeMX配置Stm32设备树。

2024-04-26 16:54:38 1170

原创 内网穿透工具(zerotier, tailscale)

关于内网穿透,我使用过几种,这里展示其中两种(Zerotier和Tailscale),我用的还可以。个人感觉更好用linux下安装使用。

2024-04-23 21:39:25 1810

原创 ohmyzsh 配置

系统环境:使用过kali系统后,感觉zsh用着还是挺舒服的,换了系统也想换上,所以就写了这篇博文。

2024-04-19 14:51:49 461

原创 进程管理工具

系统环境:以下是一些图形化进程管理工具,

2024-04-15 18:24:06 334

原创 linux 进程管理

netstat:用于显示各种网络相关信息,如网络连接,路由表,接口状态losf:(列出打开文件lists openfiles)能看到pid和用户(有权限控制,只能看到本用户),可以找到哪个进程占用了这个端口ps: 查看某一瞬间所有进程状态(静态)top: 实时所有进程状态(动态)

2024-04-15 18:19:31 833

原创 byobu

系统环境: 是包装过的创建窗口: + 关闭当前标签(只有):查看各窗口: + 查看所有命令: + 在当前窗口上下分屏: + 在当前窗口左右分屏: + 上下左右分屏切换: + 方向键还有一些终端多路复用器: 等等使用方式和快捷键大同小异tmux 使用默认作为控制键screen默认是四、ssh + byobu 远程协作ssh使用其他用户通过 ssh 连接到同一主机上,使用命令进入将会进入同一个终端环境,这样就可以协同了

2024-04-15 17:59:31 533

原创 ssh 使用

(没有此文件就创建一个)

2024-04-15 17:49:59 461 1

原创 git 简单使用

(可以将此文件夹的所有修改都添加),除非你每次都了解并清晰自己的每个修改内容。使用我的例子是无法上传的,这是我自己的仓库,知道此流程即可。前需要确保当前工作区是干净的,即没有需要保存提交的修改。的话,可以用其它的,我后面会写一个,部署一个字的。能力一般,水平有限,希望能帮到您。查看修改,根据需要指定根据文件。需要指定文件,将修改的内容删除。:在自己的上游仓库创建一个名为。至此,git相关的内容就结束了。所有修改都保存,但是不建议。若不加具体文件,将展示。打开一个文件,写完后,配置好后,就可以提交了。

2024-04-15 17:07:42 597

原创 docker 简单使用

进入容器查看,里面已经有了我们复制进来的test.log并且预先安装了软件包:至此,docker简单使用已完成能力一般,水平有限,希望能帮到您。

2024-04-12 15:49:31 770

原创 VxWorks和Linux内核实时性

通用的分时操作系统面向多用户的不同任务,意在追求系统整体运行的效率和资源的均衡利用,软件的执行在时间上要求并不严格。实时操作系统不同于分时操作系统,它主要是对任务进行实时的处理,要求任务的运行具有可确定性和可预测性,提供即时响应和高可靠性。由此导致通用分时系统和实时操作系统的内核在任务调度机制方面的不同。下面主要以内核架构,系统的实时性,以及对系统的实时性改进三点为核心简要分析VxWorks和Linux内核实时性并予以对比。一、内核架构1.1 Linux宏内核架构Linux采用宏内核架构。宏内核

2022-02-10 21:29:22 2134

原创 CPU总线

CPU总线介绍1.地址总线2.数据总线3.控制总线CPU与内存或者外部设备交互信息,首先地址总线寻址,然后使用控制总线发送命令最后通过数据总线进行通信。概述:地址总线的宽度决定了CPu的寻址能力;数据总线的宽度决定了cpU与其它器件进行数据传送时的一次数据传送量﹔控制总线宽度决定了cpU对系统中其它器件的坡制能力。1.地址总线地址总线 (Address Bus;又称:位址总线) 属于一种电脑总线 (一部份),是由CPU 或有DMA 能力的单元,用来沟通这些单元想要存取(读取/写入)电脑内存元

2021-09-19 10:39:58 2776

原创 Linux库概念及相关编程

一、Linux库Linux共享库、静态库、动态库详解Linux库二、静动态库的特点a) 静态库静态函数库,是在程序执行前(编译)就加入到目标程序中去了 ;优点: 运行快 发布程序无需提供静态库,因为已经在app中,移植方便缺点:大b) 动态库动态函数库,是在程序执行时动态(临时)由目标程序去调用缺点: 运行慢优点: 小三、两种库的制作1.静态库的制作:格式xxxx.a1.生成xxx.o文件 gcc demoFunc.c -c2. xxx.o文件生成xxx.a静态库文件 ar r

2021-09-03 20:12:44 165

原创 Shell脚本拓展学习(2)

Shell脚本拓展学习(2)一、sed命令1.一次替换2.指定最多次替换3.指定替换次数4.指定行替换5.打印替换的行6.删除(1)删除指定行(2)删除末行(3)删除指定行到末行(4)删除指含目标字段的行二、date命令三、nohup命令四、Crontab定时器1.查看使用2.删除任务3.查看crontab执行日志4.查看cron服务状态5.启动cron服务五、字符串操作1.(1).获取长度:(2).字符串截取(3).取尾部的指定个数的字符(4).大小写转换2.数组操作(1)赋值(2)查看(3)获取数组的长

2021-04-09 17:52:04 358

原创 Shell脚本拓展学习(1)

Shell脚本拓展学习一、标准输入输出及其重定向二、grep命令1.目标文件查找某字段2.使用gerp查找某字段并计数3.当前目录下查找某字段4.当前目录下查找含某字段的文件5.在子目录下查找某字段6.当前目录下查找并只显示此字段7.当前目录下查找并只显示此行及行数8.在当前目录下查找并显示字段外其他内容9.目标文件下查找显示某字段开头的行10.在目标文件下查找显示某字段结尾的行11.在目标文件下查找显示多目标字段的行12.限制查找显示个数三、awk命令1.直接打印2.打印目标字段行3.打印目标字段列4.使

2021-04-09 16:39:45 273

原创 Shell脚本简单语法

Shell脚本简单语法1.基本判断语法2.基本判断语法测试3.管道4.if条件语句5.case条件语句6.for条件语句7.while条件语句8.函数1.基本判断语法2.基本判断语法测试可以用[ ],亦可以用test[ $x -eq $y ] || echo "x!=y"test $x -eq $y || echo "x!=y"#!/bin/bashread -p "input x:" xread -p "input y:" y[ $x -eq $y ] || echo "x!

2021-03-27 21:53:10 228 2

原创 Shell脚本学习

Shell脚本简单总结1.变量基本使用规则1.定义变量2.使用变量1.变量基本使用规则1.定义变量variable=valuevalue是一串无空格的字符串,否则只打印第一段字符variable=‘value’variable=“value”单引号和双引号功能基本相同,但是若value是一个变量且有值,必须使用双引号才能取值,使用单引号,会将value作为字符串直接输出2.使用变量$variable${variable}使用大括号可以将命令的结果赋值给变量variable='comm

2021-03-27 14:33:01 171 1

原创 Linux之Makefile学习

关于Linux系统下Makefile学习的简单总结1.Makefile简介2.基本函数3.解释代码中的含义1.条件编译2.变量定义3.解决目标文件和依赖4.伪目标4.代码测试1.Makefile2.module13.module24.include5.build1.Makefile简介一个工程中的源文件不计其数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为 makefile

2021-02-07 22:52:03 265

原创 树莓派简单驱动编写

自己写驱动实现IO口高低电平1.准备工作1.统一版本2.安装交叉编译工具2.编写代码1.驱动代码2.测试代码3.测试代码1.进入自己安装的系统版本文件夹下2.配置Makefile3.模块编译1.模块编译2.测试代码编译4.树莓派下操作1.加入驱动2.将设备打开权限设置为都可打开3.测试并调试1.准备工作1.统一版本我是用虚拟机乌班图,编写的驱动是否可以写进内核,取决于乌班图Linux版本和树莓派的是否兼容,若不兼容,请参考内核编译进行内核编译,再实现此代码2.安装交叉编译工具此外还需要安装交叉编

2021-01-10 18:55:23 1821

原创 Linux 实现人脸识别

通过识别照片判断是否为同一人1.借助工具1.注册登录2.选择人脸识别3.1毛钱购买2.代码测试1.借助工具面部识别靠自己是很做成的,故我们借助一些工具,我们利用翔云智能平台,百度搜索翔云(应为翔云便宜一些。。。)1.注册登录进入后,上方选项栏选择价格与购买2.选择人脸识别右侧选择人脸识别,以后若有其他需要亦可使用其他3.1毛钱购买第一次1毛钱(便宜吧。。。)加入购物车,右侧购车内进行购买完成后,再次选择上方选项栏的产品,选择人脸识别可以先选择本地上传试一下2.代码测试接下来

2021-01-07 14:00:42 2826

原创 Linux安装openssl库

Linux安装openssl库1.准备2.开始安装3.更新curl库opensll库资源好多地方都会要钱,此方法可帮你免费下载哦1.准备wget https://www.openssl.org/source/openssl-1.1.1a.tar.gz然后解压tar xvf openssl-1.1.1a.tar.gz 进入文件夹cd openssl-1.1.1a2.开始安装配置./config编译make安装echo ~sudo make install3.更新c

2021-01-07 13:58:16 1277 1

原创 Https协议简介

Https协议1.简介与原理2.一些简单的密码学基础1.简单名词2.加密方式1.对称加密2.非对称加密3.HTTPS 协议优缺点1.优点2.缺点1.效率低,速度慢2.占用资源多1.简介与原理http协议是明文传输的,因此很容易被截取和解析,泄漏个人数据。https协议是在http和tcp之间多添加了一层,进行身份验证和数据加密。2.一些简单的密码学基础1.简单名词明文: 明文指的是未被加密过的原始数据。(我们接触过的socket,ftp代码都是明文)密文:明文被某种加密算法加密之后,会变成密文,

2021-01-04 16:51:55 913

原创 Http协议简介

Http协议1.http协议的特性2.http协议请求1.请求行1、url可见性2、数据传输上3、缓存性4、后退页面的反应5、传输数据的大小6、安全性本质区别2.请求头3.请求主体3.http协议的响应1.响应行2.响应头3.响应主体1.http协议的特性http协议是建立在TCP/IP协议之上应用层协议,默认端口为80,8080http协议的的特点是无状态,无连接其无连接并不真的没有连接,而是只在动作发生时,连接一下,而后断开。(比如我们百度搜索信息时,连接发生在我们点击百度一下是,进入界面后,自

2021-01-04 16:34:14 227

原创 树莓派3B设置 mjpg-streame

树莓派3B设置摄像头1.主要设备2.设置步骤1.下载基本工具2.下载mjpg-streamer3.编译并安装4.修改启动脚本5.打开摄像头查看影像6.关于可能出现的问题1.主要设备树莓派3B + Pi摄像头+mjpg-streamer下图为摄像头2.设置步骤1.下载基本工具sudo apt-get update #更新软件列表sudo apt-get upgrade #更新软件sudo apt-get install subversion #Subversion是一个自由开源的

2021-01-02 12:17:08 654

原创 Linux学习—TCP三次握手四次挥手

TCP三次握手四次挥手1.TCP连接三次握手第一次握手第二次握手第三次握手2.TCP四次挥手第一次挥手第二次挥手第三次挥手第四次挥手3.常见面试题1.为什么连接的时候是三次握手,关闭的时候却是四次握手?2.如果已经建立了连接,但是客户端突然出现故障了怎么办?1.TCP连接三次握手用于TCP连接时:第一次握手建立连接时,客户端发送SYN包(SYN=j)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)。第二次握手

2021-01-01 21:45:12 277 1

原创 网络OSI模型的简单总结

网络OSI模型的简单总结1.什么是OSI?2.七层模型1.物理层2.数据链路层(Data Link Layer)3.网络层(Network Layer)4.传输层(Transport Layer)5.会话层(Session Layer)6.表示层(Presentation Layer)7.应用层1.什么是OSI?Open System Interconnection开放式系统互联:把网络通信的工作分为7层,(从下到上)分别是物理层,数据链路层,网络层,传输层,会话层,表示层和应用层。这种框架性的设计

2021-01-01 21:07:43 408 1

原创 树莓派串口简单测试语音识别模块

1.使用语音模块:LDV7 语音识别模块模块参数:型号:YS-LDV7名称:一体化语音识别模块规格:43*29.7MM供电电压:5V (内部工作电压 3.3V)待机电流:30MA识别时电流:45MAIO 口输出:高电平为 3.3V通信方式:串口通信(5V TTL 电平,不可直接接 RS232、RS485)2.简单使用模块实际原理为 1 片 STC11 单片机+1 片 LD3320 组合形成的一款语音识别模块,语音识别部分已写好驱动程序,用于只需要对 STC 单片机进行编程加入自己的

2020-12-30 17:01:06 1152 3

原创 树莓派控制继电器

树莓派控制继电器1.需要用到wiringPi库,故包含下面头文件2.使用前确保接口正常初始化3.配置引脚4.让对一个已配置为输出模式的引脚输出指定的电平信号5.例子1.需要用到wiringPi库,故包含下面头文件# include<wiringPi.h>2.使用前确保接口正常初始化int wiringPiSetup (void) 3.配置引脚返回:执行状态,-1表示失败 当使用这个函数初始化树莓派引脚时,程序使用的是wiringPi 引脚编号表。void pinMode (i

2020-12-27 19:32:14 436

原创 Linux—gdb调试简单实现

1.GDB简述GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具,GDB主要可帮助工程师完成下面4个方面的功能:(1)启动程序,可以按照工程师自定义的要求随心所欲的运行程序。(2)让被调试的程序在工程师指定的断点处停住,断点可以是条件表达式。 (3)当程序被停住时,可以检查此时程序中所发生的事,并追索上文。 (4)动态地改变程序的执行环境。不管是调试Linux内核空间的驱动还是调试用户空间的应用程序,掌握gdb的用法都是必须。2.安装gdb增强工具gdb工具时系统自带的,但是为

2020-12-24 12:50:59 384

原创 Linux学习—strtok函数的基本实现

1.简述分解字符串为一组字符串。s为要分解的字符,delim为分隔符字符(如果传入字符串,则传入的字符串中每个字符均为分割符)。首次调用时,s指向要分解的字符串,之后再次调用要把s设成NULL。头文件#include<string.h>原型char *strtok(char s[], const char *delim);使用NULL才可以获取后面的字符,应该为第一次分割后str已经被破坏 char *p; char str[128] = {"hello world

2020-12-24 11:44:22 328 1

原创 基于链表实现的学生成绩管理系统

C语言学习成果,主要是加强对链表的熟练操作。。。#include<stdio.h>#include<stdlib.h>//学生结构体struct Student { int ID; int Chinese; int Math; int English; struct Student *next;};//班级结构体struct Class{ int Classnum; struct Student *stuHead; struct Class *n

2020-12-24 09:56:14 1315 1

原创 ftp云盘—服务端server

题目ftp云盘,代码编写分为客户端,服务端,配置文件通过TCP协议,利用套接字socket具体实现。实现功能分为客户端(lls,lpwd,lcd),服务端(ls,cd,pwd,)以及双方文件交互功能(get,put)此为ftp云盘服务端#include <sys/types.h>#include <sys/socket.h>#include <stdio.h>#include <stdlib.h>#include <netinet/in.

2020-12-24 09:44:06 624

原创 ftp云盘—客户端client

题目ftp云盘,代码编写分为客户端,服务端,配置文件通过TCP协议,利用套接字socket具体实现。实现功能分为客户端(lls,lpwd,lcd),服务端(ls,cd,pwd,)以及双方文件交互功能(get,put)此为ftp云盘客户端//包含头文件#include <sys/types.h>#include <sys/socket.h>#include <stdio.h>#include <stdlib.h>#include <net

2020-12-24 09:33:59 493

原创 ftp云盘—配置文件

#define LLS 1#define LPWD 2#define LCD 3#define CD 4#define LS 5#define PWD 6#define PUT 7#define GET 8#define QUIT 9struct Msg{ char data[128]; char dataBuf[128];};

2020-12-24 09:33:06 231

原创 Linux 交叉编译

交叉编译是什么,为什么要交叉编译交叉编译是什么?交叉编译 是在一个平台上生成另一个平台上的可执行代码。我们再windows上面编写C51代码,并编译成可执行代码,如xx.hex,是在c51上面运行,不是在windows上面运行 我们在ubuntu上面编写树莓派的代码,并编译成可执行代码,如a.out, 是在树莓派上面运行,不是在ubuntu linux上面运行 编译:是在一个平台上生成在该平台上的可执行代码 C51 交叉编译的发生在keil(集成环境上面) stm32 ..

2020-12-21 21:03:57 606 1

空空如也

空空如也

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

TA关注的人

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