自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 问答 (1)
  • 收藏
  • 关注

原创 linux内核源码树

linux内核源码树扫盲分析sudo apt-get install tree//下载treetree//输入指令(该指令可以检查第三方工具包里的内容是否完整)可以看到如图的树状结构:linux内核源码:为什么内核大约1.3w个c文件,1100w行代码?linux是一个开源的,支持多架构多平台代码,可移植性非常高。但是linux内核编译出来一般就若干M,因为支持多平台,多架构,所以编译之前要配置,配置成适合目标平台来用。代码编译出来是给一个平台一个架构来用的,很多代码是不参与编译的。例

2020-10-30 15:48:26 535

原创 嵌入式设备带操作系统的启动过程

树莓派等芯片带操作系统的启动过程C51,STM32(裸机)--------》c直接操控底层寄存器,实现相关业务。x86 , Intel等架构跑的是windows操作系统。启动过程:电源 -》BIOS-》windows内核-》C盘,D盘-》程序启动(开机启动程序)嵌入式产品:树莓派,mini2440,mini6410,nanopi,海思,RK(瑞芯微)启动过程:电源-》BootLoader(引导操作系统启动)-》Linux内核-》文件系统(根据功能性来组织文件夹,带访问权限)-》文件系统起来以后才

2020-10-30 15:06:08 225

原创 Ubuntu18.04的vim和ifconfig的安装

安装vim :命令行中输入:sudo apt-get install vim(ps:它会显示让你输入密码,不过你输入的密码不会回显)查看安装是否成功输入: vim -v若出现以下情况:The following packages have unmet dependencies:vim : Depends: vim-common (= 2:7.3.429-2ubuntu2) but 2:7.3.429-2ubuntu2.1 is to be installedE: Unable to corr

2020-10-29 17:07:32 1471

原创 VMwareTool 安装

VMwareTools的一些实用性安装后用户可以从物理主机直接往虚拟机里面拖文件。安装后鼠标进入虚拟机后可以直接出来,不安装的话要按CTRL+ALT才可以释放鼠标。安装后可以解决Ubuntu主窗口分辨率不适应问题,用户可以随意改变虚拟机窗口大小,vm tools会自动帮你改成适当的分辨率。Vm-tools安装然后桌面会出现一个DVD盘,在桌面打开挂载的DVD盘,选择 VMwareTools-10.2.0-7259539.tar.gz 复制到主文件夹的主目录中,如下图所示:打开终端输入命令

2020-10-29 16:31:22 463 1

原创 带wiringPi库的交叉编译

WiringPi的得下载——网盘提取链接:https://pan.baidu.com/s/1cPIt-xZLye1DAQjq2yKzeg提取码:35vt带有WiringPi库如何交叉编译1、正常我们先要交叉编译WiringPi库,编译出的库适合树莓派,这时候交叉编译可执行程序的时候,链接库的格式也是正确的。2、通过 -I -L...

2020-10-20 00:05:54 199 1

原创 交叉编译及树莓派(或其他平台)交叉编译工具链的安装

交叉编译是什么:交叉编译是一个行为,是在一个平台上生成另一个平台上的可执行代码。比如:我们在windows上面编写C51的代码,并编译成可执行代码,如xx.hex,是在C51上面运行不是在windows上面运行。同样:我们在ubuntu上面编写树莓派的代码,并编译成可执行代码,如xx.out,是在树莓派上面运行不是在linux上面运行。编译:是在一个平台上生成在该平台上的可执行的代码。C51 交叉编译的发生在kill(集成环境上面)为什么要交叉编译:平台上不允许或不能够安装我们所需要的编译器

2020-10-11 23:48:58 823

原创 树莓派外设开发编程

树莓派外设开发接口文档参考wiringPi(特定平台,特定功能接口) 库(linux 动态库 静态库)gcc demo1.c -lwiringPi//编译时要加-lwiringPigpio -v//查看是否安装wiringPi库gpio version: 2.50Copyright (c) 2012-2018 Gordon HendersonThis is free software with ABSOLUTELY NO WARRANTY.For details type: gpi

2020-10-08 01:42:57 203

原创 gettimeofday函数

定义:gettimeofday是计算机函数,使用C语言编写程序需要获得当前精确时间(1970年1月1日到现在的时间),或者为执行计时,可以使用gettimeofday()函数。使用方法:#include <sys/time.h>int gettimeofday(struct timeval*tv, struct timezone *tz);其参数tv是保存获取时间结果的结构体,参数tz用于保存时区结果:struct timezone{int tz_minuteswest;/*格林威

2020-10-08 01:38:39 479

原创 linux库引入之动态库静态库(生成和使用)

库:库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。就是将源代码转化为二进制格式的源代码,相当于进行了加密,别人可以使用库,但是看不到库中的内容。如何使用用户需要同时具有头文件和库。头文件(相当于说明书的作用,能够知道这个库能干嘛)制作出来的库(具体的实现,存放.c、.cpp)静态库:是在程序执行前(编译)就加入到目标程序中去了。优点:1、静态库被打包到应用程序中运行速度快2、发布程序无需提供静态库,因为已在app中,移植方便缺点:1、链接时完整的拷贝至可执行文件中,被多

2020-10-07 13:02:50 701

原创 linux库引入之分文件编程

分文件编程好处将main函数和其他功能性函数放在不同的文件中,分模块的编程思想,分工明确,查找错误比较容易,责任可以划分清楚,程序也方便调试,并且主函数比较简洁。将文件从同一目录下的另一个文件夹拷贝到当前文件夹cp ../together.c(文件名称) .这个代码是没有分文件编程的#include <stdio.h>#include <stdlib.h>#include <unistd.h>void initscores(int datas[],int

2020-10-06 23:32:20 123

原创 VIM更新

1、可以用以下指令sudo apt-get install vim2、默认的是国外的源,apt-get 安装失败的时候,我们更换成国内的源。(1) 编辑sources.list打开终端输入sudo nano /etc/apt/sources.list用#注释或直接删除原有的内容,新增:deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpisudo ap

2020-10-04 16:20:01 325

原创 树莓派的几种登录方式及树莓派的网络配置

(1)HDMI 视频线 连接到显示器(2)串口设备破解:默认情况下,树莓派的串口和蓝牙连接,把串口用来数据通信。修改系统配置,启用串口登录树莓派1.打开SD卡根目录的"config.txt"文件,将以下内容添加在最后并且保存dtoverlay=pi3-miniuart-bt2.然后再修改根目录的"cmdline.txt",将里面的内容全部替换成以下内容,以防万一,请先备份好这个文件的原内容。dwc_otg.lpm_enable=0 console=tty1 console=serial0,

2020-10-04 14:21:53 1384

原创 socket 网络 编程

网络编程场景自己是客户端站在5栋楼前,自己要找到5栋楼中的一座并进入某一间房间,这时第二座楼上有人在用汉语(tcp/udp)说话,我的ip地址(楼号)是…,我的端口号(房间号)是…,就是先告诉你你的ip地址和端口号,确定你的服务器在哪里,然后回房间监听(等待大家的来访,来了敲门)Socket服务器和客户端的开发步骤服务器开发第一步socket()获得一个套接字,返回套接字的描述符,后面都是基于这个描述符向外面进行网络访问,这个作用有点像open()第二步bind()为套接字添加信息,将ip

2020-10-03 22:52:52 293

空空如也

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

TA关注的人

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