8,367
edits
Changes
no edit summary
Interface instructions:<br>
<br>
<div style="padding-left:200px;">[[File:Orange-pi-i96-img1.png|600px]]</div>
<br>
<div style="padding-left:200px;">[[File:Orange-pi-i96-img2.png|600px]]</div>
<br>
=== '''GPIO Specifications''' ===
The CSI Camera Connector is a 24-pin FPC connector which can connect external camera module with proper signal pin mappings. The pin of CIS connector can be defined as follows. The connector marked with "CON 1" on the Orange Pi i96 is camera connector.<br>
<br>
<div style="padding-left:200px;">[[File:Orange-pi-i96-img3.png|600px]]</div>
<br>
'''OrangePi i96-CSI'''<br>
|}
<br>
<div style="width:800px;display:flex;padding-left:200px;align-items:center;">
<div style="text-align:center;">
[[File:Orange-pi-i96-img4.png|200px]]
<br>
Switching the boot mode into NAND via short jumper cap.
<div style="padding-left:200px;">[[File:Orange-pi-i96-img16.png|400px]]</div>
<br>
Power it on, Orange Pi i96 will boot from NAND.<br>
* Short jumper cap to switch the system to boot from NAND, set toggle switch into 1234 UP, 5678 Down like the following:<br>
<br>
<div style="padding-left:200px;">[[File:Orange-pi-i96-img17.png|400px]]</div>
<br>
'''3)Install writing tool on Windows '''<br>
Use writing tool to write NAND:
http://www.orangepi.online/html/hardWare/computerAndMicrocontrollers/service-and-support/Orange-Pi-I96.html
<div style="padding-left:200px;">[[File:Orange-pi-i96-img20.png|600px]]</div>
<br>
Click “load BIN” to import the image of NAND version into writing tool. After that, click Download button to download the image. Meanwhile, the tool is waiting for the download link of Orange Pi i96.<br>
Prepare an Android USB to DC cable, first connect to the OTG port of Orange Pi i96, then push on the power button for 5s, and connect the cable to the Windows PC. Meanwhile, the screen will indicate that connect successful and downloading. It will take around 3min to finished downloaded, after that, reboot the system and then the system will run on the update Android.<br>
Note: If it could not download, please check the the shorting cap and switch.
<div style="padding-left:200px;">[[File:Orange-pi-i96-img21.png|600px]]</div>
<br>
<br>
* ADB setting: Set the toggle switch into 1234 “UP”, 5678 “Down”, the system will switch into adb model, in this model, the USB is unable.
<div style="padding-left:200px;">[[File:Orange-pi-i96-img22.png|600px]]</div>
<br>
* Connect to the OTG port of Oragne Pi I96 with the USB to DC cable, the other side connect to PC, push the power button and then the system will be Android.
* After connect to OrangePi I96 via adb, you could refer to the adb debug method from the internet to enter into Orange Pi i96
We would recommend you use Plug-in Vysor in Chrome browser, this tool could enter Android via adb:
<div style="padding-left:200px;">[[File:Orange-pi-i96-img23.png|600px]]</div>
<br>
<div style="padding-left:200px;">[[File:Orange-pi-i96-img24.png|400px]]</div>
<br>
V line represents the voltage value of the current pin.<br>
Physical line represents the actual hardware number.
<div style="padding-left:200px;">[[File:Orange-pi-i96-img32.png|800px]]</div>
<br>
ii Use "gpio export pin mode" to explore wiringPi GPIO to the directory of /sys/class/gpio and set the GPIO mode into mode. <br>
Configure pin wiringPi 26 as input pin orangepi# gpio mode 26 in<br>
read the value from wiringPi 26 orangepi# gpio read 26
<div style="padding-left:200px;">[[File:Orange-pi-i96-img33.png|800px]]</div>
<br>
If you want to learn more "gpio" command, you could refer to "gpio -h" obtain.<br>
<br>
Complie GPIO LED
<div style="padding-left:200px;">[[File:Orange-pi-i96-img34.png|800px]]</div>
<br>
Usage of C library on wiringPi: <br>
<br>
Hardware: Orange Pi development board*1, Card reader*1, TF card*1, power supply*1
<div style="padding-left:200px;">[[File:Orange-pi-i96-img35.png|800px]]</div>
<br>
Software: Linux host computer, which hard disk space at least 50G (to meet a fully compiled need)<br>
* After confirmed it is version 1.6, you could use the following command:
java -version
<div style="padding-left:200px;">[[File:Orange-pi-i96-img36.png|800px]]</div>
<br>
=== '''Install Platform Supported Software''' ===
./Build_OrangePi.sh<br>
Input root password:
<div style="padding-left:200px;">[[File:Orange-pi-i96-img37.png|600px]]</div>
<br>
After root password recognize successful, enter inter main interface and use Enter key.
<div style="padding-left:200px;">[[File:Orange-pi-i96-img38.png|600px]]</div>
<br>
Select “Build system with kernel/uboot/rootfs” on main functional interface and use Enter key.
<div style="padding-left:200px;">[[File:Orange-pi-i96-img39.png|600px]]</div>
<br>
And then select “OrangePi I96” with Enter key to update source code.
<div style="padding-left:200px;">[[File:Orange-pi-i96-img40.png|600px]]</div>
<br>
It would take around 40minutes to update source code and corresponding scripts. After updated the source code, there will be generated a directory of OrangePi_i96. This directory contains both Linux source code and scripts:
<div style="padding-left:200px;">[[File:Orange-pi-i96-img41.png|600px]]</div>
<br>
* Compile Linux
Execute the following command after enter into directory of OrangePiRDA: ./build.sh<br>
The script is is an automatic script, you could select a corresponding board which you want to compile, here is “OrangePi I96”.
<div style="padding-left:200px;">[[File:Orange-pi-i96-img42.png|600px]]</div>
<br>
If it is the first time you run the script, the system would install development tool automatic to make sure the network is connecting.
<div style="padding-left:200px;">[[File:Orange-pi-i96-img43.png|600px]]</div>
<br>
After installed tool, enter root password and use Enter key.
<div style="padding-left:200px;">[[File:Orange-pi-i96-img44.png|600px]]</div>
<br>
You will enter into the main interface after entering password, select what you are going to do:
<div style="padding-left:200px;">[[File:Orange-pi-i96-img45.png|600px]]</div>
<br>
This version is only support the above three options. After selecting the corresponding option, the system would compile automatically.
<div style="padding-left:200px;">[[File:Orange-pi-i96-img46.png|600px]]</div>
<br>
There will be prompt the location of kernel image and module after compilation.
<div style="padding-left:200px;">[[File:Orange-pi-i96-img47.png|600px]]</div>
<br>
* Update Linux Kernel and module
After all above steps, kernel and module update have been finished.<br>
You could insert SD card into Orange pi, and make the jumper like the following, after booting, it would enter into Linux.
<div style="padding-left:200px;">[[File:Orange-pi-i96-img48.png|600px]]</div>
<br>
== '''Orange Pi Driver development''' ==
<br>
Hardware: Orange Pi development board*1, Card reader*1, TF card*1, power supply*1
<div style="padding-left:200px;">[[File:Orange-pi-i96-img49.png|600px]]</div>
<br>
=== '''Device driver and application programming''' ===
'''1)Application Program (app.c)'''<br>
<br>
<div style="padding-left:200px;">[[File:Orange-pi-i96-img50.png|600px]]</div>
<br>
'''2)Driver Program (OrangePi_misc.c)'''<br>
<br>
<div style="padding-left:200px;">[[File:Orange-pi-i96-img51.png|600px]]</div>
<br>
<div style="padding-left:200px;">[[File:Orange-pi-i96-img52.png|600px]]</div>
<br>
=== '''Compile device driver''' ===
Enter to */trunk/kernel/driver/misc<br>
Modify Makefile on currently file, shown as following:
<div style="padding-left:200px;">[[File:Orange-pi-i96-img53.png|800px]]</div>
<br>
There is Kconfig on the same sibling folders with Makefile. Each Kconfig respectively describes the the source directory file related kernel configuration menu. In the kernel configuration making menuconfig, it read from the Kconfig config menu and the user configuration saved to the config. In the kernel compile, the main Makefile by calling this.Config could know the user's configuration of the kernel.<br>
Kconfig is corresponding to the kernel configuration menu. Add a new driver to the kernel source code, you can modify the Kconfig to increase the configuration menu for your drive, so you can choose whether the menuconfig driver was compiled or not.
<div style="padding-left:200px;">[[File:Orange-pi-i96-img54.png|800px]]</div>
<br>
Back to the source code directory /OrangePi_i96<br>
It will generated a corresponding .ko file which is generated from the previous compilation of OrangePi_misc.c.<br>
Insert U disk (please note the SD card should have written image) if the SD card is mounted to the directory system of /dev/sdc, then SD card will mount to rootfs, which is /dev/sdc7, and mounted to rootfs partition automatic.
<div style="padding-left:200px;">[[File:Orange-pi-i96-img55.png|800px]]</div>
<br>
=== '''Compiling method of application''' ===
Check whether there is the cross compiler, if not, then download and install it.
$ arm-linux-gnueabihf-gcc -v
<div style="padding-left:200px;">[[File:Orange-pi-i96-img56.png|800px]]</div>
<br>
While compiling the application, you will fill that you need the cross compiler arm-linux-gnueabihf-gcc, download and install it.
<br>
Hardware: Orange Pi development board*1, Card reader*1, TF card*1, power supply*1, TTL to USB cable*1
<div style="padding-left:200px;">[[File:Orange-pi-i96-img66.png|800px]]</div>
<br>
'''TTL to USB cable'''
<div style="padding-left:200px;">[[File:Orange-pi-i96-img67.png|800px]]</div>
<br>
=== '''Operations on Windows''' ===
* Open it after installed, shown as below:
<br>
<div style="padding-left:200px;">[[File:Orange-pi-i96-img73.png|600px]]</div>
<br>
'''3)Connect method'''<br>
<br>
Use the TTL to the serial port cable, one end connected to OrangePi, the other end connected to PC
<div style="padding-left:200px;">[[File:Orange-pi-i96-img74.png|600px]]</div>
<br>
'''4)Equipment information acquisition'''
<br>
* Select control panel on Start menu
<div style="padding-left:200px;">[[File:Orange-pi-i96-img75.png|400px]]</div>
<br>
<div style="padding-left:200px;">[[File:Orange-pi-i96-img76.png|600px]]</div>
<br>
* Click on the device manager to check the port number
<div style="padding-left:200px;">[[File:Orange-pi-i96-img77.png|400px]]</div><div style="padding-left:200px;">[[File:Orange-pi-i96-img78.png|400px]]</div>
<br>
'''5)Putty configuration'''
<div style="padding-left:200px;">[[File:Orange-pi-i96-img79.png|400px]]</div>
<br>
Serial port should set to the corresponding port number (COM5), the speed should set to 921600<br>
set window 5
</div>
<div style="padding-left:200px;">[[File:Orange-pi-i96-img83.png|600px]]</div>
<br>
'''2)Connect method for debug'''
<br>
Use the TTL to the serial port cable, one end connected to OrangePi, the other end connected to PC
<div style="padding-left:200px;">[[File:Orange-pi-i96-img84.png|600px]]</div>
<br>
'''3)Equipment information acquisition'''<br>