Difference between revisions of "User:Pau pajuelo"
From IGEP - ISEE Wiki
m (→Compile example program) |
m (→Compile example program) |
||
Line 275: | Line 275: | ||
* Copy binary file to IGEP Board | * Copy binary file to IGEP Board | ||
+ | |||
+ | == Execute program == | ||
+ | Open a remote terminal and locate your program binary: | ||
+ | <pre>root@igep00x0:~# ./gpio_example 157 </pre> | ||
+ | Result will be: | ||
+ | <pre>root@igep00x0:~# ./gpio_example 157 | ||
+ | gpio/direction: No such file or directory | ||
+ | |||
+ | poll() GPIO 157 interrupt occurred | ||
+ | ............. </pre> |
Revision as of 18:30, 14 September 2012
Contents
TODO:
Update peripheral tutorials, finish gpio example program
Categorize new tutorials
Finish tutorials below
How to manage the kernel modules on Linux
How do I edit my kernel command line
Basic Software instructions
igep.ini parameters
The kernel command line syntax is name=value1. These next parameters are supported in igep.ini since IGEP-X_Loader 2.4.0-2:
[kernel]
Parameter Name | Description | Default value | Comments |
kaddress | Kernel copy address | =0x80008000 | Hex memory address |
rdaddress | Ram Disk location address | =0x81600000 | Hex memory address; disabled by default |
serial.low | Serial number (low part) | =00000001 | Numeric |
serial.high | Serial number (high part) | =00000000 | Numeric |
revision | Revision ID | =0003 | Numeric |
kImageName | Kernel, binary image name | =zImage | Kernel or binary image name |
kRdImageName | Kernel RAM Disk Image Name | - | Ram Disk image name |
MachineID | Machine ID (kernel ID) | ;IGEPv2 =2344 |
;Module =2717 ;Proton =3203 |
Mode | Boot Mode | ;Linux kernel =kernel |
;Other image (like uboot) [binary image] |
[kparams]
Parameter Name | Description | Default value | Comments |
buddy | Enable/disable expansion board support | ;IGEPv2 Expansion Board support =igep0022 |
;Berlin and Paris Expansion Board support =base0010 New York Expansion =ilms0015 |
console | Setup the kernel console parameters | =ttyO2,115200n8 | - |
earlyprintk | Enable early printk | - | - |
mem | Setup the Board Memory Configuration | =430M | - |
boot_delay | Setup the boot delay | =0 | - |
mpurate | Setup ARM Processor Speed | - | - |
loglevel | Setup the loglevel | - | - |
debug | Enable kernel debug output | - | - |
fixrtc | Fix RTC variable | - | - |
nocompcache | Configure nocompcache variable | =1 | - |
omapfb.mode | Configure frame bugger configuration | =dvi:hd720-16@50 | ;Other configuration =dvi:1280x720MR-16@60 |
vram | Configure Video RAM assigned to every frame buffer | - | - |
omapfb.vram | Configure Video RAM assigned to every frame buffer | - | - |
omapfb.debug | Configure frame buffer debug output | - | - |
omapdss.debug | Configure DSS Video debug output | - | - |
smsc911x.mac0 | Configure Board Ethernet Mac Address | =0xb2,0xb0,0x14,0xb5,0xcd,0xde | For IGEP BERLIN |
smsc911x.mac1 | Configure Board Ethernet Mac Address | =0xb2,0xb0,0x14,0xb5,0xcd,0xdf | For IGEP BERLIN (only with IGEP PROTON) |
smsc911x.mac | Configure Board Ethernet Mac Address | =0xb2,0xb0,0x14,0xb5,0xcd,0xde | For IGEPv2, IGEP PROTON, IGEP PARIS and IGEP BERLIN |
ubi.mtd | Fot UBI FS boot | - | - |
root | Configure root directory for MMC, NFS or UBI | ;For mmc memory =/dev/mmcblk0p2 rw rootwait |
;For flash memory =/dev/mtdblock2 |
nfsroot | For NFS boot | - | - |
rootfstype | For UBI FS boot | - | - |
ip | For NFS boot | - | - |
init | Assign init program | - | - |
musb_hdrc.debug | USB debug | - | - |
musb_hdrc.use_dma | USB over network | - | - |
libertas.libertas_debug | Configure libertas debug | - | - |
board.ei485 | Enable/disable RS485 | ;Enable RS485 =yes |
;Disable RS485 =no |
board.modem | Enable/disable GPRS modem | ;Enable modem (IGEPv2 Expansion) =no |
;Enable modem (IGEPv2 Expansion) =yes |
buddy.revision | Enable hardware buddy revision [A or B] | Only for base0010 =A |
Only for base0010 =B |
How to use GPIOs (update it)
Overview
This How-To is meant to be a starting point for people to learn use GPIOs for IGEP devices as quickly and easily as possible. For this how-to i used IGEP firmware Yocto
There are more ways to use GPIOs, but this one is very simple.
Feedback and Contributing
At any point, if you see a mistake you can contribute to this How-To.
Requirements
For this How-to, i used:
- IGEPv2 Board
- GPIO example
Example program
Example program contains some libraries to control GPIOs, libraries can do:
- Export and unexport GPIOs
- Set GPIO direction
- Set GPIO value
- Get GPIO value
- Configure hardware interrupts
Example program configures a GPIO to wait a hardware interrupt. Once the GPIO value change from 0 to 1 (rising), program give you a message. This program needs a GPIO peripheral parameter, for example GPIO 157.
Compile example program
Download an Install IGEP SDK if you don't have it.
First of all you need to initialize a suitable environment in the bash shell console inside your machine.
You can do this sourcing once the environment-setup script.
jdoe@ubuntu ~ $ source /opt/poky/1.2/environment-setup-armv7a-vfp-neon-poky-linux-gnueabi
- Download source code
- Extract souce code
- Build arm binary executable:
Cross toolchain tools are available into the built-in virtual machine Poky SDK. You only need open bash terminal prompt and write commands:
jdoe@ubuntu ~/Desktop $ arm-poky-linux-gnueabi-gcc -o gpio_example gpio_examplebeta1.c
- Copy binary file to IGEP Board
Execute program
Open a remote terminal and locate your program binary:
root@igep00x0:~# ./gpio_example 157
Result will be:
root@igep00x0:~# ./gpio_example 157 gpio/direction: No such file or directory poll() GPIO 157 interrupt occurred .............