Template:DebianVM Development

From Wiki-DB
Jump to navigationJump to search

Debian 8 "Jessie" VMware Image

Get the virtual machine

Version: File: Changes:
v1.2 Debian Jessie v1.2.zip - Debian Security updates
- Qt Creator + Support for imx6 modules + Demos
- Update elbe to v1.0
- Add some tools / editors
v1.1 Debian Jessie v1.1.zip - Compatibility VMware player 6.0
v1.0 Debian Jessie v1.0.zip - New Debian 8 VM

Installed Toolchains

Debian Multiarch Cross Toolchain

Both armhf and armel Cross Toolchains are preinstalled. They should be used for cross development of native Linux applications. They are downloaded and installed with the Debian Package Manager.

  • armhf: arm-linux-gnueabihf-
  • armel: arm-linux-gnueabi-

Install directory is /usr/bin/. Please have a look at the preconfigured Examples for cross development using the Eclipse IDE.

Linaro GCC 4.9 armhf

Used for building the Linux Kernel for our ARMv7 DHCOM devices.

  • armhf: arm-linux-gnueabihf-

Install directory is /opt/gcc-linaro-4.9-2014.11-x86_64_arm-linux-gnueabihf/bin/. Please refere the section "Linux Kernel" for the matching DHCOM device.

CodeSourcery GCC 4.5 armel

Used for building the Linux Kernel for our ARMv5 DHCOM devices.

  • armel: arm-none-linux-gnueabi-

Install directory is /opt/CodeSourcery-2011.03-41/bin/. Please refere the section "Linux Kernel" for the matching DHCOM device.

Debian 6 "Squeeze" VMware Image

Get the virtual machine

Version: File: Changes:
v1.5 Debian Squeeze v1.5pw.zip - Update VMware Tools<br\>- DH UBI-Tools<br\>- Language: English<br\>- System updates
v1.4 Debian Squeeze v1.4pw.zip - ELBE v0.3.1<br\>- ELDK 4.2<br\>- Qt Creator 2.6.1 + Qt target libs 4.7.2<br\>- System updates
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-"

Code Examples for Userspace-Applications to Access SPI, I2C, GPIOs, and more

  • The following code samples are designed to get you started quickly with the device interfaces to SPI, I2C, GPIOs and more in Linux userspace applications.
  • Within Eclipse you can Import the provided projects:
  • Execute ">File>Import ..."
  • Navigate to ">General>Existing Projects into Workspace" within the import dialog
  • Follow the dialog until you have finished.
Download Code Examples SPI, I2C, GPIOs and more
  • Included Demos:
  • SPI
  • I2C
  • GPIO
  • RTC
  • UART
  • Watchdog
  • ADC (only for i.MX25)
Download C++ HAL class library for SPI, I2C, GPIO, UART and physical address space access


Booting via NFS

  • Prepare the virtual machine
  • Place the root file system in the folder "/work/nfsroot"
  • Check whether the line below is part of the "/etc/exports" file
/tftpboot/nfsroot X.X.X.0/255.255.255.0(rw,no_root_squash,no_subtree_check,insecure)
The X must be substituted by our network settings
  • Restart the nfs-server by using this commando
/etc/init.d/nfs-kernel-server restart
  • Prepare the DHCOM module
  • Go to the U-Boot console by pressing DEL/BACKSPACE on a RS232 terminal (during startup)
  • Change to NFS mode
setenv bootcmd 'run nandbootlinuxnfs'
(Back to normal with 'run nandbootlinux')
  • Set the IP address of the nfs-server (normally the IP address of the virtual machine)
setenv serverip X.X.X.X
The X must be substituted by our IP address
  • Save environment
saveenv