COM iMX25 Linux: Difference between revisions
From Wiki-DB
Jump to navigationJump to search
| Line 24: | Line 24: | ||
:* Use Eclipse Indigo (version 3.7.1) for your project. | :* Use Eclipse Indigo (version 3.7.1) for your project. | ||
:* Create a new C++ Project and choose as Executable Project type '''Cross-Compile Project''' and as Toolchains '''Cross GCC''' | :* Create a new C++ Project and choose as Executable Project type '''Cross-Compile Project''' and as Toolchains '''Cross GCC''' | ||
:* Click the Button "Next" and specify under '''Tool command path''' the Toolchain path. | :* Click the Button "Next" and specify under '''Tool command path''' the Toolchain path. | ||
::*CodeSourcery: | |||
:::Folder "'''/opt/CodeSourcery/Sourcery_G++_Lite/bin'''" | |||
:::Prefix type "'''arm-none-linux-gnueabi-'''" | |||
::*Emdebian Toolchain: | |||
:::Folder "'''/usr/bin'''" | |||
:::Prefix type "'''arm-linux-gnueabi-'''" | |||
==<br/>Building your own Kernel == | ==<br/>Building your own Kernel == | ||
Revision as of 09:16, 18 July 2012
FAQ
Linux virtual machine for development
Get the Virtual machine
- (mirror 1)
Password for devel user: devel
Password for root user: root
- (mirror 1)
Version: File: Changes: v1.3 Debian Squeeze v1.3.zipx - Mono 2.10<br\>- mtd-utils<br\>- System updates v1.2 Debian Squeeze v1.2.zipx - Emdebian Toolchain gcc 4.3 / g++ 4.3 (arm-linux-gnueabi-...)<br\>- TortoiseHg + TortoiseHg for Nautilus<br\>- Add Plugin "REST Client" in Iceweasel v1.1 Debian Squeeze v1.1.zipx - Update Eclipse Indigo with CDT 8.0<br\>- Add demo project "crosshelloworld" v1.0 Debian Squeeze.zipx - First Release<br\>- CodeSourcery Toolchain (arm-none-linux-gnueabi-...)<br\>- Eclipse Helios & Indigo
Setting up a Eclipse Cross Executable Project:
- Use Eclipse Indigo (version 3.7.1) for your project.
- Create a new C++ Project and choose as Executable Project type Cross-Compile Project and as Toolchains Cross GCC
- Click the Button "Next" and specify under Tool command path the Toolchain path.
- CodeSourcery:
- Folder "/opt/CodeSourcery/Sourcery_G++_Lite/bin"
- Prefix type "arm-none-linux-gnueabi-"
- Emdebian Toolchain:
- Folder "/usr/bin"
- Prefix type "arm-linux-gnueabi-"
Building your own Kernel
Sources for the iMX25 Kernel:
How to build a kernel:
1. Start the Console on Linux 2. Copy the above mentioned source files into our work_path3. cd work_path4. tar xfjv linux-2.6.38.tar.bz25. cd work_path/linux-2.6.386. patch -p1 <linux-2.6.38_DHCOM_iMX25.patch7. cp .config work_path/linux-2.6.388. ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- make uImage
- The
uImagefile will you find in../build-linux/arch/arm/boot
Update the kernel with U-Boot
- The linux kernel will be updated by the U-Boot flash update.
1. Copy the uImageanduImage.envfile onto a microSD card with a FAT file system (you can use the 1st partition on the microSD card)2. Insert the microSD card and start the system 3. Go to the U-Boot console by pressing DEL on a RS232 terminal (during startup) 4. update linux
How to use/update our root file system
- 1. Format a microSD card like following (in linux e.g. you can use palimpsest) with Master Boot Record partition scheme
P1 FAT (Primary partition: 100MB) P2 ext3 (Primary partition: Residual space)
- 2. Untar the root file system to the ext3 partition of the microSD card (Don't copy the tar archive directly to the microSD card)
Start the Console on Linux suchmod 755 /path/of/the/microSD_cardcd /path/of/the/microSD_cardtar xfjv path/to/RootFS/Name_of_RootFS_file.tar.bz2
How to control the display brightness
echo <value> >/sys/devices/platform/imx-fb.0/backlight/imxfb-bl/brightness
- value range: 0..255
How to control the GPIOs
DHCOM Name: Port: Pin: Linux GPIO # GPIO A 2 12 44 GPIO B 3 21 85 GPIO C 2 4 36 GPIO D 2 5 37 GPIO E 2 6 38 GPIO F 2 7 39 GPIO G 2 8 40 GPIO H 2 9 41 GPIO K 2 10 42
- Export
echo <GPIO#> >/sys/class/gpio/export
- Set direction
echo in >/sys/class/gpio/gpioXX/directionecho out >/sys/class/gpio/gpioXX/direction
- Set value
echo 0 >/sys/class/gpio/gpioXX/valueecho 1 >/sys/class/gpio/gpioXX/value
- Get value
cat /sys/class/gpio/gpioXX/value
- unexport
echo <GPIO#> >/sys/class/gpio/unexport
Debian system
Calibrating the touchscreen
TSLIB_TSDEVICE=/dev/input/event0 ts_calibrate
Running example Qt Apps
QWS_MOUSE_PROTO=Tslib:/dev/input/event0 /usr/qt/demos/demoname/demoname -qws
- For the Qt-Browser change
demonametobrowser
Login/Shutdown system
Username: root Password: foo
shutdown -h now
Initialize and test CAN
- Initialize:
ip link set can0 up type can bitrate 500000
- Send test message via cansend (part of can-utils):
cansend can0 100#11.2233.44556677.88
Busybox system
Calibrating the touchscreen
TSLIB_TSDEVICE=/dev/event0 ts_calibrate
Running example Qt Apps
QWS_MOUSE_PROTO=Tslib:/dev/event0 /usr/qt/demos/demoname/demoname -qws
- For the Qt-Browser change
demonametobrowser
Login/Shutdown system
Username: root Password: n/a
halt