树莓派开发
结合Linux平台,应用树莓派
哒宰的自我修养
嵌入式软件工程师,liunx驱动工程师
展开
-
树莓派高阶课程7:树莓派博通BCM2835芯片手册导读
树莓派博通BCM2835芯片手册导读驱动的两大利器:电路图:通过电路图找到寄存器芯片手册:进行编写1.树莓派寄存器的介绍:GPFSEL0 GPIO Function Select 0: //功能选择 输入/输出GPSET0 GPIO Pin Output Set 0 : //输出0 GPSET1 GPIO Pin Output Set 1 : //输出1 0 = No effect 1 = Set GPIO pin n GPCLR0 GPIO Pin Output Clear 0:原创 2020-09-26 17:48:07 · 1442 阅读 · 0 评论 -
树莓派高阶课程6:微机总线地址,物理地址,虚拟地址介绍
微机总线地址,物理地址,虚拟地址介绍1.总线地址:地址总线 (Address Bus;又称:位址总线) 属于一种电脑总线 (一部份),是由CPU 或有DMA 能力的单元,用来沟通这些单元想要存取(读取/写入)电脑内存元件/地方的实体位址。解释:CPU能够访问内存的范围现象:装了32位的win7系统,明明内存条8G,可是系统只识别了3.8G,装了64位,系统才能识别到8G树莓派32位: 1G 949M2.物理地址:硬件实际地址或绝对地址 1G3.虚拟地址:逻辑地址称为虚拟地址原创 2020-09-26 17:00:45 · 314 阅读 · 0 评论 -
树莓派高阶课程5:驱动的认知框架,驱动代码编写,编译和测试,驱动总结
驱动的认知框架,代码编写,编译和测试,驱动总结1.驱动的认知框架:2.基于框架编写驱动代码:io口驱动代码:pin4mode原创 2020-09-26 02:23:50 · 1762 阅读 · 0 评论 -
树莓派高阶课程4:文件系统认知及虚拟文件系统,Linux内核框图
文件系统认知及虚拟文件系统一. 文件系统:1.什么是文件系统?常规认知:根目录文件系统是操作系统用于明确存储设备上组织文件的方法。以上说的方法:就是文件管理系统,简称:文件系统。2.文件系统的种类有哪些?FAT VFAT NTFS EXT1/2/3/4 HFS …Windows:-----属性----文件系统:NTFSLinux:指令: df _T----文件系统:EXT4树莓派查看文件系统的命令:df -TVFAT : boot(bootloader原创 2020-09-24 13:27:17 · 392 阅读 · 0 评论 -
树莓派高阶课程3:Linux内核源码目录树扫盲分析,配置Linux内核适合树莓派相关操作及内核编译,移植
Linux内核源码目录树扫盲分析1.Linux内核源码目录树扫盲分析:sudo apt-get install treetree //查看目录树大约1.3w个C文件:1100w行代码Linux是开源,免费,Linux开源社区工作者共同维护Linux是一个开源的,支持多架构多平台代码,可移植性非常高但是Linux内核编译出来一般就几M ----4M因为支持多平台多架构,所以编译之前要配置,配置成适合的目标平台来用平台:ARM(海思,友善之臂,树莓派,nanopi) X86 MIPS原创 2020-09-23 14:26:08 · 620 阅读 · 0 评论 -
树莓派高阶课程2:嵌入式设备(树莓派)带操作系统的启动过程扫盲,C51,STM32,PC,树莓派,Android
嵌入式设备带操作系统的启动过程扫盲1.树莓派等芯片带操作系统的启动过程:C51,STM32:启动过程:C语言直接操控底层寄存器实现相关业务。PC启动过程:x86 inter (windows):启动过程:电源----BIOS----Windows内核----C,D,E,F盘—程序启动(QQ)嵌入式产品:树莓派,mini2440 ,mini6410,nanopi,海思,RK(瑞芯微)启动过程:电源----Bootloader(引导操作系统启动)----linux内核----文件系统原创 2020-09-22 13:38:16 · 415 阅读 · 0 评论 -
树莓派高阶课程1:建立共享文件夹(解决ls /mnt/hgfs/下没有share文件的问题),交叉编译工具链,Linux内核准备
为Linux内核开发做基础准备工作1.虚拟机设置共享文件夹:之后打开终端:ls /mnt/hgfs/可看到share文件即为成功存在问题:ls /mnt/hgfs/下没有share文件cd mnt //显示没有该文件或者目录//应该输入cd /mnt/hgfs如果还没有,直接创建mkdir /mnt/hgfs----------------------cd /mnt/hgfsls//但没有找到share文件时------共享文件夹sudo vmhgfs-fuse .h原创 2020-09-22 12:18:58 · 1693 阅读 · 0 评论 -
树莓派14:Ubuntu18-04虚拟机搭建VMware版本(配置网络,更新vi,gcc,ifconfig,汉化,设置时间)
Ubuntu18-04虚拟机搭建VMware版本1.Ubuntu18-04虚拟机的安装:配置1:连接网络,网络设置为桥接模式检查1:检查2:如果不是桥接模式,则需要更改配置配置2:更新vi编辑器:sudo apt-get install vim配置3:安装gcc编辑器:sudo apt install build-essential配置4:安装ifconfig:sudo apt install net-tools配置5:ubuntu18.04设原创 2020-09-22 10:02:03 · 520 阅读 · 1 评论 -
树莓派13:带wiringPi库的交叉编译如何进行
带wiringPi库的交叉编译如何进行1.正常我们先要交叉编译wiringPi库,编译出的库适合树莓派,这时交叉编译可执行程序的时候,链接库的格式也是正确的。2.通过 -I -L来指定但是经常会因为没办法交叉编译wiringPi库而出现错误,我们需要把树莓派的wiringPi的库拿过来用。在树莓派终端输入:cd /usr/libls将树莓派下该文件移植到Linux操作系统下:cd /usr/libls出现以上问题。首先我们需要在Linux安装ssh和开启ssh服务su -在r原创 2020-09-21 21:38:24 · 268 阅读 · 1 评论 -
树莓派12:交叉编译的概念,交叉编译工具链安装,项目运行
交叉编译的概念,工具链安装,项目运行1.交叉编译的概念:交叉编译是什么?编译:是在一个平台上生成该平台上的可执行代码交叉编译: 是在一个平台上生成另一个平台上的可执行代码。(我们在windows上面编写C51代码,并编译成可执行代码,xx.hex,但在c51上面运行,不在windows上运行)(我们需要在linux上面编写树莓派代码,并编译成可执行代码,如:a.out,但在树莓派上运行,不在linux上运行)C51,STM32:交叉编译发生在keil(集成环境上面)既然我们已经有了主机编译器原创 2020-09-21 12:17:14 · 388 阅读 · 0 评论 -
树莓派11:树莓派和语音模块实现语音识别功能
树莓派和语音模块实现语音识别功能参考API原创 2020-09-21 09:50:27 · 1437 阅读 · 0 评论 -
树莓派10:树莓派和电脑之间的串口通信编程
树莓派和电脑之间的串口通信编程串口通信:通常用在多机通信当中问题一:概念串行通信:数据按位传输—通信距离相对较远串口通信距离:15米并行通信:多位同时传输(8位 16位 32位 64位。。。) 传输距离较近异步通信:接收方和发送方使用不同的时钟频率信号同步通信:接收方和发送方使用相同的时钟频率信号单工通信:数据只能够进行单向传输—收音机半双工:指数据可以在一个信号载体的两个方向上传输,但是不能同时传输。—对讲机全双工(多机通信):同一时间,既可以作为接收设备,也可以作为原创 2020-09-20 07:37:39 · 1075 阅读 · 0 评论 -
树莓派9:树莓派控制HC-SR04超声波模块测距
超声波的工作原理(基于wemos小项目拆分的讲解)1.超声波模块介绍:超声波传感器模块上面通常有两个超声波元器件,一个用于发射,一个用于接收。电路板上有4个引脚:VCC (正极)Trig (触发)Echo (回应)GND (接地)工作电压与电流: 5V,15mA感测距离: 2—400cm感测角度: 不答应15°检测物体的面积不要小于 50cm²并且尽量平整具备温度补偿电路在超声波模块触发脚位输入10微秒以上的高电位,即可发生超声波,发射超声波之后,与接收到传回的超声波之前,“原创 2020-09-19 08:21:16 · 1155 阅读 · 1 评论 -
树莓派8:树莓派控制继电器
树莓派控制继电器1.继电器:(可编程电子开关)一、继电器的定义继电器(英文名称:relay)是一种电控制器件,是当输入量(激励量)的变化达到规定要求时,在电气输出电路中使被控量发生预定的阶跃变化的一种电器。它具有控制系统(又称输入回路)和被控制系统(又称输出回路)之间的互动关系。二、继电器的作用(小电流控制大电流)通常应用于自动化的控制电路中,它实际上是用小电流去控制大电流运作的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用。三、继电器模块实物图四、模块说明:1、模块采原创 2020-09-18 22:15:29 · 5919 阅读 · 1 评论 -
树莓派7:树莓派外设开发综述(树莓派wiringPi库详解)
树莓派外设开发综述1.树莓派外设开发接口文档参考:wiringPi 库(提供API):i是一个很棒的树莓派IO控制库-----(Linux动态库 .so ,静态库.a)安装:在终端下输入:gpio -v查看树莓派操作是否含有wiringPi ,如果没有,参考链接文档第一步进行安装。编译和运行:假如你写了一个LEDtest.c 的项目,则如下://编译gcc -Wall -o LEDtest LEDtest.c -lwiringPi //使用C语言编程//运行sudo原创 2020-09-16 10:50:24 · 1000 阅读 · 0 评论 -
树莓派6:Linux库之静态库和动态库的生成和使用
Linux库之静态库和动态库的生成和使用1.什么是库?库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。就是将源代码转化为二进制格式的源代码,相当于进行了加密,别人可以使用库,但是看不到库中的内容。2.如何使用?用户需要同时具有头文件和库。头文件(相当于说明书的作用,能够知道这个库能干嘛)制作出来的库(具体的实现,存放.c、.cpp)3.静态库的生成和使用:1) 命名规则:静态库文件名的命名方式是“libxxx.a”,库名前加”lib”,后缀用”.a”,“xxx”为静态库名。2原创 2020-09-15 21:39:47 · 503 阅读 · 0 评论 -
树莓派5:linux库引入之分文件编程,动态库静态库
linux库引入之分文件编程,动态库静态库1.linux库引入之分文件编程:分文件编程的优点:a.功能责任划分b.方便调试c.主程序简洁2.Linux共享库、静态库、动态库详解:介绍 :使用GNU的工具我们如何在Linux下创建自己的程序函数库?一个“程序函数库”简单的说就是一个文件包含了一些编译好的代码和数据,这些编译好的代码和数据可以在事后供其他的程序使用。程序函数库可以使整个程序更加模块化,更容易重新编译,而且更方便升级。程序函数库可分为3种类型:静态函数库(static lib原创 2020-09-14 23:19:58 · 539 阅读 · 0 评论 -
树莓派4:树莓派和windows的FileZilla文件共享
树莓派和windows的FileZilla文件共享主机名:sftp://192.168.1.100用户名:pi密码:raspberry点击快速连接,左边是windows,右边是linux,文件可用通过鼠标拖拉进行传输。附:FileZilla链接:链接:https://pan.baidu.com/s/1KHtATe0ja2xxGIgGbzbDOA提取码:bjkj...原创 2020-09-14 21:16:43 · 205 阅读 · 0 评论 -
树莓派3:树莓派更换国内可用镜像源及vi编辑器的简单使用
树莓派更换国内可用镜像源及vi编辑器的简单使用1.树莓派更换国内可用镜像源:我们将vim更新到好用的版本的时候,失败原因?默认的源是国外的,apt-get 安装的时候失败,我们需要更新成国内的源,再去安装vim。打开终端输入:sudo nano /etc/apt/sources.list用#注释或直接删除原有的内容,新增两条如下:deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non原创 2020-09-14 20:00:31 · 349 阅读 · 0 评论 -
树莓派2:树莓派刷机及串口,网络,ssh方式登录树莓派
树莓派刷机及串口,网络,ssh方式登录树莓派1.树莓派刷机:工具:读卡器,SD卡操作:通过 .exe软件将上述光盘映像文件write进SD卡。2.串口的方式登录树莓派:2.1.设备破解:默认情况下树莓派的串口和蓝牙连接,我们需要想办法来断开蓝牙连接,用串口来进行数据通信。1.打开SD卡根目录的"config.txt"文件,将以下内容添加在最后并且保存。断开蓝牙连接。dtoverlay=pi3-miniuart-bt这样就停止了蓝牙,解除了对串口的占用。2.然后再修改根目录的"cmd原创 2020-09-14 10:20:51 · 610 阅读 · 0 评论 -
树莓派1:嵌入式开发概述
嵌入式开发概述1.嵌入式硬件选型:嵌入式即嵌入式系统,IEEE对其定义是用于控制,监视或者辅助操作机器和设备的装置,是一种专用的计算机系统国内普遍认同的嵌入式定义:以应用为核心,计算机技术为基础,软硬件可裁剪,适应应用系统对功能,可靠性,成本,体积,功耗等严格要求的专用计算机系统从应用对象上加以定义来说,嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置事实上:所有带有数字接口的设备,如:手表,微波炉,录像机,汽车,机器人等,都使用嵌入式系统,有些嵌入式系统还包含操作系统2.嵌入式芯片选型原创 2020-09-14 09:20:25 · 2845 阅读 · 0 评论