“Orange Pi Win Plus”的版本间的差异

来自Wiki-Orange Pi
跳转至: 导航搜索
串口调试工具介绍
OrangePi 驱动程序开发
第580行: 第580行:
 
=== 例程 ===
 
=== 例程 ===
 
== OrangePi 驱动程序开发 ==
 
== OrangePi 驱动程序开发 ==
 +
为帮助开发者更加熟悉 OrangePi,本手册主要描述如何在开发板上使用简单设备驱动模块和应用程序。<br>
 +
'''需要硬件''':OrangePi Win/Win Plus 开发板,读卡器和一张 TF 卡<br>
 +
 
=== 设备驱动和应用程序的编写 ===
 
=== 设备驱动和应用程序的编写 ===
 +
'''1)应用程序(app.c):'''<br>
 +
[[Image:I96-45.png]]<br><br>
 +
'''2)驱动程序(OrangePi_misc.c)'''<br>
 +
[[Image:I96-46.png]]<br><br>[[Image:I96-47.png]]<br><br>
 +
 
=== 设备驱动的编译方法 ===
 
=== 设备驱动的编译方法 ===
 +
OrangePi_misc.c 拷贝到源码目录下*/lichee/linux-3.10/driver/misc<br>
 +
[[Image:WinPlus-101.png]]<br><br>
 +
进入*/lichee/linux-3.10/drivers/misc/,并修改makefile<br>
 +
修改当前文件的Makefile(如下图所示)<br><br>
 +
[[Image:I96-48.png]]<br><br>
 +
和Makefile同级的文件夹下有Kconfig,每个Kconfig分别描述了所属目录源文件 相关的内核配置菜单,在内核配置make menuconfig时候,从Kconfig中读取配置菜单, <br>
 +
用户配置后保存到.config中。在内核编译时,主Makefile调用这个.config,就知道用户对内核的配置情况。<br>
 +
所以Kconfig就是对应着内核的配置菜单。加入要添加新的驱动到内核源码中, 可以通过修改Kconfig来增加对我们驱动的配置菜单,这样就可以在menuconfig里面选择我们驱动是否被编译。<br><br>
 +
[[Image:I96-49.png]]<br><br>
 +
回到源码目录下<br><br>
 +
[[Image:WinPlus-103.png]]<br><br>
 +
$ ./build.sh<br>
 +
编译内核,之后会在 lichee/linux-3.10/output/lib/modules/3.10.65下面产生一个 orangepi_misc.ko 文件:<br><br>
 +
[[Image:WinPlus-104.png]]<br><br>
 +
能发现在*/lichee/linux-3.10/output/lib/modules/3.10.65/产生一个.ko文件,这就是刚刚的OrangePi_misc.c经过编译之后产生的模块。<br>
 +
插上U 盘(注意此时SD 卡已经烧好镜像) 如果此时SD 卡挂载到系统的/dev/sdb 目录下,SD 将会有两个子挂载点,分别为 /dev/sdb1 和 /dev/sdb2。<br>
 +
SD 卡的两个分区会自动挂载到 PC 上的 /media/ 目录下,第一个分区是 boot 分区,第二个分区为 rootfs 分区。<br><br>
 +
[[Image:WinPlus-105.png]]<br><br>
 +
把OrangePi_misc.ko文件复制到/media/*/lib/modules/3.10.65 里  $ cp OrangePi_misc.ko /media/*/lib/modules/3.10.65
 +
 
=== 交叉编译器编译应用程序 ===
 
=== 交叉编译器编译应用程序 ===
 +
以arm-linux-gnueabihf-gcc为例子讲述如何安装变差编译器。首先查询是否有下面这个交叉编译器,没有下载安装<br>
 +
$ arm-linux-gnueabihf-gcc -v<br>
 +
[[Image:WinPlus-106.png]]<br><br>
 +
编译应用程序,发现所需要的交叉编译器是arm-linux-gnueabihf-gcc,网上下载并安装<br><br>
 +
[[Image:WinPlus-107.png]]<br><br>
 +
解压并进入解压之后的目录<br><br>
 +
[[Image:WinPlus-108.png]]<br><br>
 +
进入 bin 目录下,查看内容<br><br>
 +
[[Image:WinPlus-109.png]]<br><br>
 +
pwd显示该路径,并将这个路径倒到全局<br><br>
 +
[[Image:WinPlus-110.png]]<br><br>
 +
$ ll /etc/environment 发现该文件只能读,需要<br>
 +
$ chmod 755 /etc/environment  修改权限<br><br>
 +
[[Image:WinPlus-111.png]]<br><br>
 +
把路径加入全局环境变量中<br><br>
 +
[[Image:WinPlus-112.png]]<br><br>
 +
有了交叉编译器,编译应用程序 $ arm-linux-gnueabihf-gcc app.c –o aq<br><br>
 +
之后在目录下产生一个aq的应用程序,将应用程序aq复制到开发板文件系统(rootfs的/home/orangepi/下)<br>
 +
$ cp aq /media/*/home/orangepi/<br><br>
 +
 
=== 驱动和程序的运行方式 ===
 
=== 驱动和程序的运行方式 ===
 +
将卡取下,插入开发板,上电开机。<br>
 +
首先要切换成root用户,开发板下加载模块驱动模块<br>
 +
$ insmod /lib/modules/Orangepi_misc.ko<br>
 +
$ lsmod 看下是否加载上<br><br>
 +
[[Image:WinPlus-113.png]]<br><br>
 +
$ ll /dev/orangepimisc(杂项设备自动生成设备文件,具体看驱动代码)<br><br>
 +
[[Image:WinPlus-114.png]]<br><br>
 +
执行应用程序(注意应用程序的用法,具体看代码)<br>
 +
$ ./aq /dev/orangepimisc <br><br>
 +
 
== 串口调试工具介绍 ==
 
== 串口调试工具介绍 ==
 
需要硬件:OrangePi Win/Win Plus 开发板,读卡器和一张 TF 卡<br><br>
 
需要硬件:OrangePi Win/Win Plus 开发板,读卡器和一张 TF 卡<br><br>

2022年6月28日 (二) 16:13的版本

介绍

什么是 Orange Pi Win/Win Plus

香橙派是一款开源的单板卡片电脑,新一代的 arm 开发板,它可以运行Android 5.1、Ubuntu、Debian 等操作系统,兼容树莓派。香橙派单板电脑使用全志A64 系统级芯片,同时拥有 1GB(Win)/2GB(Win Plus) DDR3 内存。

Orange Pi Win/Win Plus 的用途

我们可以用它搭建:

  • 一台计算机
  • 一个无线网络服务器
  • 游戏机
  • 音乐播放器
  • 高清视频播放器
  • 扬声器
  • Android
  • Scratch
  • ......

还有更多的其他功能,因为 Orange Pi Win/Win Plus 是开源的。

Orange Pi Win/Win Plus 是为谁设计的

Orange Pi Win/Win Plus 不仅仅是一款消费品,同时也是给任何想用技术来进行创作创新的人设计的。它是一款非常简单、有趣、实用的工具,你可以用它去打造你身边的世界。

Orange Pi Win/Win Plus 的硬件特性

CPU 全志 A64 芯片,4 核 64 位 Cortex-A53
GPU Mali400MP2 GPU
Support OpenGL ES 2.0 and OpenVG1.1
内存 1GB/2GB DDR3 (与 GPU 共享)
板载存储 TF 卡(最大 32GB)/ 2MB Flash 存储器 / emmc(默认空贴)
板载网络 100/1000M 以太网 RJ45
板载 wifi+蓝牙 AP6212,IEEE802.11 b/g/n,BT4.2
视频输入 具有 CSI 接口的摄像头模块
音频输入 MIC
视频输出 HDMI, mips LCD
音频输出 3.5 mm 音频口和 HDMI
电源 DC 输入,USB OTG 供电,电池供电
USB 2.0 端口 4 个 USB 2.0 HOST, 1 个 USB 2.0 OTG
Low-level peripherals 40 pin 接头, 兼容树莓派
GPIO(1x3)口 UART, ground.
LED灯 电源指示灯和状态指示灯
按键 电源(SW2),复位键(SW4)
支持的操作系统 Android, Ubuntu, Debian 等操作系统,兼容树莓派.
外观规格介绍
产品尺寸 93mm×60mm
重量 79g

Orange Pi Win顶层视图:

WinPlus-1.png

Orange Pi Win底层视图:

WinPlus-2.png

Orange Pi Win接口详情图:

WinPlus-3.png
WinPlus-4.png

Orange Pi Win Plus顶层视图:

WinPlus-5.png

Orange Pi Win Plus底层视图:

WinPlus-6.png

Orange Pi Win Plus接口详情图:

WinPlus-7.png

WinPlus-8.png

GPIO 规格

Orange Pi 40-pin GPIO
香橙派开发板有 40 pin GPIO 接头用来匹配 Raspberry Pi(树莓派)的 Model A和 Model B。
下图是香橙派开发板的 GPIO 引脚线:
WinPlus-9.png

OrangePi(A64)    
CON1-P01 VCC3V3-EXT  
CON1-P02 VCC5V-EXT  
CON1-P03 TWI1-SDA PH3
CON1-P04 VCC-5V  
CON1-P05 TWI1-SCK PH2
CON1-P06 GND  
CON1-P07 S_PWM PL10
CON1-P08 S_UART_TX PL2
CON1-P09 GND  
CON1-P10 S_UART_RX PL3
CON1-P11 UART3_RX PH5
CON1-P12 PD4 PD4
CON1-P13 UART3_TX PH4
CON1-P14 GND  
CON1-P15 UART3_CTS PH7
CON1-P16 PL9 PL9
CON1-P17 VCC3V3-EXT  
CON1-P18 PC4 PC4
CON1-P19 SPI1_MOSI PD2
CON1-P20 GND  
CON1-P21 SPI1_MISO PD3
CON1-P22 UART3_RTS PH6
CON1-P23 SPI1_CLK PD1
CON1-P24 SPI1_CS0 PD0
CON1-P25 GND  
CON1-P26 PD6 PD6
CON1-P27 TWI2-SDA PE15
CON1-P28 TWI2-SCK PE14
CON1-P29 PB4 PB4
CON1-P30 GND  
CON1-P31 PB5 PB5
CON1-P32 UART2_RTS PB2
CON1-P33 PB6 PB6
CON1-P34 GND  
CON1-P35 PB7 PB7
CON1-P36 UART2_CTS PB3
CON1-P37 PD5 PD5
CON1-P38 UART2_TX PB0
CON1-P39 GND  
CON1-P40 UART2_RX PB1

CSI 摄像头接口规格

CSI 摄像头接口是一个可以通过适当的信号引脚映射来连接外部摄像头模块的 24 pin FPC 接口。CSI 接口的引脚定义如下所示。在香橙派开发板上标有“CON2”的就是摄像头接口。

WinPlus-28.png

OrangePi-CSI

CON1-P01 NC  
CON1-P02 GND  
CON1-P03 TWI2-SDA PE13
CON1-P04 VCC-CSI  
CON1-P05 TWI2-SCK PE12
CON1-P06 CSI-RESET#  
CON1-P07 CSI-VSYNC PE3
CON1-P08 CSI-STBY-EN PE15
CON1-P09 CSI-HSYNC  
CON1-P10 VDD1V8-CSI
CON1-P11 VCC-CSI
CON1-P12 CSI-D7 PE11
CON1-P13 CSI-MCLK PE1
CON1-P14 CSI-D6 PE10
CON1-P15 GND
CON1-P16 CSI-D5 PE9
CON1-P17 CSI-PCLK PE0
CON1-P18 CSI-D4 PE8
CON1-P19 CSI-D0 PE4
CON1-P20 CSI-D3 PE7
CON1-P21 CSI-D1 PE5
CON1-P22 CSI-D2 PE6
CON1-P23 GND
CON1-P24 AFVCC-CSI


快速入门

按照如下步骤,你可以在很短的时间内配置并使用你的香橙派开发板。启动你的香橙派开发板需要完成以下几步。

步骤1: 准备需要的配件

第一次使用香橙派开发板,你至少需要准备如下的一些配件:

编号 项目 最低要求及说明
1 TF卡 最小 8GB容量,class 10 级,建议使用品牌TF卡
2 标准HDMI转HDMI线
标准HDMI转DVI线
标准HDMI转HDMI线用于连接 HD TV 或者HD显示器
标准HDMI转DVI线用于接DVI显示器
3 键盘鼠标 任何标准usb接口的键盘鼠标都可以。键盘和鼠标可能会需要较大的功率,所以可能需要使用一个 USB 集线器。
4 网线(可选) 网络属于可选项,它能够更加方便的更新和安装你的香橙派开发板上的软件。
5 电源适配器 至少 5V/2A 高品质电源适配器,OTG 尽量不用作电源输入。
6 音频线(可选) 你可以选择一个 3.5 mm 接口的音频线来体验立体音效。

WinPlus-29.png

HDMI 转 HDMI	            HDMI 转 DVI	                TF卡	             电源适配器

步骤2: 准备板子启动需要的 TF 卡

为了能够正常使用香橙派开发板,必须先在 TF 卡上安装操作系统。

1)基于Windows 平台将linux 操作系统写入TF 卡

a.把TF卡插入电脑中,TF卡的容量必须比操作系统镜像大,通常需要 8GB或更大的容量。
b.格式化TF卡
i 下载TF卡格式化工具,例如TF Formatter,下载地址

https://www.sdcard.org/downloads/formatter_4/eula_Windows/

ii 解压下载的文件,并运行 setup.exe
iii 在“选项设置”选项里, 设置“格式化类型”选项为快速格式化,“逻辑大小调整”选项为“开启(ON)”

WinPlus-30.png

iv 确认插入的TF卡盘符和选择的盘符一致
v 点击“格式化”按钮
c.从下载页面下载操作系统镜像文件,页面地址如下:

http://www.orangepi.cn/downloadresourcescn/

d.解压下载的文件(除Android系统外的系统可用该方法来烧写,Android系统需要用其他的模式来烧写)
e.右键单击下载的文件,选择 “解压文件”写入镜像文件到TF卡i 下载镜像写入工具,例如 Win32Diskimager,下载页面:

http://sourceforge.net/projects/Win32diskimager/files/Archive/

ii选择已经解压的镜像文件路径

WinPlus-31.png

iii点击 “Write” 按钮,耐心等待镜像写入
iv镜像写入完成后,点击“Exit”按钮

2)基于Linux 平台将linux 操作系统写入TF 卡

a.把 TF 卡插入电脑,TF卡的容量必须比操作系统镜像大,通常需要 8GB或更大
b.格式化 TF 卡
i运行 fdisk –l 命令确认 TF 卡的盘符
ii运行 umount /dev/sdx 卸载 TF 卡的所有分区
iii运行 sudo fdisk /dev/sdx 命令. 使用 o 命令去删除 TF 卡的所有分区,然后使用 n 命令去添加一个新的分区,最后使用 w 命令保存退出
iv运行 sudo mkfs.vfat /dev/sdx1 命令去格式化刚生成的 TF 卡分区为

FAT32 格式(根据你的 TF 卡盘符来替换 x )

c.从下载页面下载操作系统镜像文件,页面地址如下:

http://www.orangepi.cn/downloadresourcescn/

d.解压下载的文件右键单击下载的文件,选择 “解压文件”
e.写入镜像文件到 TF 卡
i运行 sudo fdisk –l 命令确认TF卡的盘符
ii确认镜像文件的hash key或者是md5 和下载页面提供的一致(可选)

sha1sum [path]/[imagename]

这将会输出一长串数字,应该和你下载的镜像页面的"SHA-1" 那一行匹配

iii运行 umount /dev/sdxx  命令卸载TF卡的所有分区
iv运行 sudo dd bs=4M if=[path]/[imagename] of=/dev/sdx 命令去写入镜像文件,耐心等待镜像写入。你可以使用 sudo pkill –USR1 –n –x dd 命令去查看烧写进度。

3)使用工具 PhoenixCard 工具将Android 系统镜像写入 TF 卡
Android 系统镜像文件不能在 Linux 下使用 dd 命令或者在 Window 用 Win32 Diskimager 工具来写入 TF 卡。需要使用工具 PhoenixCard 来写入。

a.下载 Android 系统和 PhoenixCard 烧写工具

PhoenixCard 从下面网页中下载:
http://pan.baidu.com/share/link?shareid=2785461830&uk=1077680202
Android 系统从下面的网页中下载:
http://www.orangepi.cn/downloadresourcescn/

b.格式化 TF 卡

WinPlus-32.png

c.检查插入的 TF 卡是否与选择的盘符一致,单击“恢复卡”按钮,开始格式 TF

WinPlus-33.png
格式化 TF 卡成功后,单击“确定”按钮

d.然后开始将 Android 系统写入 TF  卡,请注意下图红色标记的地方。

WinPlus-34.png

点击“烧录”,开始写入 TF 卡,等待烧录完成。

WinPlus-35.png

Android 系统成功烧写完成后。单击“退出” 按钮。 4)Armbian 镜像写入 TF 卡

a.TF 卡插入电脑中,TF 卡的容量必须比操作系统镜像大,通常需要 8GB. 下载操作系统镜像文件,镜像下载页面地址如下: http://www.armbian.com/download/
b.烧录至 TF 卡(镜像) i下载镜像写入工具,例如 Rufus,下载页面: https://rufus.akeo.ie/

WinPlus-36.png

 ii选择已经解压的镜像文件路径。

WinPlus-37.png

 iii点击开始按钮,耐心等待镜像写入
 iv镜像写入完成后,点击“关闭”按钮。

步骤3: 启动你的香橙派开发板

1)硬件连接示意图

WinPlus-38.png

OrangePi Win/Win Plus 运行android系统

WinPlus-39.png

WinPlus-40.png

2)启动 Orangepi 开发板

a.将写好镜像的 TF 卡插入香橙派开发板 TF 卡插槽
b.板子 mips 接口和 csi 接口之间是标准 HDMI 接口。用 HDMI 线连接香橙派开发板和 HDMI TV 或者显示器.如果没有 HDMI 或者 DVI 接口的显示器, 你可以使用mips接口接LCD。将 USB 键盘和鼠标插入右边缘的 USB 接口
c.将 USB 键盘和鼠标插入右边缘的 USB 接口
d.夹在 4 个USB接口中间的是千兆网口,你可以将香橙派开发板接入有线网络
e.下边缘的最右边是电源输入接口,连接一个至少 5V/ 2A的电源适配器。比 2A 大也可以。避免使用较小功率的 GSM 手机充电器,即使上面标明了"5V 2A", 它也不一定能够输出 2A。DC电源座子下端是 4 个排针,用跳线帽短接板子边缘两个脚,表示供电方式采用DC in。如果短接另外的两个针脚,表示使用电池供电,电池接在板子背面的两个大焊点上,丝印处标注了+ -极和BAT1 的标志。

WinPlus-41.png

如果上面的步骤都很顺利的话,开发板将会在几分钟内启动。显示屏上将显示系统的图形界面。首次启动时可能会需要很长的时间,请耐心等待。往后的启动时间将会很快

步骤4:正确关闭你的香橙派开发板

  • 你可以使用界面中的关机按键来安全关闭香橙派开发板。
  • 你也可以在 shell 里面输入命令来关闭系统:

sudo halt
or
sudo shutdown –h

如果以上步骤进行顺利,你将能安全地关闭香橙派开发板,如果直接使用电源按键关闭系统可能会损坏TF卡或者是文件系统。系统关闭后可以长按 5 秒以上的电源案件进行断电。

其他设置

1)扩展TF 卡
做好系统运行卡之后立即进行文件系统 rootfs 分区的扩展,这将能大大提升系统的性能,避免空间不足带来的各种繁琐问题。

a.方法 1:
在 PC 机上扩展 TF 卡 rootfs 文件系统分区:
选择指定盘符,右键选择相应盘符,选择 “更改大小”调整成自己想要的大小, 单击“调整大小”,关闭对话框单击 “应用全部操作”,选择应用,完成扩容操作。 b.方法 2:
进入系统,通过 shell 扩容未分区之前

WinPlus-42.png

进入系统后使用 resize_rootfs.sh 扩容:

WinPlus-43.png

命令行输入:resize_rootfs.sh,系统自动分区扩容,重启系统。 df -lh 检查分区扩容是否成功


WinPlus-44.png

2)连接有线网络

Orange pi 在加电开机前如果已连接网线,则系统启动后自动获取 IP 地址,如果没有连接网线,或是其它网络问题,则会导致获取 IP 地址失败,同时系统启动会因此等待一小段时间。
连接上网络之后应该是绿灯常亮,黄灯闪烁。要确定烧录的镜像是该板子的, 因为有些网卡是百兆网口(pc,one),有些网口是千兆(PC Plus),不能混用。

百兆网卡用的是芯片内部的数据线(internal phy),配置如下: 2 表示 internal phy

WinPlus-45.png

千兆网卡用外部的千兆网卡芯片,用的是 external phy 1 表示 external phy

WinPlus-46.png

以上配置默认已经配置好,可作为了解使用。

3)vnc 和ssh 登陆系统

如果没有连接 hdmi 的条件,可以通过 vnc 或者是 ssh 远程登陆。

  • 先用串口登陆,安装 ssh, apt-get install ssh
  • 修改 ssh 配置文件/etc/ssh/sshd_config,

WinPlus-47.png

  • ifconfig 查看 ip,root 用户用 ssh 登陆

WinPlus-48.png

4)HDMI 或者 3.5mm 输出声音

a.镜像默认从 hdmi 输出声音,用 alsamixer 可以查看并切换
ls /etc/asound.conf 里面 card 代表卡号,device 代表设备号。aplay -l 可以查看系统加载的声卡个数详细信息。cat /proc/asound/cards 也可以查看
用 alsamixer 切换声卡之后,可以使用alsactl store -f /var/lib/alsa/asound.state 来保存修改的参数
3.5mm 接口输出需要修改文件系统上的配置文件/etc/asound.conf.将 card1 修改成 card0 即可,或者用amixer 修改,默认的已经配置好。或者直接使用图形界面的播放器选择声道的切换。 b.图形界面切换方式:
打开 smplayer,选择 options 中的 preferences,选择 alsa(audiocodec),HDMI 和audiocodec 同时只能打开一个。
c.如何使用 mic 录音
arecord -d 5 -f cd -t wav 123.wav
录音之后,用aplay 123.wav 放音

通用软件配置

Linux 内核源码编译

下载源码

项目源码的编译

内核镜像文件和库的替换

Android 源码编译

JDK 的安装

安装平台支持软件

下载Android 源码

编译工具链的安装

Lichee 源码的编译

Android 源码编译

使用工程配置化文件

sys_config.fex 简介

例程

OrangePi 驱动程序开发

为帮助开发者更加熟悉 OrangePi,本手册主要描述如何在开发板上使用简单设备驱动模块和应用程序。
需要硬件:OrangePi Win/Win Plus 开发板,读卡器和一张 TF 卡

设备驱动和应用程序的编写

1)应用程序(app.c):
I96-45.png

2)驱动程序(OrangePi_misc.c)
I96-46.png

I96-47.png

设备驱动的编译方法

OrangePi_misc.c 拷贝到源码目录下*/lichee/linux-3.10/driver/misc
WinPlus-101.png

进入*/lichee/linux-3.10/drivers/misc/,并修改makefile
修改当前文件的Makefile(如下图所示)

I96-48.png

和Makefile同级的文件夹下有Kconfig,每个Kconfig分别描述了所属目录源文件 相关的内核配置菜单,在内核配置make menuconfig时候,从Kconfig中读取配置菜单,
用户配置后保存到.config中。在内核编译时,主Makefile调用这个.config,就知道用户对内核的配置情况。
所以Kconfig就是对应着内核的配置菜单。加入要添加新的驱动到内核源码中, 可以通过修改Kconfig来增加对我们驱动的配置菜单,这样就可以在menuconfig里面选择我们驱动是否被编译。

I96-49.png

回到源码目录下

WinPlus-103.png

$ ./build.sh
编译内核,之后会在 lichee/linux-3.10/output/lib/modules/3.10.65下面产生一个 orangepi_misc.ko 文件:

WinPlus-104.png

能发现在*/lichee/linux-3.10/output/lib/modules/3.10.65/产生一个.ko文件,这就是刚刚的OrangePi_misc.c经过编译之后产生的模块。
插上U 盘(注意此时SD 卡已经烧好镜像) 如果此时SD 卡挂载到系统的/dev/sdb 目录下,SD 将会有两个子挂载点,分别为 /dev/sdb1 和 /dev/sdb2。
SD 卡的两个分区会自动挂载到 PC 上的 /media/ 目录下,第一个分区是 boot 分区,第二个分区为 rootfs 分区。

WinPlus-105.png

把OrangePi_misc.ko文件复制到/media/*/lib/modules/3.10.65 里 $ cp OrangePi_misc.ko /media/*/lib/modules/3.10.65

交叉编译器编译应用程序

以arm-linux-gnueabihf-gcc为例子讲述如何安装变差编译器。首先查询是否有下面这个交叉编译器,没有下载安装
$ arm-linux-gnueabihf-gcc -v
WinPlus-106.png

编译应用程序,发现所需要的交叉编译器是arm-linux-gnueabihf-gcc,网上下载并安装

WinPlus-107.png

解压并进入解压之后的目录

WinPlus-108.png

进入 bin 目录下,查看内容

WinPlus-109.png

pwd显示该路径,并将这个路径倒到全局

WinPlus-110.png

$ ll /etc/environment 发现该文件只能读,需要
$ chmod 755 /etc/environment 修改权限

WinPlus-111.png

把路径加入全局环境变量中

WinPlus-112.png

有了交叉编译器,编译应用程序 $ arm-linux-gnueabihf-gcc app.c –o aq

之后在目录下产生一个aq的应用程序,将应用程序aq复制到开发板文件系统(rootfs的/home/orangepi/下)
$ cp aq /media/*/home/orangepi/

驱动和程序的运行方式

将卡取下,插入开发板,上电开机。
首先要切换成root用户,开发板下加载模块驱动模块
$ insmod /lib/modules/Orangepi_misc.ko
$ lsmod 看下是否加载上

WinPlus-113.png

$ ll /dev/orangepimisc(杂项设备自动生成设备文件,具体看驱动代码)

WinPlus-114.png

执行应用程序(注意应用程序的用法,具体看代码)
$ ./aq /dev/orangepimisc

串口调试工具介绍

需要硬件:OrangePi Win/Win Plus 开发板,读卡器和一张 TF 卡

WinPlus-101.png

TTL 转 USB 线

2GIoT-53.png

基于Windows平台的使用

在使用 OrangePi 做项目开发过程中,为了获得更多的调试信息,OrangePi 默认支持串口信息调试。对于开发者而言,只需准备上面提到的材料,即可简单的获得串口调试信息。
不同的上位机使用的串口调试工具大同小异,基本可以参考下文的方法进行部署。使用 Windows 平台进行串口调试的工具很多,通常使用的工具是 putty。
本节以 putty 作为例子进行部署讲解。

1)Windows下USB驱动安装

  • 目前最新版的驱动PL2303_Prolific_DriverInstaller_v130.zip,下载解压。

I96-62.png

  • 以管理员身份选择应用程序安装

I96-63.png

  • 等待安装完成

I96-64.png

2)Windows下Putty安装

  • 下载 putty 安装包
  • 等待安装完成

I96-65.png

  • 等待安装完成

I96-66.png

  • 解压安装
  • 安装好之后打开程序如下图所示
  • 等待安装完成

I96-67.png

3)调试的连接方式

使用 TTL 转串口线,一端连接 OrangePi,另一端连接 PC

4)设备信息的获取

  • 开始菜单选择控制面板

I96-69.png

  • 点击设备管理器,查看端口号

I96-70.png

  • Putty配置

I96-71.png

串行口设置成相应的端口号(COM5),速度设置成 921600
6)调试串口
OrangePi 上电开机,串口自动打印串口 log
I96-72.png

Linux平台下的操作

使用Linux平台进行串口调试工具有minicom和kermit。本文以kermit作为例子进行讲解。
1)Kermit 安装

  • 使用命令进行安装:

$ sudo apt-get install ckermit
I96-73.png

  • 配置 kermit

$ sudo vi /etc/kermit/kermrc
I96-74.png

  • 添加行:

set line /dev/ttyUSB1
set speed 921600
set carrier-watch off set handshake none
set flow-control none
robust
set file type bin
set file name lit
set rec pack 1000
set send pack 1000
set window 5

I96-75.png

2)调试的连接方式

使用 TTL 转串口线,一端连接 Orange Pi,另一端连接 PC

3)设备信息的获取
$ ls /dev/ (在 PC 终端输入命令,查询 TTL 转串口线的设备号)
I96-77.png

a.从图中可以看出,“TTL  转串口”线被识别为 “ttyUSB0”,配置 /ect/kermit/kermitc文件,更新串口信息。 $ sudo vi /etc/kermit/kermitc
b.将 setline 的值设置为 /dev/ttyUSB0

I96-78.png

4)开始调试串口

a.在上位机终端输入命令,进入 kermit 模式: $ sudo kermit –c

I96-79.png

b.Orange Pi 上电开机,串口自动打印串口 log,登录密码为 root/orangepi 和orangepi/orangepi

更多关于Orange Pi Win/Win Plus的使用信息,请查看Orange Pi Win/Win Plus 用户手册。(点击下载)