Difference between revisions of "What can I do with IGEP SMARC iMX6"

From IGEP - ISEE Wiki

Jump to: navigation, search
Line 87: Line 87:
 
'''under construction'''
 
'''under construction'''
  
== Boot SATA ==
+
== Install firmware in eMMC ==
  
'''under construction'''
+
In order to access the eMMC and be capable of flashing it, we can make use of the UMS (U-boot Mass Storage gadget).
 +
* Plug a microUSB to USB cable from J602 USB OTG connector to your computer. Boot the board from the microSD card and abort autoboot pressing a key when U-boot is waiting before loading the kernel. Then, start UMS with the following command:
 +
 
 +
<pre>ums 0 mmc 1</pre>
 +
 
 +
''Where 0 is the USB device number 0 (USB OTG, in this case), mmc is the kind of storage device to be read (mmc or sata), and 1 is the storage device number, in this case mmc1 (onboard eMMC).''
 +
 
 +
* If correctly done, U-boot should print something similar to the next line, and a mass storage device should appear in your computer.
 +
 
 +
<pre>UMS: disk start sector: 0x0, count: 0xe90000</pre>
 +
 
 +
* You can now backup its contents, as well as format it, make partitions, or [http://labs.isee.biz/index.php/How_to_create_a_SD-card_with_the_latest_software_image use igep-media-create to flash it with an image]; all straight from the computer.
  
== Boot emmc ==
+
== Boot from SATA ==
  
 
'''under construction'''
 
'''under construction'''
  
== Install firmware emmc ==
+
== Boot from eMMC ==
  
'''under construction'''
+
Once the eMMC has been flashed, the board can boot from it.
 +
* Just by changing the jumper in J1202 from BOOT0 to BOOT1, the board will try and boot from eMMC.
  
 
== How to use EEPROM  ==
 
== How to use EEPROM  ==

Revision as of 13:27, 26 May 2016


Overview

This is the 2/3 chapter of the Getting Started with IGEP SMARC iMX6 Tutorial Guide.

In this second chapter, we will learn some basics tasks. Upon completion, you will be ready to continue with chapter 3/3 that explains more advanced tasks.



What can I do

You must logged in the board.

Handle the GPIO-LEDS

The board has two user bicolor (green/red) leds available that can be controlled. In its simplest form, you can control of LEDs from userspace. LEDs appear in /sys/class/leds/igep and you can turn on and off with following commands:

echo 1 > /sys/class/leds/igep\:red\:led1/brightness
echo 1 > /sys/class/leds/igep\:red\:led0/brightness
echo 0 > /sys/class/leds/igep\:red\:led1/brightness
echo 0 > /sys/class/leds/igep\:red\:led0/brightness
echo 1 > /sys/class/leds/igep\:green\:led1/brightness
echo 1 > /sys/class/leds/igep\:green\:led0/brightness
echo 0 > /sys/class/leds/igep\:green\:led1/brightness
echo 0 > /sys/class/leds/igep\:green\:led0/brightness

If you want to trigger the leds you can enable this mode and select the trigger source (none by default) to: mmc0, mmc1, timer, heartbeat and default-on.

To enable any of this modes you just have to change a parameter in the directory of the led you want to control. You can see all the possibilities using the instruction 'cat':

cat /sys/class/leds/igep\:red\:led0/trigger

[none] mmc0 mmc1 timer heartbeat default-on

In the example above, we have checked the status of the trigger in led red\led0. Mode 'none' is selected.

To change it, for example, to the timer mode you can use 'echo':

echo timer > /sys/class/leds/igep\:red\:led0/trigger

In this case, we have set the trigger to the 'timer' mode. Now you can set the time for what the led is ON and the time it is OFF using:

echo 250 > /sys/class/leds/igep\:red\:led0/delay_on
echo 750 > /sys/class/leds/igep\:red\:led0/delay_off

Now the selected led is configured with a timer consisting of 250 miliseconds ON and 750 miliseconds OFF.

The base has two user (red/blue) leds available that can be controlled. Can't use them in the same time. In its simplest form, you can control of LEDs from userspace. LEDs appear in /sys/class/leds/base and you can turn on and off with following commands:

echo 1 > /sys/class/leds/base\:blue\:led0/brightness
echo 1 > /sys/class/leds/base\:red\:led0/brightness
echo 0 > /sys/class/leds/base\:blue\:led0/brightness
echo 0 > /sys/class/leds/base\:red\:led0/brightness

How to use UART (RS485)

under construction

CAN BUS

under construction

Audio

under construction

Install firmware in eMMC

In order to access the eMMC and be capable of flashing it, we can make use of the UMS (U-boot Mass Storage gadget).

  • Plug a microUSB to USB cable from J602 USB OTG connector to your computer. Boot the board from the microSD card and abort autoboot pressing a key when U-boot is waiting before loading the kernel. Then, start UMS with the following command:
ums 0 mmc 1

Where 0 is the USB device number 0 (USB OTG, in this case), mmc is the kind of storage device to be read (mmc or sata), and 1 is the storage device number, in this case mmc1 (onboard eMMC).

  • If correctly done, U-boot should print something similar to the next line, and a mass storage device should appear in your computer.
UMS: disk start sector: 0x0, count: 0xe90000

Boot from SATA

under construction

Boot from eMMC

Once the eMMC has been flashed, the board can boot from it.

  • Just by changing the jumper in J1202 from BOOT0 to BOOT1, the board will try and boot from eMMC.

How to use EEPROM

EEPROM can be read and write via /sys/devices/soc0/soc.0/2100000.aips-bus/21a8000.i2c/i2c-2/2-0050/eeprom:

  • Write EEPROM:
echo "data" > /sys/devices/soc0/soc.0/2100000.aips-bus/21a8000.i2c/i2c-2/2-0050/eeprom 
  • Read EEPROM:
cat /sys/devices/soc0/soc.0/2100000.aips-bus/21a8000.i2c/i2c-2/2-0050/eeprom
  • Following output is expected on console:
data
d
drate=115200boot_fdt=trybootcmd=echo Try first mmc (SD)...; mmc dev ${mmcdev};if mmc rescan; then if run loadbootscript; then run bootscript; else if run loadimage; then run mmcboot; fi; fi; fi; echo Try a
d
drate=115200boot_fdt=trybootcmd=echo Try first mmc (SD)...; mmc dev ${mmcdev};if mmc rescan; then if run loadbootscript; then run bootscript; else if run loadimage; then run mmcboot; fi; fi; fi; echo Try a
d
drate=115200boot_fdt=trybootcmd=echo Try first mmc (SD)...; mmc dev ${mmcdev};if mmc rescan; then if run loadbootscript; then run bootscript; else if run loadimage; then run mmcboot; fi; fi; fi; echo Try a
d

When ever you think you want to stop recording just press CTRL+C

How to use SPI NOR

Can be read and write files into SPI NOR:

  • Create a directory:
mkdir Documents 
  • Create a file in the directory:
cd Documents/
touch prova
  • Write something in the file:
echo "data" > prova
  • Write the file into SPI NOR:
mtd_debug write /dev/mtd0 0 1 ./Documents/prova
  • Read the file:
mtd_debug read /dev/mtd0 0 1 prova


IO expansion

under construction

wifi

under construction

HDMI resolution

under construction

modem USB

under construction



You have successfully completed this chapter of the guide.


Continue this tutorial guide: 3/3 - Start developing under IGEP Technology
Igep forum.png If you have any question, don't ask to ask at the IGEP Community Forum or the IGEP Community Chat Irc.png