1. GPIO操作:
$ cd /sys/class/gpio
$ echo 12 > export //add gpio interface
$ echo "out" > gpio12/direction //set gpio direction
$ echo 1 > value //led on
$ echo 0 > value //led off
2. PWM操作:
echo 0 > /sys/class/pwm/pwmchip0/export
echo 100000000 > /sys/class/pwm/pwmchip0/pwm0/period
echo 50000000 > /sys/class/pwm/pwmchip0/pwm0/duty_cycle
echo normal > /sys/class/pwm/pwmchip0/pwm0/polarity
echo 1 > /sys/class/pwm/pwmchip0/pwm0/enable
home/chenzhoufeng/riscv-sifive-2020-03/build/tmp-glibc/work/freedom_u540-oe-linux/linux-mainline/5.5.x+gitAUTOINC+449718782a-r0/
3. 音频操作:
https://www.cnblogs.com/spjy/p/7085281.html
1) 设置默认声卡为USB声卡
在$HOME下新建.asoundrc
$cd $HOME
$nano .asoundrc
输入以下内容
defaults.ctl.card 1
defaults.pcm.card 1
最后的1是USB声卡的编号,可通过以下命令查看
$aplay -l
或
$cat /proc/asound/cards
然后重启一下alsa就把1号声卡(usb声卡)设置成默认声卡了。
测试录音
$arecord -d 10 test.wav
测试播音
$aplay test.wav
2) 播音和录音为不同声卡时,可以参考以下配置
pcm.!default {
type asym
playback.pcm {
type plug
slave.pcm "hw:0,0"
}
capture.pcm {
type plug
slave.pcm "hw:1,0"
}
其中,hw:1,0表示card 1 device 0
3) 调节声卡音量
打开终端,输入
$alsamixer
即可调节音量
按 f6 会出现声卡列表
一般来说,usb 声卡总是第二位的,声卡编号是1(默认声卡是0)
4) 测试指定声卡
arecord -D "plughw:5,0" -d 3 temp.wav
aplay -D "plughw:1,0" temp.wav
4. 以太网测试:
uboot环境下:
ping功能:
首先需要设置和主机相连的另一台机子,ip地址和该主机在一个网段,此处另一台机子ip地址设置为192.168.22.100
=> setenv ipaddr 192.168.22.5
=> setenv netmask 255.255.255.0
=> ping 192.168.22.100
需要注意的是,uboot环境只能主机ping另一台机子,而另一台机子不能ping通主机 !!!
tftp功能:
首先需要在和该主机相连的另一台机子上起tftp server,可以用3CDaemon.EXE这个软件,并设置tftp server download的根路径,此处将fitImage放置在根目录下
=> setenv serverip 192.168.22.100
=> tftpboot fitImage
kernel环境下:
kernel起来后,执行以下命令验证:
# ifconfig
# ifconfg eth0 up
# ifconfig eth0 192.168.22.5
# ping 192.168.22.100
# tftp -g -l macb.c 192.168.22.100
5. GPIO中断测试
参考网上链接:https://www.cnblogs.com/brep/p/4281209.html
将改代码添加到drivers/leds/目录下,取名为leds-bcm2835.c, (2) 同时修改drivers/leds/Makefile, 添加 obj-y += leds-bcm2835.o
重新编译kernel,copy到sd卡中执行,gpio8口接led灯, gpio25通过沿触发, 发现led灯会翻转,说明gpio中断工作。
6. I2C测试
该i2c测试,参照网上资料进行修改。
i2c对应的slave,地址和数据都是32位的,所以读写时是8bytes.
其中该应用程序是实现通过i2c口下发程序到内部的memory,其中程序通过python将bin文件转换成.h文件,存放在一个数组中,该处数组即为ate_test,
使用:
将对应的i2c_test.c文件和依赖文件copy到sdcard中,上电启动树莓派,root登陆后,会在对应的/boot目录下发现copy的文件,然后执行以下操作
# gcc -c i2c_test.c
# gcc -o i2c_test i2c_test.o
# ./i2c_test 10 /dev/i2c-1 0 //其中10: 从机地址, 0: 0:7-bit address, 1: 10-bit address.
7. SPI测试
该处spi slave是MRC522的一个子卡,spi接口只是访问其中的寄存器。
使用:可以参考i2c_test, 执行命令位./spi_test
8. lrzsz操作
参考链接: https://blog.csdn.net/dragon101788/article/details/30477679
Note: 这里用SecureCRT软件,lrzsz版本用lrzsz-0.12.20!!!
- 源码编译:
$ ./configure (./configure --prefix=)
$ make
$ make install
- 下载和上传文件
。下载文件【将linux系统的文件下载到windows端(客户端)】
# ./lsz -X <文件名>
会有提示信息 "Give your local XMODEM receive command now."
然后选择“传输”-> "接收Xmodem(C)" -> 选择接收目录 -> 文件命名,我这里起的名字为lsz_test.c, 以下为参考信息。
。上传文件【将windows端的文件发送到linux系统中去】
# lrz -X <文件名>
会提示信息 "lrz: ready to receive server.xml"
然后选择 "传输" -> "发送Xmodem(N)" -> 选择要发送的文件, 这里需要注意的是,需要发送的文件名和命令中的文件名一致。
如果需要查看命令使用方法,可以通过lsz --help 或者 lrz --help查看。