![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
树莓派
文章平均质量分 58
one goto one
不苟且于现状,不停留于浅薄
展开
-
基于树莓派驱动框架IO口驱动编写
1 驱动代码编写根据BCM2835芯片手册编写引脚4 IO口驱动,将引脚4设置为输出模式进行使用该图有用信息为:GPFSEL io口功能寄存器偏,控制io口输出输入模式GPSET0 输出寄存器偏移量为0x1C,功能为输出1GPSET1 输出寄存器偏移量为0x20,功能为输出1GPCLR0 清除寄存器偏移量为0x28,功能为清0GPCLR1 清除寄存器偏移量为0x2C,功能为清0该图有用信息为:FSEL4为引脚4,控制位是12-14位,它属于GPFSEL0寄存器,将12-14位设置为001原创 2021-07-26 15:35:42 · 280 阅读 · 0 评论 -
总线地址、物理地址、虚拟地址
1 总线地址地址总线 (Address Bus;又称:位址总线) 属于一种电脑总线 (一部份),是由CPU 或有DMA 能力的单元,用来沟通这些单元想要存取(读取/写入)电脑内存元件/地方的实体位址。换种说法就是CPU能够访问内存的范围。现象:装了32位的win7系统,内存条是8G,但是系统只识别了3.8G,装了64位系统,才能识别到8G**原因:**32位能表示/访问4,294,967,296bitbit 4,294,967,296kbit 4,194,304mbit 4,096gbi原创 2021-07-24 16:44:23 · 1245 阅读 · 0 评论 -
驱动认知及驱动代码编写与编译执行
1 驱动认知2 基于驱动框架编写代码2.1 驱动框架#include <linux/fs.h> //file_operations声明#include <linux/module.h> //module_init module_exit声明#include <linux/init.h> //__init __exit 宏定义声明#include <linux/device.h> //class devise声明#in原创 2021-07-23 18:57:59 · 502 阅读 · 0 评论 -
Linux内核结构
shell:是一个应用程序,一种系统用户界面,一个命令解释器,提供了用户态与内核态交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行,并返回执行结果给应用程序原创 2021-07-22 16:32:47 · 67 阅读 · 0 评论 -
Linux文件系统
1 什么是文件系统?常规认知:根目录文件系统是操作系统用于明确储存设备组织文件的方法以上方法:就是文件管理系统(程序),简称文件系统2 文件系统(文件管理系统的方法)的种类FAT、VFAT、NXT1/2/3/4 HFS …树莓派查看文件系统的命令:df -Tvfat: boot (bootloader, kernel)ext4: 根目录tmpfs: 内存文件系统3 什么是分区?widows: 随意(面向普通用户),C盘(装系统的位置) 也可以随意在C盘存放文件,D盘(用户任意发挥)原创 2021-07-22 11:56:27 · 101 阅读 · 0 评论 -
树莓派-内核开发-说明 下载代码 编译 替换内核
一、前言为什么要进行树莓派的源码配置呢?驱动代码的编译需要一个提前编译好的内核编译内核就必须配置,配置的最终目标会生成 .config文件,该文件指导Makefile去把有用的东西组织成内核3种配置方式cp 厂家.config .configmake menuconfig 一项项手动选择配置,通常是基于厂家的config来配置完全自己来二、需要安装的库sudo apt-get install bcsudo apt-get install libncurses5-dev libnc原创 2021-07-21 17:32:51 · 435 阅读 · 2 评论 -
树莓派Linux源码目录树
目录树指令treeLinux源码大约有1.3w个C文件,1100w行代码Linux是开源,免费,Linux社区工作者共同维护的Linux是一个支持多架构多平台代码,非常强大,可执行非常高,所以编译之前要配置,配置成合适的目标平台来使用Linux内核编译出来一般就几M,树莓派4M转载:https://www.cnblogs.com/senior-engineer/p/4929703.htmlLinux内核源代码目录树结构。arch:包含和硬件体系结构相关的代码,每种平台占一个相应的目录。原创 2021-07-20 17:58:31 · 445 阅读 · 0 评论 -
树莓派Linux内核源码获取
Linux内核开发准备工作(一) 交叉编译工具链安装安装参考链接:https://blog.csdn.net/weixin_54178481/article/details/118890820(二) Linux内核镜像下载查看树莓派的内核版本github链接https://github.com/raspberrypi/linux/tree/rpi-4.14.y将下载好的压缩包传到Ubuntu下...原创 2021-07-20 15:39:42 · 293 阅读 · 0 评论 -
树莓派等芯片启动过程
C51、STM32(裸机):C直接操控底层寄存器实现相关业务。业务流程型的裸机代码,遥控灯:while(1)垃圾桶:wemosD1 loop()X86,Intel, widows:电源-》BIOS -》Windows内核 -》C、D盘 -》程序启动(QQ)嵌入式产品:树莓派、mini440,海思、nanopi:电源 -》BootLoader(引导操作系统启动) -》Linux内核 -》文件系统 (根据功能性来组织文件夹)-》KTV点歌机安卓:电源 -》fastboot/BootLoader原创 2021-07-20 15:39:22 · 84 阅读 · 0 评论 -
安装搭建Ubuntu18.04虚拟机VMware版本
(一)安装下载Ubuntu18.04版本镜像百度网盘链接提取码(0000)打开VMware,点击创建新的虚拟机剩下步骤均是默认选项哦!(二) 配置基础程序更新vimsudo apt-get install vim装一堆新包,包括gcc,g ++和makesudo apt install build-essentialifconfig安装sudo apt install net-tools...原创 2021-07-20 11:44:58 · 142 阅读 · 0 评论 -
带wiringPi库的交叉编译如何处理一之软硬链接
(一) 概念软链接:软链接文件类似于widows的快捷方式在符号连接中,文件实际是一个文本文件,其中包含的有另一文件的位置信息你选的定的位置上生成一个文件的镜像,不会占用磁盘空间硬链接:它会生成你选定的位置上生成一个和源文件大小相同的文件(二) 生成软链接生成:ln -s 被软链接的文件名 软链接名字硬链接生成:ln 被软链接的文件名 软链接名字详细介绍https://www.cnblogs.com/zhangna1998517/p/11347364.html...原创 2021-07-19 19:57:07 · 82 阅读 · 0 评论 -
带wiringPi库的交叉编译如何处理二
正常我们先要交叉编译wiringPi库,编译出库适合树莓派,这时候交叉编译可执行程序,链接库的格式是正确的通过-I 或 -L来指定原创 2021-07-19 19:41:10 · 104 阅读 · 0 评论 -
树莓派交叉编译工具安装使用
(一) 简介(1) 交叉编译是什么?编译:是在一个平台上生成在该平台上的可执行代码交叉编译:是在一个平台上生成另一个平台上的可执行代码例如C51 交叉编译发生在keil(集成环境上面)在widows上面编写C51代码,并编译成可执行代码,如:xxx.hex,是在C51上面运行,不是在widows上面运行在Ubuntu上面编写树莓派的代码,并编译成可执行代码,如:a.out,在树莓派上面运行,不是在Ubuntu Linux上面运行(2) 为什么要交叉编译?平台上不允许或不能够安装我们所需原创 2021-07-19 18:51:38 · 1522 阅读 · 0 评论 -
树莓派串口通信
树莓派串口通信(一) 简介串口通信工作方式为:全双工通过串口通信可以实现多机通信树莓派与电脑实现串口通信:使用USB-TTL转换模块(USB转串口模块)或USB转串口线将树莓派与电脑连接, TXD连接RXD,交叉连!!!且USB-TTL转换模块必须接地,否则因为电压原因数据交互失败初次使用树莓派的串口进行通信需要进行修改配置:修改后树莓派不能用串口,要用需要加回标记部分删除cmdline.txt文件标记部分cd /boot/sudo vi cmdline.txtdwc_otg.l原创 2021-07-18 17:00:07 · 6681 阅读 · 3 评论 -
树莓派超声波模块测距C语言
树莓派超声波测距C语言(一) 原理(二) demo#include <wiringPi.h>#include <stdio.h>#include <sys/time.h>#define Trig 4#define Echo 5void chaoShengBoInit(void){ pinMode(Echo, INPUT); //设置端口为输入 pinMode(Trig, OUTPUT); //设置原创 2021-07-18 11:23:27 · 223 阅读 · 0 评论 -
树莓派wiringPi库
树莓派wiringPi库(一) wiringPi库简介树莓派的wiringPi库提供了很多接口,让开发简单便捷驱动接口:IO口: input outputPWM: 电机调速、灯光亮度串口: uartIICSPIIISflash等等函数接口:硬件初始化函数通用GPIO控制函数时间控制函数中断多线程PWM串口通信等等(二) 查看引脚编号表gpio readall(三) wring库API使用wiringPi库时,必须在执行任何操作前初始化树莓派且编译时原创 2021-07-17 19:20:58 · 1290 阅读 · 0 评论 -
Linux库之静态库和动态库
Linux库之静态库和动态库(一) 介绍(1) 什么是库?库是一种可执行代码的二进制格式,能够被载入到内存中执行,库分静态库和动态库(2) 静态库(.a、.lib)静态函数库是在程序执行前(编译)就加入到目标程序中去静态库被打包到应用程序中加载速度快发布程序无需提供静态库,已经在app中,移植方便链接时完整的拷贝到可执行文件中,被多次使用就有多份多余的拷贝更新、部署、发布麻烦(3) 动态库(.so、.dll)动态函数库是在程序执行时动态(临时)到目标程序中去链接时不复制,程序运原创 2021-07-17 16:33:39 · 147 阅读 · 0 评论 -
Linux下分文件编程
分文件编程(一) 分文件编程的意义分模块编程思想功能责任划分清晰方便调试主程序简洁(二) 应用加法函数编写于文件plus.c,减法函数编写于文件minus.c,主程序main.c(1) 方式一主程序main.c#include <stdio.h>#include "config.h"int main(){ int a = 0; int b = 0; printf("a = "); scanf("%d原创 2021-07-16 18:24:43 · 185 阅读 · 0 评论 -
FileZilla软件实现树莓派与widow文件互传
FileZilla软件实现树莓派与widow文件互传FileZilla软件安装和使用都非常简单便捷软件链接(提取码0000)正常连接方式如果出现连接失败或则数据丢失的情况,使用sftp://方式连接原创 2021-07-16 15:19:50 · 90 阅读 · 0 评论 -
树莓派换源及vim更新
树莓派换源及vim更新(一) 树莓派换源如果使用sudo apt-get install xxx指令出现404情况就考虑换源了,由于树莓派通常默认的源是外国的,所以无法使用,需要跟换成国内可用源第一步:命令行输入sudo nano /etc/apt/sources.list用#注释或直接删除所有内容,加入两条:deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi原创 2021-07-15 21:22:54 · 215 阅读 · 0 评论 -
树莓派登入四种方式
树莓派登录(一) 登录方式HIDMI视频线连接显示器串口网络登录(二) 串口方式登录刷完机后迫于无奈只能使用串口登录进行配置才能使用网络登录等其他登录方式串口登入观看树莓派启动过程(字符页面)如果串口有加密,就需要进行破解。由于默认情况下树莓派的串口与蓝牙连接,要使蓝牙断开,把串口用来数据通信实现串口登入(1) 修改配置第一步:将树莓派磁盘boot(SD卡)连接电脑第二步:修改config.txt文件: 打开SD卡根目录的config.txt文件,将以下内容添加在最后一行并且原创 2021-07-15 17:51:37 · 861 阅读 · 0 评论 -
树莓派刷机
树莓派刷机刷机工具SD卡读卡器刷机软件Win32DiskImager软件链接(提取码0000)固件包这里提供的是2019-04-08-raspbian-stretch.img(提取码0000)刷机步骤第一步:选择SD卡,切忌不要选错!!!以免照成无可挽回的后果第二步:打开文件夹选择对应固件包2019-04-08-raspbian-stretch.img第三步:点击确认刷机...原创 2021-07-14 20:56:57 · 168 阅读 · 2 评论