自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 嵌入式基础

IMX6ull学习笔记(补)

2022-07-05 00:03:48 782 1

原创 解决IMX6ULL有无线网卡也无法连接网络

文章目录环境 : IMX6ULL PRO输入ifconfig所以,我们使用NetworkManager来管理网络即:开启WiFinmcli r wifi on扫描附近wfinmcli dev wifi连接WiFinmcli dev wifi connect "你的WiFi名字" password "你的WiFi密码" ifname wlan0 这里我用wlan1成功的推断是进程占用了wlan0待补充...

2022-04-01 21:23:16 1147

原创 DIY远程空调遥控(考研已断更)

小白DIY个遥控

2022-03-15 14:58:48 12172 19

原创 [robot_description]: no such command [[‘/opt/ros/noetic/share/xacro/xacro.py‘ 出错解决ros_noetic

环境: Ubuntu20.04 | ros版本Noetic问题描述:运行roscore时也就是:roslaunch robot_sim_demo robot_spawn.launch出现RLException: while processing /home/lz/demo_ws/src/ROS-Academy-for-Beginners/robot_sim_demo/launch/include/xbot-u.launch.xml:Invalid <param> tag: Cann

2022-02-13 05:30:39 3080 13

原创 Android studio初次运行出现Installation did not succeed. The application could not be installed

环境:intel (据观察intel和amd都会出现) 最新版Android studio点击运行出现报错Installation did not succeed.The application could not be installed: INSTALL_PARSE_FAILED_NO_CERTIFICATES解决办法:在项目中的gradle.properties全局配置添加下列代码android.injected.testonly=false重新Sync now 即可或者

2021-05-15 15:57:05 1711 4

原创 IMX6ULL开发笔记

自动获得IP:udhcpcsource的使用编译内核当遇到内核版本不一时(开发板内核低于编译内核),挂载后,将编译内核生成的arch/arm/boot/zImage发给开发板并将zImage文件放在/boot/下,reboot提示污染内核,没有影响,因为我们在内核目录外面编译的编译内核时找不到arm-gnueabihf-gcc这种问题刚开始都去找环境变量的问题,原来是编译器没装(我也有点迷)sudo apt install gcc-arm-linux-gnueabihf...

2021-05-05 03:39:00 242

原创 GCC编译出错找不到环境变量

环境:树莓派3BLIBRARY_PATH:程序编译期间查找动态链接库时指定查找动态库的路径相关链接: 库相关编译时出现/usr/bin/ld: cannot find -lcurlcollect2: error: ld returned 1 exit status只需要sudo vi /etc/profile然后最后加上export LIBRARY_PATH=$LIBRARY_PATH:“这里是你动态库pwd”退出,然后source /etc/profile...

2021-04-19 22:19:00 363

原创 Makefile的学习

MakeMakefile基本结构Makefile格式target : dependency_files<TAB> command例子hello.o : hello.c hello.hgcc -c hello.c -o hello.oMakefile是Make读入的唯一配置文件由make工具创建的目标体( target),通常是目标文件或可执行文件要创建的目标体所依赖的文件(dependency_file)创建每个目标体时需要运行的命令(command)注意:

2021-04-10 01:13:28 183 1

原创 Shell的介绍以及shell的编程

目录简介命令格式通配符什么是管道 '|'什么是重定向命令置换常见命令ps的状态文件的解压缩tarshell编程变量用户自定义变量位置变量即命令行参数预定义变量环境变量简介命令格式打印环境变量:echo通配符什么是管道 ‘|’什么是重定向命令置换比如command 'command'常见命令ps的状态状态参数:R:正在执行中S:阻塞状态T:暂停我行Z:不存在但暂时无法消除D:不可中断的静止<:高优先级的进程N:低优先级的进程L:有内存分页分配并锁

2021-04-09 17:11:19 153

原创 解决Ubuntu在挂起后重新开启时无网络的问题

环境:Ubuntu20.04,vm16 pro, 桥接网络当遇到这种问题,直接输入以下指令即可sudo /etc/init.d/network-manager restart

2021-04-06 18:11:18 520

原创 vim使用函数跳转功能

vim使用时对于比较大,长的文件,没有函数跳转功能的话会很难受Linux有对应的方法:sudo apt-get install exuberant-ctags然后再文件路径下运行ctags -R .注意:这个会生成一个tags文件, 这个文件就是所有函数和变量的索引列表,但是只能再本目录使用!!!此时我们打开一个c文件,将光标移到想要跳转的函数或变量上按ctrl+]就是跳转,ctrl+T就是返回,可以多次跳转和返回,同时也可以跨文件查找...

2021-04-06 18:05:30 1244

原创 树莓派安装openssl支持HTTPS

一步一步走wget https://www.openssl.org/source/openssl-1.1.1a.tar.gztar xvf openssl-1.1.1a.tar.gz cd openssl-1.1.1a./configmakeecho ~sudo make install cd curl-7.71.1/ ./configure --prefix=$PWD/_install --with-sslmakemake install...

2021-04-05 18:05:19 1405 4

原创 Libcurl库——HTTP协议实现

目录Libcurl库简介Libcurl的使用安装编程注意的小TIPSLibcurl库简介libcurl是跨平台网络协议库,支持应用层http,https,ftp,gopher,tellnet,dict,file,dap协议libcurl同样支持HTTPS证书授权,HTTP POST, HTTP PUT, FTP 上传,HTTP基本表单上传,代理,cookies,和用户认证库下载地址:https://github.com/curl/curl/releases/tag/curl-7_71

2021-03-29 23:48:55 616

原创 Socket TCP HTTP 的区别

目录Socket套接字Socket的建立TCPHTTPSocket连接TCP/IPSocket连接HTTPSocketSocket编程链接套接字套接字(socket)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元。它是网络通信过程中端点的抽象表示,包含进行网络通信必须的五种信息:连接使用的协议,本地主机的IP地址,本地进程的协议端口,远地主机的IP地址,远地进程的协议端口。应用层通过传输层进行数据通信时,TCP会遇到同时为多个应用程序进程提供并发服务的问题。多个TCP连接或多个应用程

2021-03-29 20:48:03 90

原创 HTTPS协议及密码学的简单学习

目录HTTPS协议了解密码学基础名词加密方式对称非对称哈希值HTTPS协议了解https协议是明文传输的,因此很容易被截取和解析,泄漏个人数据。https协议是在http和tcp之间多添加了一层,进行身份验证和数据加密。HTTPS和HTTP协议相比提供了:数据完整性:内容传输经过完整性校验数据隐私性:内容经过对称加密,每个连接生成一个唯一的加密密钥身份认证:第三方无法伪造服务端(客户端)身份密码学基础明文:能直接代表原文含义的信息​ 密文:经过加密处理之后,隐藏原文含义的信息​ 加密

2021-03-23 20:20:39 183

原创 HTTP协议

目录特性协议的请求请求行请求头请求体Http协议的响应响应行响应头响应主体特性HTTP协议(超文本传输协议HyperText Transfer Protocol),它是基于TCP/IP协议的应用层传输协议,简单来说就是客户端和服务端进行数据传输的一种规则。HTTP协议工作于客户端-服务端架构上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。Web服务器根据接收到的请求后,向客户端发送响应信息。HTTP默认端口号为80,8080但是你也可以改为其他端口。特点是:无状

2021-03-23 20:00:28 487

原创 使用树莓派作为监控——简洁高效版

不用管为什么,跟着一路复制下载进去首先安装蓝色的内一头对着网口,干进去。有问题咋办?vcgencmd get_camera输入 如果不是1,就得配置sudo raspi-config选第五个,再选creame(相机),然后ok还有cd /etc/modules-load.d有一个modules.confsudo打开他,在最后一行添加bcm2835-v4l2重启完事下载,加载sudo apt-get update #sudo apt-get upgrade #s

2021-03-23 00:50:46 293

原创 Source Insight4的使用以及下载

目录安装破解汉化包(半成品)第一次使用*快捷键***常用安装破解链接:https://pan.baidu.com/s/10JvVV2Xxtk4_E8gPT0Z-vA提取码:7ptr复制这段内容后打开百度网盘手机App,操作更方便哦暴力破解正常安装软件-》安装完成后,打开安装位置,用解压的sourceinsight4替换掉安装位置中的sourceinsight4-》管理员打开sourceInsight4,选择next-》把解压出来的 .lic文件导入进去-》完成。汉化包(半成品)链接: htt

2021-03-16 23:26:57 750 10

原创 time.h 中 struct timeval 的学习

目录

2021-03-15 17:53:59 686 1

原创 树莓派驱动开发编写调试(2)

目录总线地址物理地址虚拟地址BCM2835手册GPIO章节寄存器代码编写底层驱动上层应用代码烧写过程总线地址32位的win7为什么只能识别4g的内存 即使装了8g的内存条。64位才可以识别8g。2的32次方bit bit->kbit->mbit->gbit(每次除以1024)地址总线:属于一种电脑总线一部分,是由CPU 或有DMA 能力的单元,用来沟通这些单元想要存取(读取/写入)电脑内存元件/地方的实体位址。物理地址硬件实际地址或者绝对地址程序太大需要虚拟地址在存储器

2021-03-14 03:00:08 513 3

原创 左移,右移的学习

移位操作有逻辑移位和算术移位逻辑移位是不考虑符号位的移位,算术移位是考虑符号位的移位。无符号移位右移unsigned char x = 0x80二进制 表示是 1000 0000 ,十进制是128右移动一位,低位补0 变为 0000 0000 ,十进制是 0 unsigned char x = 0x80; unsigned char y = (x << 1); printf("%.2x\n", y ); 输出 00H二进制表示 0000 0

2021-03-14 01:29:40 1479 2

原创 位运算的学习

目录按位与 &按位或 |取反 ~异或 ^逻辑与 &&逻辑或 ||按位同或 ⊙按位与 &参加运算的两个数,按二进制位进行“与”运算。双目运算符,其功能让两个数的二进制位相与,只有两个位均为1 的情况,其结果才是1 ,其余情况为0如 0 & 0= 0 ,0 & 1= 0,1 & 0= 0, 1 & 1= 1。例:3 &5 即 00000011 & 00000101 = 00000001 ,所以 3 & 5的值为1

2021-03-14 01:02:22 95

原创 树莓派驱动开发编写调试(1)

目录驱动的认知用户内核硬件如何添加驱动基于框架编写驱动代码设备驱动框架驱动的认知Linux一切皆文件:鼠标,键盘,led,flash内存,网卡都是文件登录树莓哌可以查看:在/dev下。那么open是如何区分我打开的到底是什么呢?需要驱动吗?树莓派有很多引脚,都有驱动。比如引脚4驱动,这都需要我们实现,在内核源码添加,比如fd = open ("/dev/pin",权限),有俩部分:文件名(基于驱动框架不需要文件名)和设备号,用ls -l查看。主设备号和次设备号区别: Linux的设备管理是..

2021-03-12 18:31:13 327

原创 Linux内核结构介绍

用户态应用程序:基础c和c库c库:提供了应用程序支配内核干活的接口,比如进程的通信,程序的调度。open,write,read都来自于c库,c库和系统调用接口打交道,系统调用接口可以操纵底层各种系统,比如sxt4,vfat,tmpfs。使用时 内核会产生比如sys_open,sys_read等。这些都是read等函数调用时内核产生的内核态(包括了设备驱动程序(存在于文件系统))虚拟文件系统vfs:跟系统调用接口相似业务逻辑,把硬件底层虚拟化内核:线程,网络,进程,内存,设备驱动(支配硬...

2021-03-12 15:36:46 76

原创 文件系统——Linux

目录什么是文件系统文件系统种类什么是分区什么是文件系统目录结构(根目录)Linux下文件类型虚拟文件系统虚拟文件系统的作用什么是文件系统常规认知: 根目录文件系统是操作系统用于明确存储设备组织文件的方法。以上说的方法:就是文件管理系统(程序),简称文件系统 严谨地说,是文件管理系统文件系统种类FAT VFAT NTFS EXT1/2/3/4 HFS …树莓派查看文件系统的命令: df -Tvfat : boot(bootloader, kernel)ext4 : 根目录(基于磁盘

2021-03-11 08:19:56 108

原创 Linux内核移植

目录相关了解树莓派Linux源码目录树分析Linux源码配置Linux内核编译编译内核时出现错误arm-gcc not found数据拷贝相关了解C51,STM32(裸机)》C直接操控底层寄存器实现相关业务。 业务流程型的裸机代码X86,Intel windows 启动过程: 电源 -》 BIOS -》windows内核-》C,D盘-》 程序启动(QQ)嵌入式产品: 树莓派,mini2440, mini6410,nanopi,海思,RK(瑞芯微) 启动过程:电源-》Bo

2021-03-10 16:39:04 261 1

原创 交叉编译

目录概述工具链的安装临时永久交叉编译服务端客户端带wiringPi库的交叉编译概述交叉编译:是在一个平台上生成另一个平台上的可执行代码编译:是在一个平台上生成在该平台上的可执行代码我们再windows上面编写C51代码,并编译成可执行代码,如xx.hex,是在c51上面运行,不是在windows上面运行 我们在ubuntu上面编写树莓派的代码,并编译成可执行代码,如a.out,是在树莓派上面运行,不是在ubuntu linux上面运行为什么要交叉编译?-平台上不允许或不能够安装我们所

2021-03-09 00:43:02 162 1

原创 树莓派与电脑串口通信编程

目录softPwm,软件实现的PWM串口通信必须修改的功能通过串口打印数据发送数据给串口虽说串口是硬件,但Linux的特性还是让串口以文件形式存储再Linux中。我们可以通过 cd /dev 来查看,一般是ttyAMA0.wringPi库相关文档:https://www.cnblogs.com/lulipro/p/5992172.htmlsoftPwm,软件实现的PWM树莓派硬件上支持的PWM输出的引脚有限,为了突破这个限制,wiringPi提供了软件实现的PWM输出API。需要包含头文件:

2021-03-07 17:59:39 234 1

原创 C语言算法——排序

目录冒泡排序桶排序选择排序插入排序快速排序*冒泡排序每次进行两两比较,大的或者小的就往后移,每进行一次,最后一个数就是已经排好序的。#include <stdio.h>void bullerSort(int arr[], int len){ int i,j,temp; for (i = 0; i < len - 1; i++) { for (j = 0; j < len - 1 - i; j++) { if (arr[j]>arr[j + 1])

2021-03-07 02:41:41 354

原创 树莓派-使SD卡快速扩容

在树莓派实际使用当中,我们会发现SD卡的存储并没有得到充分的利用,是否有办法让可用空间变的更大,毫无疑问肯定是有的。准备环境设备:树莓派 3B(其他型号也可以)SD卡容量:16G目录使用raspi-config扩容(建议)利用fdisk和resize2fs扩容(不推荐)增大交换分区大小(建议)使用raspi-config扩容(建议)首先输入"df -h"命令可以看到,当前root分区总共只用了3.1G,而可用空间仅剩288M,但实际我们的存储是16G的,所以可用空间理论上不应该这么小pi@ra

2021-03-05 00:24:09 2692 2

原创 树莓派外设开发

目录树莓派接口:驱动wiringpi库硬件初始化函数int wiringPiSetup (void)int wiringPiSetupGpio (void)通用GPIO控制函数void pinMode (int pin, int mode)void digitalWrite (int pin, int value)int digitalRead (int pin)void analogWrite(int pin, int value)int analogRead (int pin)void pwmWrite

2021-03-05 00:05:15 174 1

原创 分文件编程及Linux库介绍

目录分文件编程库静态库动态库库的制作静态库动态库库的使用静态库动态库分文件编程// < >这个符号表示gcc在编译的时候默认的在/usr/include 或 /usr/local/include 下找这些头文件" " 这符号表示优先从当前路径去找(当前的文件夹),然后再从/usr/include 下去找,找不到就报错。步骤:主函数在完成后,其余函数放在另一个c文件去实现,其余c文件不需要主函数,再使用gcc编译时,选择gcc + 1.c 2.c的方式去编译,但同时要注意使用cp命令

2021-03-03 18:01:33 207

原创 网络编程——socket套接字

目录:概述字节序socket编程Linux提供的apisocket服务端socket客户端双方聊天多方消息收发概述进程通信可以说时基于Linux内核,所以有缺陷:无法进行多基通讯。地址:1,ip地址 2,端口号数据:协议 例如http tcp UDPTCP/UDP对比:TCP面向连接(如打电话要先拨号建立连接) ;UDP是无连接的,即发送数据之前 不需要建立连接TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即

2021-02-27 10:59:08 427

原创 C语言——多线程

不会打目录先挂链接:https://www.cnblogs.com/xiehongfeng100/p/4620852.html"进程——资源分配的最小单位,线程——程序执行的最小单位"1. 线程概述父进程创建子进程会复制一份空间,类似于代码段->数据段->栈->堆-> 参数。一个进程在同一时刻只做一件事情。有了多个控制线程后,在程序设计时可以把进程设计成在同一时刻做不止一件事,每个线程各自处理独立的任务。    进程是程序执行时的一个实例,是担当分配系统资源(CP

2021-02-27 10:58:46 2866

原创 进程间的通信方式(管道,消息队列,共享内存,信号)

创建进程后实现父子通讯的连接。我们希望有一个管道来进行数据的交互。之前可以用exit和exec族函数来假通信。数据很有限。所以我们使用IPC,进程的通信。使用管道来通信无名管道进程间通信(IPC,InterProcess Communication)是指在不同进程之间传播或交换信息。IPC的方式通常有管道(包括无名管道和命名管道)、消息队列、信号量、共享存储、Socket、Streams等。其中 Socket和Streams支持不同主机上的两个进程IPC。https://blog.cs

2021-02-27 10:58:08 525

原创 进程的介绍以及使用

程序、进程程序是静态概念,pro文件进程是程序的一次运行活动 动态查看进程ps指令//用grep来过滤比如ps -aux|grep init也可以用top指令 与任务管理器类似进程标识符pid 每个进程都有一个非负整数pid=0:成为交换进程 作用:进程调度pid=1:init过程 作用:系统初始化调用getpid来获取父子进程进程a创建了进程bc程序的存储空间分配太麻烦了 不写了 自己了解bss 正文段 栈 堆 高地址...

2021-02-27 10:57:37 139

原创 C语言文件相关函数

文件操作open 打开 read/write 读写 lseek 光标定位 close 关闭文件的权限:用 ls -l查看 程序:可读 r 4可写 w 2执行 x 1例如0600:可读可写 不能执行

2021-02-27 10:56:28 341

原创 FTP项目:实现客户端的连接(上传,下载等操作)

服务端#include <stdio.h>#include <sys/types.h> /* See NOTES */#include <sys/socket.h>#include <stdlib.h>#include <string.h>#include <netinet/in.h>#include <unistd.h>#include <arpa/inet.h>#inc.

2021-02-27 10:54:33 274

原创 简易多线程实现贪吃蛇C语言

20210201 #include <stdlib.h>#include <curses.h>struct snake{ int hang; int lie; struct snake *next;};struct snake food;#define UP 1#define DOWN -...

2021-02-01 02:32:35 708

原创 C语言笔记

纯笔记更新ing~~十六进制只有a—f 且a=A内存64位编译器:char :1个字节char*(即指针变量): 8个字节short int : 2个字节int: 4个字节unsigned int : 4个字节float: 4个字节double: 8个字节long: 8个字节long long: 8个字节unsigned long: 8个字节数组注意数组越界输出数组a中有多少个元素: sizeof(a)/sizeof(a[0])数组名 = 数组首地址 = 数组第...

2021-01-15 18:22:39 273

openmv刷为发行版

openmv刷新为发行版

2023-06-02

考研英语颉彬彬大纲单词 可导入不背单词

颉彬彬老师大纲单词 txt版本 按行排列

2022-07-12

卡尔曼滤波算法程序 STM32F10x

卡尔曼滤波源码

2021-06-01

空空如也

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

TA关注的人

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