![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
树莓派
chocolatemo
这个作者很懒,什么都没留下…
展开
-
47.驱动代码编译和测试
1.把字符设备驱动框架代码(pin4driver2.c)和驱动的操作上层代码(pin4test.c)拷贝到虚拟机的zhongzf@ubuntu:~/SYSTEM/linux-rpi-4.14.y/drivers/char$ 路径里字符设备驱动框架代码:pin4driver2.c#include <linux/fs.h> //file_operations声明#include <linux/module.h> //modul...原创 2021-08-28 02:08:59 · 107 阅读 · 0 评论 -
45.基于框架编写驱动代码
驱动的操作上层代码:pin4test.c#include<sys/types.h>#include<sys/stat.h>#include<fcntl.h>#include<stdio.h>int main(){ int fd; fd = open("/dev/pin4",O_RDWR); fd = write(fd,'1',1);}字符设备驱动框架代码:pin4driver2.c#include <...原创 2021-08-28 00:49:50 · 89 阅读 · 0 评论 -
41.Linux内核结构
Linux内核结构有三个层次:硬件级、内核级和用户级用户程序通过陷入完成由用户态到内核态的转换。系统调用作为用户级与内核级交互方式,分为2部分:与文件子系统的交互和与进程控制子系统的交互。1.文件子系统管理文件包括:分配文件空间、管理空闲空间、控制对文件的存取以及为用户检索数据。2.进程控制子系统负责进程同步、进程间通信、进程调度和存储管理。3.Linux内核主要包括5个模块:(1)进程调度模块用来负责控制进程对CPU资源的使用。(2)内存管理模块用于确保所有进程能够安全地共享机原创 2021-08-28 00:01:47 · 103 阅读 · 0 评论 -
40.虚拟文件系统
1.虚拟文件系统Virtual File System : vfs就是对各种文件系统的一个抽象,它为各种文件系统提供了一个通用调用的接口1VFS作为内核子系统,为用户空间程序提供了文件系统相关的接口。所有实际文件系统依赖VFS共存,依靠VFS系统工作。(1)VFS提供通用文件系统接口:用户空间程序可以利用标准的UNIX文件系统调用,如open()\read()\write(),对不同物理介质上的不同文件系统进行操作。(2)VFS提供文件系统抽象层:VFS提供了一个...原创 2021-08-28 00:02:14 · 291 阅读 · 0 评论 -
34.配置Linux内核适合树莓派的相关操作
1.树莓派Linux源码配置 驱动代码的编写 驱动代码的编译需要一个提前编译好的内核 编译内核就必须配置 配置的最终目标会生成 .config文件,该文件指导Makefile去把有用东西组织成内核 厂家配linux内核源码,比如说买了树莓派,树莓派linux内核源码 第一种方式: ...原创 2021-08-28 00:01:20 · 114 阅读 · 0 评论 -
32.嵌入式设备带操作系统的启动过程
树莓派等芯片带操作系统的启动过程 1.C51,STM32(裸机)》》》》》》C直接操控底层寄存器实现相关业务。 业务流程型的裸机代码 遥控灯: while(1) 垃圾桶:WemosD1 LOOP 恩智浦智能车: stm32 2. X86,Intel windows ...原创 2021-08-28 00:00:52 · 230 阅读 · 0 评论 -
31.为linux内核开发做基础准备工作
1.下载linux内核源码网址:原创 2021-08-27 00:24:31 · 50 阅读 · 0 评论 -
Ubuntu下无法看到共享文件夹的解决办法
在已经创建共享文件的条件下在用户的主目录下使用sudo vmhgfs-fuse .host:/ /mnt/hgfs/ -o allow_other -o uid=1000原创 2021-08-27 00:24:19 · 203 阅读 · 1 评论 -
30.给ubuntu安装相应工具
1.安装vim指令:sudo apt-get install vim2.安装gcc指令:sudo apt install build-essential3.安装ifconfig指令:sudo apt install net-tools原创 2021-08-27 00:24:09 · 62 阅读 · 0 评论 -
26.带wiringPi库的交叉编译如何进行
1.下载wiringPi库的压缩文件(1)解压后放到共享文件夹下(2)进入到lessonPi文件夹,然后把文件拷贝到当前文件夹a. cp /mnt/hgfs/sharefromwindows/WiringPi/ . -rf( -rf 拷贝文件夹)2.带wiringPi库的交叉编译如何进行 (1)正常我们先要交叉编译wiringPi库,编译出的库适合树莓派,这时候交叉编译可执行程序的时候,链接库的格式也是正确...原创 2021-08-27 00:23:54 · 269 阅读 · 0 评论 -
25.交叉编译阶段二
交叉编译: 检查下交叉编译工具对不对: arm-linux-gnueabihf-gcc -v 自己版本号:4.8.3 arm-linux-gnueabihf-gcc xxx.c -o xxx 如何把编译生成的可执行文件下载到开发板(树莓派): scp clientInPi pi@192.168.43.30:/home/pi 指令 文件名 开发板用户...原创 2021-08-27 00:23:41 · 80 阅读 · 0 评论 -
24.树莓派交叉编译工具链的安装
1.进入树莓派官网网址:https://github.com/raspberrypi/下载资源:(1)点击tools(2)下载压缩的文件2.在虚拟机上新建文件夹mkdir lessonPi3.进入文件夹 lessonPi把共享文件夹下的tools-master.zip拷贝到当前文件夹下拷贝指令:cp /mnt/hgfs/sharefromwindows/tools-master.zip .4. 解压解压指令:unz...原创 2021-08-27 00:23:28 · 195 阅读 · 0 评论 -
21.树莓派和电脑之间串口通信编程
初次使用树莓派串口编程,需要配置/* 修改 cmdline.txt文件 */>cd /boot/>sudo vim cmdline.txt删除【】之间的部分dwc_otg.lpm_enable=0 【console=ttyAMA0,115200】 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait/*修改 inittab...原创 2021-08-27 00:20:59 · 101 阅读 · 0 评论 -
19.树莓派超声波测距编程实现
超声波模块超声波传感器模块上面通常有两个超声波元器件,一个用于发射,一个用于接收。硬件电路板上有4个引脚:VCC(正级)Trig(触发即发波)Echo(回应)GND(接地-负极)主要参数:工作电压与电流:5V、15mA感测距离:2~400cm感测角度:不大于15°被测物体的面积:不要小于50cm²,且尽量平整具备温度补偿电路在超声波模块的触发脚位输入10微秒以上的高电位,即可发射超声波,发射超声波之后,与接收到传回的超声波之前,“响应”脚位呈现高电位。因此,.原创 2021-08-27 00:20:46 · 523 阅读 · 0 评论 -
17.继电器组硬件控制开发
从#include<wiringPi.h>#include<stdio.h>#include<string.h>#define SWI1 26#define SWI2 27#define SWI3 28#define SWI4 29int main(){ char cmd[12] = {'\0'}; if(wiringPiSetup() == -1) { printf(原创 2021-08-27 00:20:33 · 81 阅读 · 0 评论 -
15.树莓派控制继电器
demo2.c#include<wiringPi.h>#include<stdio.h>#define SWITCHER 7int main(){ int cmd; if(wiringPiSetup() == -1) { printf("硬件接口初始化失败\n"); return -1; } pinMode(SWITCHER.原创 2021-08-26 14:22:25 · 61 阅读 · 0 评论 -
14.树莓派外设开发综述
树莓派wiringPi库详解参考博文:https://www.cnblogs.com/lulipro/p/5992172.html1.树莓派的接口:驱动 查看树莓派的IO口指令:gpio readall IO口:Input (输入) output(输出) 对主控芯片来说 Input:人体、烟雾、火焰、震动传感器等 output:继电器、蜂鸣器 等 可调整型IO口 PWM :用在电机调速,灯光调明亮度 语音识别模块,液晶屏...原创 2021-08-26 13:55:45 · 113 阅读 · 0 评论 -
12.Linux库之动态库的生成和使用
等待原创 2021-08-26 13:10:57 · 69 阅读 · 0 评论 -
11.Linux库之静态库的生成和使用
1.制作步骤原材料:源代码.c 或者 .cpp将.c文件生成.o,gcc a.c b.c -c将.o 打包 ar rcs 静态库的名字 原材料 ar rcs libtest.a a.o b.o原创 2021-08-26 12:23:44 · 71 阅读 · 0 评论 -
9.linux库引入之分文件编程
分文件编程: 分模块的编程思想: a.网络 b.超声波 c.电机 分文件编程的好处: (1)功能责任划分 (2)方便调试 (3)主程序简洁1.完整的代码:calculatorT.c#include<stdio.h>int add(int x,int y){...原创 2021-08-26 11:29:04 · 62 阅读 · 0 评论 -
8.树莓派和windows的FileZilla共享文件
1.在windows下安装FileZilla2.打开FileZilla软件输入需要连接的树莓派信息主机名称写sftp:// + 树莓派ip地址,例如sftp://192.168.43.123,因为使用的是ssh文件传输类型。树莓派用户名pi,密码raspberry,端口不用填写。3.文件传输通过FileZilla连接上树莓派后,就可以像在windows下一样,使用拖拽的方式将文件传输过去。...原创 2021-08-26 10:35:20 · 327 阅读 · 0 评论 -
7.树莓派图形xrdp界面登录
1.树莓派安装 xrdp ,用串口或 ssh 方式登录树莓派,输入指令sudo apt-get install xrdp2.windows 打开远程桌面连接3.输入树莓派的 IP 地址,连接原创 2021-08-26 10:17:52 · 176 阅读 · 1 评论 -
6.树莓派更新新版vim
默认的源是国外的,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 rpideb http://mirrors.tuna.t原创 2021-08-26 09:54:29 · 56 阅读 · 0 评论 -
4.树莓派(Raspberry) WIFI 配置
1.树莓派(Raspberry) WIFI 配置输入命令:sudo nano /etc/wpa_supplicant/wpa_supplicant.confnetwork={ ssid="你的无线网名字" psk="密码" key_mgmt=WPA-PSK}按下Ctrl+O 写出保存 ,按下Enter 确定,最后Ctrl+X 退出2.网络ssh方式登录树莓派 打开ssh功能 (...原创 2021-08-26 09:32:35 · 610 阅读 · 0 评论