更改

跳转至: 导航搜索

Orange Pi I96

添加7,446字节, 2022年6月29日 (三) 19:33
下载 Orange Pi i96 用户手册
=== 什么是 Orange Pi i96 ===
香橙派是一款开源的单板电脑,新一代的 arm 开发板,它可以运行 Android4.4、Ubuntu、Debian 等操作系统。Orange Pi i96 使用 RDA8810 系统级芯片,同时集成256MB LPDDR2 SDRAM 内存<br>
=== Orange Pi 4 i96 的用途 ===
我们可以用它搭建:<br>
* 一台计算机
* Android <br><br>
当然还有其他更多的功能,因为Orange Pi是开源的<br>
 
=== Orange Pi i96 是为谁设计的 ===
Orange Pi i96 不仅仅是一款消费品,同时也是给任何想用技术来进行创作创新的人设计的。它是一款非常简单、有趣、实用的工具,你可以用它去打造你身边的世界
b.格式化TF卡<br>
i 下载TF卡格式化工具,例如TF Formatter,下载地址<br>
'''https://www.sdcard.org/downloads/formatter_4/eula_Windows/''' <br>
ii 解压下载的文件,并运行 setup.exe
iii 在“选项设置”选项里, 设置“格式化类型”选项为快速格式化,“逻辑大小调整”选项为“开启(ON)”
iv 确认插入的TF卡盘符和选择的盘符一致<br>
v 点击“格式化”按钮<br>
c.从下载页面下载操作系统镜像文件,页面地址如下:<br> '''http://www.orangepi.cn/downloadresourcescnhtml/hardWare/computerAndMicrocontrollers/service-and-support/Orange-Pi-I96.html'''<br>
d.解压下载的文件(除Android系统外的系统可用该方法来烧写,Android系统需要用其他的模式来烧写)<br>
e.右键单击下载的文件,选择 “解压文件”写入镜像文件到TF卡i 下载镜像写入工具,例如 Win32Diskimager,下载页面:
http://sourceforge.net/projects/Win32diskimager/files/Archive/<br>
ii选择已经解压的镜像文件路径<br>
[[Image:winPlus-31.png]]<br><br>
FAT32 格式(根据你的 TF 卡盘符来替换 x )<br>
c.从下载页面下载操作系统镜像文件,页面地址如下:<br>
'''http://www.orangepi.cn/downloadresourcescnhtml/hardWare/computerAndMicrocontrollers/service-and-support/Orange-Pi-I96.html'''<br>
d.解压下载的文件右键单击下载的文件,选择 “解压文件”<br>
e.写入镜像文件到 TF 卡<br>
[[Image:I96-12.png]]<br><br>
'''3)Windows 上安装烧写工具'''<br>
目前 Nand 烧录工具只支持 Windows 版本,请从 OrangePi 官网下载该工具, 连接为:http连接为:<br>'''http://www.orangepi.cn/downloadresourcescnhtml/hardWare/computerAndMicrocontrollers/service-and-support/Orange-Pi-I96.html'''<br><br>[[Image:I96-13Xiazai3.png]]<br><br>
'''4)Windows 上安装 USB 驱动'''<br>
解压下载后的工具包,安装 USB 驱动。路径为:<br>
*'''http:/OrangePi_2G-IOT_Toolschain/USB_Driverwww.orangepi.cn/html/hardWare/computerAndMicrocontrollers/USBservice-driverand-support/Orange-Pi-I96.html''' <br>
根据你的平台进行安装,32 位系统安装 x86 USB驱动。64 位系统安装 x64 驱动。<br><br>
'''5)下载 NAND 版 Android 镜像'''<br>
下载地址为:http下载地址为:<br>'''http://www.orangepi.cn/downloadresourceshtml/hardWare/computerAndMicrocontrollers/ service-and-support/Orange-Pi-I96.html''' <br><br>[[Image:I96-14Xiazai3.png]]<br><br>
'''6)使用烧写工具'''<br>
使用安装包中的烧录工具进行 NAND 烧录<br>
*'''http:/OrangePi_2G/www.orangepi.cn/html/hardWare/computerAndMicrocontrollers/service-and-IOT_Toolschainsupport/OrangePi_2GOrange-IOT_NandUpdate_Tools/OrangePi_2GPi-I OT_UpdateI96.ehtml'''<br><br>
[[Image:I96-15.png]]<br><br>
点击 “load BIN”,将从官网下载的 NAND 版Android 镜像导入到工具里。加载完成之后,点击 Download 按钮进行下载。此时,工具正等待 OrangePi i96 的下载连接。<br><br>
选择指定盘符,右键相应的盘符,选择“更改大小”调整成自己想要的大小,单击“调整大小”,关闭对话框单击“应用全部操作”,选择应用,完成扩容操作。<br>
a.扩大文件系统
i启动到 Linux,umount /dev/sdb1 和/dev/sdb2,若提示磁盘忙的话使用 fuser将正在使用磁盘的程序破坏掉。(推荐使用另外的 Linux 启动盘来引导系统)<br> ii使用 fdisk /dev/sdb 调整分区大小,进去之后,输入 p,记下要扩大分区起始位置的大小。<br> iii输入 d 删除需要变化的分区(我的文件系统是/dev/sdb2,也就是第二个分区) iv 输入 n 建立新分区,注意分区起始位置和之前删除分区保持一致,结束输入你期望的大小。<br> v输入 w 保存分区表<br> vi使用下面命令检查文件系统(保证文件系统没有错误,为修改文件系统做准备):e2fsck -f /dev/sdb2 <br> vii 调整分区大小:resize2fs /dev/sdb2<br>
viii 可以挂载一个磁盘分区,看大小是否改变
b.缩小文件系统
i启动到 Linux,umount 掉/dev/sdb1 和/dev/sdb2,若提示磁盘忙的话使用 fuser将正在使用磁盘的程序破坏掉。(推荐使用另外的 Linux 启动盘来引导系统)。<br> ii使用 fsck 检查文件系统(保证文件系统没有错误,为修改文件系统做准备) e2fsck -f /dev/sdb2<br> iii修改文件系统的大小(使用 resize2fs) resize2fs /dev/sdb2 900M数字后面的“s”表示通过扇区数(按每扇区 512 字节算)来指定文件系统的大小。还可以指定 K(KB),M(MB),G(GB)等。<br> iv使用 fdisk /dev/sdb 调整分区大小,进去之后,输入 p,记下要扩大分区起始位置的大小。因为 fdisk 无法动态的修改分区大小,所以只能先删除分区,然后再重建一个小一点的分区(size 要计算好,必须要能容纳下我们在上一步调整后的文件系统)。<br> v输入 d 删除需要变化的分区(我的文件系统是/dev/sdb2,也就是第二个分区) vi 输入 n 建立新分区,注意分区起始位置和之前删除分区保持一致,结束输入你期望的大小。另外,如果你修改的是可引导分区,注意它的可引导标志要保留, 建立新分区,注意分区起始位置和之前删除分区保持一致,结束输入你期望的大小。<br>另外,如果你修改的是可引导分区,注意它的可引导标志要保留, 否则可能导致系统无法 boot。
上述方法是使用 fdisk 和 resize2fs 来修改分区和文件系统,也可以使用 gparted。gparted 提供了图形界面,而且它在 resize 分区的同时会帮你 resize 文件系统,用起来更方便,不容易出错。目前官网的 Lubuntu 和 raspbian 暂不可用。<br><br>
例子: 设置 wiringPi 26 引脚为输出引脚:orangepi# gpio mode 26 out 向 wiringPi 26 引脚写 0:orangepi# gpio write 26 0向 wiringPi 26 引脚写 1:orangepi# gpio write 26 1<br>
* 使用命令 "gpio read pin" 读取输入模式 pin 的值。<br>
例子:设置 wiringPi 26 引脚为输入引脚:orangepi# gpio mode 26 in 从 wiringPi 26 中读取值:orangepi# gpio read 26<br><br>
[[Image:I96-28.png]]<br><br>
* 更多 “gpio” 命令用法,请参考 "gpio -h" 获得。<br>
WiringPi 支持 C 库和 python 库,开发者可以使用 C 语言直接操作 GPIO 口,代码样例位于源码目录 /example/OrangePi/ 目录下。<br>
开发者在 C 代码中使用 GPIO 的简单样例如下: 编写 GPIO 呼吸灯<br><br>
[[Image:I96-29.png]]<br><br> 
C 库调用 wiringPi 流程基本如下:<br><br>
首先,为了调用 wiringPi C 库,开发者需要导入 <wiringPi.h> 头文件。<br>
=== 下载源码 ===
官网目前提供了 Android 源码的下载,详细情况请访问官方英文网站:http源码的下载,详细情况请访问官方英文网站:<br>'''http://www.orangepi.org/downloadresourceshtml/serviceAndSupport/index.html'''<br>或者中文网站:<br>或者中文网站:http'''http://www.orangepi.cn/downloadresourcescnhtml/serviceAndSupport/index.html'''<br><br>
下载分两种,一种为 MEGA 上下载,另一种为百度云。<br><br>
1)如果从 MEGA 上下载,请按如下进行解压下载好压缩包<br>
解压出来得到 trunk 目录,使用终端进入该目录<br>
如果从百度云上下载,下载完后进行解压,即可获得 trunk 目录。<br><br>
 
=== Android 源码编译 ===
将烧录好的 SD 卡插入 OrangePi,将板子上跳线帽连接图下图,开机即可进入 Linux 系统。<br><br>
[[Image:I96-43.png]]<br><br>
 
== Orange Pi 驱动程序开发 ==
为帮助开发者更加熟悉 Orange Pi,本手册主要描述如何在开发板上使用简单设备驱动模块和应用程序。<br>
'''硬件:'''下图Orange Pi开发板一块,读卡器一个,TF卡一张和电源适配器一个<br><br>
[[Image:I96-44.png]]<br><br>
=== 4.1设备驱动和应用程序的编写 ===
'''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>
 
=== 4.2设备驱动的编译 ===
OrangePi_misc.c 拷贝到源码目录下<br>
*/OrangePi_i96/kernel/driver/misc<br>
进入*/OrangePi_i96/kernel/driver/misc<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>
回到源码目录下 /OrangePi_i96 <br>
$ ./build.sh<br>
参考本文档 Linux 编译步骤,对模块进行编译和更新。将新生产的模块文件更新到 Linux 系统上生对应.ko文件,这就是刚刚的OrangePi_misc.c经过编译之后产生的模块。<br>
插上U盘(注意此时SD卡已经烧好镜像) 如果此时SD卡挂载到系统的/dev/sdc 目录下,SD 将会挂载 rootfs,将 ko 文件更新到系统中/tru具体更新方法,请参考本文档 Linux 编译章节<br><br>
[[Image:I96-50.png]]<br><br>
 
=== 应用程序的编译方法 ===
查询是否有下面这个交叉编译器,没有下载安装 $ arm-linux-gnueabihf-gcc -v<br><br>
[[Image:I96-51.png]]<br><br>
编译应用程序,发现所需要的交叉编译器arm-linux-gnueabihf-gcc,网上下载并安装<br><br>
[[Image:I96-52.png]]<br><br>
解压并进入解压之后的目录<br><br>
[[Image:I96-53.png]]<br><br>
进入 bin 目录下,查看内容<br><br>
[[Image:I96-54.png]]<br><br>
pwd显示该路径,并将这个路径倒到全局<br><br>
[[Image:I96-55.png]]<br><br>
$ ll /etc/environment 发现该文件只能读,需要<br>
$ chmod 755 /etc/environment<br>
修改权限<br><br>
[[Image:I96-56.png]]<br><br>
把路径加入全局环境变量中<br><br>
[[Image:I96-57.png]]<br><br>
有了交叉编译器,编译应用程序<br><br>
$ arm-linux-gnueabihf-gcc app.c –o aq<br>
之后在目录下产生一个aq的应用程序,将应用程序aq复制到开发板文件系统 (rootfs的/home/orangepi/下)<br>
$ cp aq /media/*/home/orangepi/<br><br>
 
=== 驱动和程序的运行方式 ===
将卡取下,插入开发板,上电开机。<br>
首先要切换成root用户,开发板下加载模块驱动模块<br>
$ insmod /lib/modules/orangepi.ko<br><br>
[[Image:I96-58.png]]<br><br>
$ lsmod 看下是否加载上<br><br>
[[Image:I96-59.png]]<br><br>
$ ll /dev/orangepimisc(杂项设备自动生成设备文件,具体看驱动代码)<br><br>
[[Image:I96-60.png]]<br><br>
执行应用程序(注意应用程序的用法,具体看代码)<br>
$ ./aq /dev/orangepimisc
 
== 串口调试工具介绍 ==
'''硬件:'''下图Orange Pi开发板一块,下图TTL转USB线一根,读卡器一个,TF卡一张和电源适配器一个<br><br>
[[Image:I96-61.png]]<br><br>
=== Windows平台下的操作 ===
在使用 OrangePi 做项目开发过程中,为了获得更多的调试信息,OrangePi 默认支持串口信息调试。对于开发者而言,只需准备上面提到的材料,即可简单的获得串口调试信息。<br>
不同的上位机使用的串口调试工具大同小异,基本可以参考下文的方法进行部署。使用Windows平台进行串口调试的工具很多,通常使用的工具是putty。本节以putty作为例子进行部署讲解。<br>
Android 波特率设置为 921600<br>
Linux 波特率设置为 921600<br><br>
 
'''1)Windows下USB驱动安装'''<br>
* 目前最新版的驱动PL2303_Prolific_DriverInstaller_v130.zip,下载解压。<br>
[[Image:I96-62.png]]<br><br>
* 以管理员身份选择应用程序安装<br>
[[Image:I96-63.png]]<br><br>
* 等待安装完成<br>
[[Image:I96-64.png]]<br><br>
 
'''2)Windows下Putty安装'''<br>
* 下载 putty 安装包<br>
* 等待安装完成<br>
[[Image:I96-65.png]]<br><br>
* 等待安装完成<br>
[[Image:I96-66.png]]<br><br>
* 解压安装<br>
* 安装好之后打开程序如下图所示<br>
* 等待安装完成<br>
[[Image:I96-67.png]]<br><br>
 
'''3)调试的连接方式'''<br>
[[Image:I96-68.png]]<br><br>
使用 TTL 转串口线,一端连接 OrangePi,另一端连接 PC<br><br>
'''4)设备信息的获取'''<br><br>
* 开始菜单选择控制面板<br>
[[Image:I96-69.png]]<br><br>
* 点击设备管理器,查看端口号<br>
[[Image:I96-70.png]]<br><br>
* Putty配置<br>
[[Image:I96-71.png]]<br><br>
串行口设置成相应的端口号(COM5),速度设置成 921600<br>
'''6)调试串口'''<br>
OrangePi 上电开机,串口自动打印串口 log<br>
[[Image:I96-72.png]]<br><br>
 
=== Linux平台下的操作 ===
使用Linux平台进行串口调试工具有minicom和kermit。本文以kermit作为例子进行讲解。<br>
'''1)Kermit 安装'''
* 使用命令进行安装:<br>
$ sudo apt-get install ckermit<br>
[[Image:I96-73.png]]<br><br>
* 配置 kermit<br>
$ sudo vi /etc/kermit/kermrc<br>
[[Image:I96-74.png]]<br><br>
* 添加行:<br>
set line /dev/ttyUSB1<br>
set speed 921600<br>
set carrier-watch off set handshake none<br>
set flow-control none<br>
robust<br>
set file type bin<br>
set file name lit<br>
set rec pack 1000<br>
set send pack 1000<br>
set window 5<br><br>
[[Image:I96-75.png]]<br><br>
'''2)调试的连接方式'''<br>
[[Image:I96-76.png]]<br><br>
使用 TTL 转串口线,一端连接 Orange Pi,另一端连接 PC<br><br>
'''3)设备信息的获取'''<br>
$ ls /dev/ (在 PC 终端输入命令,查询 TTL 转串口线的设备号)<br>
[[Image:I96-77.png]]<br>
a.从图中可以看出,“TTL 转串口”线被识别为 “ttyUSB0”,配置 /ect/kermit/kermitc文件,更新串口信息。 $ sudo vi /etc/kermit/kermitc<br>
b.将 setline 的值设置为 /dev/ttyUSB0
[[Image:I96-78.png]]<br><br>
'''4)开始调试串口'''<br>
a.在上位机终端输入命令,进入 kermit 模式: $ sudo kermit –c
[[Image:I96-79.png]]<br><br>
b.Orange Pi 上电开机,串口自动打印串口 log,登录密码为 root/orangepi 和orangepi/orangepi
<br>
== 下载 Orange Pi i96 用户手册 ==
<br>
 
更多关于Orange Pi i96的使用信息,请查看<span style="color:red;">Orange Pi i96 用户手册</span>。(点击下载)<br><br>
8,460
个编辑

导航菜单