- 博客(12)
- 收藏
- 关注
原创 linux下FTP与NFS环境搭建
#linux下FTP与NFS环境搭建 #nfs环境搭建 NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。 ##主机配置 安装NFS服务: sudo apt-get install nfs-kernel-server rpcbind 在主机下创建文件夹以存放要发送的文件: mkdir /home/
2021-08-29 21:38:05
218
原创 开发板uboot移植
#开发板uboot移植 移植步骤: 1.添加配置文件 目录:configs 文件内容中对应的名称需要修改 cp mx6ull_14x14_evk_emmc_defconfig mx6ull_alientek_emmc_defconfig 2.添加头文件 目录:include/configs cp mx6ullevk.h mx6ull_alientek_emmc.h 3.添加板级文件 目录:board/freescale/ cp mx6ullevk/ -r mx6ull_alientek_emmc 目录:
2021-08-29 20:46:01
246
原创 异或交换变量值
不使用临时变量来交换两个变量的值: /*author:@hg*/ /*data:2021/6/4*/ /*func:使用^交换两个变量的值*/ #include <stdio.h> int main(int argc,char *argv[]){ int a = 3,b = 4; a = a^b; b = a^b; a = a^b; printf("%d %d\n",a,b); } ...
2021-06-04 22:36:13
191
原创 并发与竞争
并发:多个用户同时访问同一个资源 1.多线程并发访问 2.抢占式并发访问 3.中断程序并发访问 4.SMP(多核)核间并发访问 使用如下方式来实现对临界区的保护: 1.原子操作 主要用于对保护的数据是一个简单的整数或者简单位操作时用 typedef struct { int counter; } atomic_t; atomic_t v = ATOMIC_INIT(0); //定义并初始化原子变零 v=0 atomic_set(10); //设置 v=10 atomic_read(&v);
2021-06-02 21:43:24
108
原创 结构体、共用体、枚举、位域使用示例
#include <stdio.h> /*data:2021/6/1*/ /*author:@hg*/ /*枚举类型的定义*/ enum day{ mon = 1,tue,wed,thu,fri,sat,sun }; /*结构体定义*/ struct a{ int a; char b; }; struct a b = { .a = 7, .b = 'w' }; /*共用体*/ union c{ int i; float f; char str[20]; };
2021-06-01 23:12:41
114
原创 结构体对齐方式
由于存储变量地址对齐的问题,结构体变量需要满足两条原则: 1.结构体成员的偏移量必须是成员大小的整数倍(0被认为是任何数的整数倍) 2.结构体大小必须是所有成员大小的整数倍 #include <stdio.h> /*data:2021/6/1*/ /*author:@hg*/ struct s{//1 char ch1; char ch2; int i; }; struct s2{//2 char ch1;//ch1偏移量为0 int i;//i偏移量为4 char
2021-06-01 22:58:44
173
原创 嵌入式常用存储介质
ROM(Read Only Memory) 只读存储器,掉电后仍然可以保持数据。 分类: a. EMMC:优势在于在封装中集成了一个控制器。 b. NORflash: SPI Flash是其中的一种,都是两种主流的非易失性闪存技术之一,支持掉电保存数据。 c. NANDflash: 是两种主流的非易失性闪存技术之一,支持掉电保存数据。 d. SD卡:SD卡是将Nand Flash芯片叠加到一起,扩大容量 e. UFS: UFS闪存是由多个闪存芯片、主控、缓存组成的阵列式存储模块。弥补了eMMC仅支持半双工运
2021-04-06 00:52:11
503
原创 Linux下进程与线程
进程 进程是程序的一次执行过程,并且是动态的,包括创建、调度、执行和消亡。 进程的类型 1.交互进程 2.批处理进程 3.守护进程(生命期很长) 进程状态 1.运行态 2.等待态(可中断/不可中断) 3.停止态 4.死亡态(僵尸态)(pcb没有释放) 查看进程信息 ps ps -ef/aux|grep 关键字 // 查看系统进程快照 top ls /proc jobs//查看系统后台进程 bg 作业号 //将挂起的进程在后台运行(ctrl +z) fg 作业号 //把后台的进程放到前台运行 改变进
2021-04-06 00:34:20
88
原创 标准IO和文件IO
标准IO通过FILE结构体专门用于访问普通文件,通过缓冲机制减少系统调用,实现更高的效率。而文件IO使用文件描述符来访问文件,遵循posix(可移植操作系统接口规范)标准,标准IO是在文件IO之上封装了一个缓冲机制,更上层。 错误处理 #include <errno.h> extern errno; //错误号 char *strerror(int error);//根据错误号返回对应的错误信息 printf("fopen:%s\n",strerror(errno)); #include <
2021-04-05 22:26:57
168
原创 树莓派在没有显示屏的情况下实现远程控制
一、设置树莓派连接无线网络 由于我们没有显示屏和键盘,我们可以在笔记本电脑上通过写sd卡的方式将wifi的名称和密码写入到树莓派根文件系统中的/etc/wpa_supplicant/wpa_supplicant.conf文件中。 1.首先将sd卡插入笔记本并通过ubuntu虚拟机查看具体对应的设备:此处也可使用ls /dev/sd* parted -l 2.我们可以看到sd卡属于/dev/sdb这个设备,然后进入到/dev目录下进行挂载(在我的虚拟机中已经自动为我挂载了,对应的目录在/media下面
2021-04-03 01:18:20
877
原创 c语言指针专题复习笔记
c语言指针 /* 使用指针的好处: 1.使程序简洁、紧凑、高效 2.有效的表示复杂的数据结构 3.动态分配内存 4.得到多于一个的函数返回值 */ test1:概念->存储地址的变量 test2:运算->算术运算、赋值运算、关系运算 test3:二维数组指针 test4:字符指针与字符串指针 test5:指针数组与多级指针 test6:void指针与const修饰符 环境—>Visual Stdio 2019 #include <stdio.h> void test1(voi
2021-03-31 17:36:31
199
原创 Linux与Windows下文件同步工具Syncthing
Linux与Windows下文件同步工具Syncthing环境安装步骤1.Ubuntu安装syncthing2.Windows下安装syncthing 环境安装步骤 1.Ubuntu安装syncthing 进入官网下载中心https://syncthing.net/downloads/下载linux与windows环境下对应的安装包。 对安装包进行解压: hg@ubuntu:~$ tar xzvf syncthing-linux-amd64-v1.14.0.tar.gz 进入到文件目录进行配置复制文..
2021-03-30 20:58:36
1404
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人