树莓派开发笔记
一. 登录方式
1.1 方式一:HDMI视频线
1.2 方式二:串口
查看串口有否被加密,默认情况下树莓派串口和蓝牙连接,需先断开蓝牙连接,串口才能用于数据通信。
1.2.1 如何使用串口登录
-
打开SD卡根目录的"config.txt"文件,将以下内容添加在最后并且保存。这样就停止了蓝牙,解除了对串口的占用。
dtoverlay=pi3-miniuart-bt
- 然后再修改根目录的"cmdline.txt",将里面的内容全部替换成以下内容,以防万一,请先备份好这个文件的原内容。
dwc_otg.lpm_enable=0 console=tty1 console=serial0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
- 准备好上面的步骤之后,将SD卡插入树莓,接上电源启动。
1.3 方式三:ssh远程登录
二. 网络配置
2.1 第一步:入网
因此系统的vim编辑工具版本太老,所以使用nano编辑工具。Ctrl+O保存。Ctrl+X退出
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
在文件中添加无线网配置信息,然后重启板子
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=CNnetwork={ssid="你的无线网名字"psk="密码"key_mgmt=WPA-PSK
}network={ssid="你的其他无线网名字"psk="密码"key_mgmt=WPA-PSK
}
2.2 第二步:设置固定ip
sudo nano /etc/rc.local
ifconfig wlan0 192.168.1.248
2.3 第三步:ssh远程登录
sudo raspi-config
首先选择第五个选项,然后选择P2 SSH,然后选择YES打开ssh
三. 树莓派更新国内可用的源
默认的源位于国外的服务器,apt-get 安装的时候会失败,所以我们更新成国内的镜像源
3.1 编辑sources.list
sudo nano /etc/apt/sources.list
用#注释或直接删除原有内容,新增俩条
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi
#deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi
3.2 编辑raspi.list
sudo nano /etc/apt/sources.list.d/raspi.list
#注释 或 直接删除原有的内容,新增两条:
deb http://mirror.tuna.tsinghua.edu.cn/raspberrypi/ stretch main ui
#deb-src http://mirror.tuna.tsinghua.edu.cn/raspberrypi/ stretch main ui
3.3 更新源
sudo apt-get update
3.4 安装新版vim编辑器
sudo apt-get install vim
四. 图形方式登录树莓派
4.1 树莓派安装xrdp远程桌面协议(RDP)服务器
sudo apt-get install xrdp
4.2 打开电脑的远程桌面
五. Windows给树莓派传文件
5.1 下载安装FileZilla软件
注意:最好在ip地址前面加上sftp://
六. Linux动态、静态库
程序函数库可分为3种类型:静态函数库、动态加载函数库、共享函数库
6.1 静态函数库:在编译时被整合到可执行文件中
6.2 动态函数库:是在程序执行时由目标程序去调用
在Linux系统中称为共享对象库,后缀是.so
在Windows上则称为动态加载函数库,文件后缀是.dll
6.3 库的制作
6.3.1 静态库的制作
- 步骤一:编译生成A.o目标文件
gcc A.c -c
- 步骤二:生成静态库文件libA.a
ar rcs A.a A.o
6.3.2 动态库的制作
gcc -shared -fpic A.c -o libA.so
//-shared代表指定生成动态库
//-fpic标准
6.4 库的使用
6.4.1 静态库的使用
- 步骤一:需把头文件A.h包含在要使用静态库的函数中
- 步骤二:通过 -l 链接静态库(去掉lib前缀和.a后缀)
-l会优先去/usr/lib/下面查找静态库,所以要通过-L指定为在当前目录下查找
gcc main.c -lA -L ./
//链接时去掉lib前缀和.a后缀
//-L是告诉编译器从指定路径查找静态库
6.4.2 动态库的使用
方式一:
a. 通过环境变量LD_LIBRARY_PATH指定动态库的搜索路径(临时)
export LD_LIBRARY_PATH = "你的共享库所在的目录"
b. 编译生成目标文件,然后运行(无需指定,会自动链接)
gcc -o A.o A.c
./A.o
方