Tweeter buttonFacebook buttonLinkedin button
  • 03 Mar 2011 /  Embedded, Programming

    Darjeeling is a Virtual Machine (VM) for Micro Controller Units (MCU). It can execute a large subset of the Java language on 8- and 16-bit platforms, such as Atmega128 or MSP430.

    Features and limitations

    We designed the VM from the ground up for extremely limited devices. Where other JVMs often require at least several hundreds kB of RAM, Darjeeling can run meaningful programs in as little as 2kB. In order to achieve this we dropped several features from the Java language.

    Features:

    * Precise, compacting garbage collection
    * A 16-bit instruction set to reduce stack space consumption
    * Threads with ad-hoc stack space allocation (linked stack) and synchronisation
    * A simple method for calling with native C code from Java
    * Uses a static linking model to reduce code footprint

    Limitations:

    * Does not support reflection
    * Does not support 64-bit and floating point types
    * No support for multi-dimensional arrays
    * Does not call static class initialisers in lazy order
    * Supports a limited subset of the Java class library

    Source:
    http://darjeeling.sourceforge.net

  • 13 Oct 2010 /  Embedded

    FatFs is a generic FAT file system module for small embedded systems. The FatFs is written in compliance with ANSI C and completely separated from the disk I/O layer. Therefore it is independent of hardware architecture. It can be incorporated into low cost microcontrollers, such as AVR, 8051, PIC, ARM, Z80, 68k and etc.

    Features

    * Windows compatible FAT file system.
    * Platform independent. Easy to port.
    * Very small footprint for code and work area.
    * Various configuration options:
    o Multiple volumes (physical drives and partitions).
    o Multiple ANSI/OEM code pages including DBCS.
    o Long file name support in ANSI/OEM or Unicode.
    o RTOS support.
    o Multiple sector size support.
    o Read-only, minimized API, I/O buffer and etc…

    Source:
    http://elm-chan.org/fsw/ff/00index_e.html

  • 20 Sep 2010 /  Embedded

    This is a little mini-howto of how to run PaRTiKle RTOS using QEMU emulating x86 architecture

    First we need to make the image partikle.img that will content the .prtk file:

    dd if=/dev/zero of=partikle.img bs=1M count=130

    Once we made the img, is time to make the loop association with the image and make the partition:

    losetup -f --show partikle.img
    fdisk /dev/loop0
    p
    1
    enter (default settings)
    enter (default settings)
    w

    Because we need to map the partition tables as device, for easy access, we need to use kpartx:

    kpartx -a /dev/loop0

    Now we mount the partition and copy the .prtk and files that grub needs for install it:

    mkdir tmp
    mkfs.reiserfs /dev/mapper/loop0p1
    mount /dev/mapper/loop0p1 tmp
    cp hello_world.prtk tmp/
    mkdir -p tmp/boot/grub
    cp /usr/lib/grub/i386-pc/stage[1,2] tmp/boot/grub
    cp /usr/lib/grub/i386-pc/reiserfs_stage1_5 tmp/boot/grub/

    For install grub into image, we need to map hd0 to partikle.img and then install grub:

    echo "(hd0) partikle.img" > map
    grub --device-map=map
    >root (hd0,0)
    >setup (hd0)

    Once installed grub it’s time to create cfg file for grub editing tmp/boot/grub/menu.lst and put this:

    default 0
    timeout 10
    title partikle
    root (hd0,0)
    kernel /hello_world.prtk

    After all, run sync command and you’re right for run QEMU like we know to run :)

    Sources:
    http://www.e-rtl.org/partikle
    http://wiki.qemu.org/Main_Page

  • 06 Sep 2010 /  Embedded

    RTAI – the RealTime Application Interface for Linux – which lets you write applications with strict timing constraints for your favourite operating system. Like Linux itself this software is a community effort. If you are interested in what it does just join our mailing list and help our team!

    RTAI supports several architectures:

    * x86 (with and without FPU and TSC)
    * x86_64
    * PowerPC
    * ARM (StrongARM; ARM7: clps711x-family, Cirrus Logic EP7xxx, CS89712, PXA25x)
    * m68k (supporting both MMU and NOMMU cpus)

    The RTAI distribution includes RTAI-Lab, a tool chain to convert block diagrams into RTAI executables and to monitor their operation on various targets.

    Source:
    http://www.rtai.org

  • 27 May 2010 /  Embedded

    Blueboard is an open-source initiative at realizing cost effective prototyping and solutions using the versatile LPC 214x series of microcontrollers. Driven at present, by engineering and support from NGX Technologies, the board is provided with necessary interfaces for a quick realization of embedded solutions. NGX Technologies? Blue Board – LPC2148 is a ready-to-run development platform with code snippets to demonstrate applications for every feature supported on the board. The Blue Board offers ubiquitous interfaces making it the best board available for the offered price. All the technical information related to the project is freely available.

    Software Code:

    • Analog to Digital Converter.
    • 16×2 LCD
    • VGA .
    • UART.
    • I2C.
    • E2PROM Driver – Reading and writing to an i2c-e2prom
    • SPI – Using SPI in polled master mode to drive 8x LEDs
    • FIQ Handler.
    • Timer.
    • SoftTimer – Demonstrates multiple timers with callbacks
    • Real-Time Clock.
    • Watchdog.
    • SD/MMC access
    • PS2 – Code to demonstrate PS2 keyboard
    • Audio – Code to demonstrate wav playback
    • Buzzer- Code to demonstrate buzzer on external interrupt
    • Code Protection.

    Source:

    http://shop.ngxtechnologies.com/product_info.php?products_id=28

    http://code.google.com/p/blueboard-lpc214x/

  • 27 May 2010 /  Embedded

    FreeOSEK is a scalable RTOS for embedded systems based on OSEK-VDX specification. OSEK-VDX RTOS standard has been used successfully for more than a decade in the car industry.

    FreeOSEK is a static configurable RTOS where only the needed resources are created. This feature improves not only the RAM/ROM consumption but the runtime and real time characteristics, as well. For example usually you may need between 2 – 10 kB for the FreeOSEK RTOS, which may vary according to the platform, compiler, compiler options, configuration, etc. (see RAM/ROM consumption page for examples). This makes FreeOSEK best suitable for small and fast real time embedded systems.

    Source:
    http://opensek.sourceforge.net

  • 27 May 2010 /  Embedded

    lpcusb is a USB core stack for the built-in USB device of LPC214x microcontrollers. It handles the hardware interface and USB enumeration/configuration. Included are usage examples like USB joystick HID, USB virtual COM port and USB mass storage on SD-ca

    Source:
    http://sourceforge.net/projects/lpcusb/

  • 27 May 2010 /  Embedded

    SkyEye is an Open Source Software Project (GPL Licence). Origin from GDB/Armulator, The goal of SkyEye is to provide an integrated simulation environment in Linux and Windows. SkyEye environment simulates/emulates typical Embedded Computer Systems (Now it supports a series ARM, MIPS, PowerPC, Blackfin, Coldfire, and SPARC architecture based microprocessors). You can run some Embedded Operation System such as Embedded Linux, uClinux, uc/OS-II (ucos-ii) etc. in SkyEye, and analysis or debug them at source level.

    Source:
    http://www.skyeye.org

  • 26 May 2010 /  Embedded

    BTnode is an autonomous wireless communication and computing platform based on a Bluetooth radio and a microcontroller. It serves as a demonstration platform for research in mobile and ad-hoc connected networks (MANETs) and distributed sensor networks. The BTnode has been jointly developed at ETH Zurich by the Computer Engineering and Networks Laboratory (TIK) and the Research Group for Distributed Systems. Currently, the BTnode is primarily used in two major research projects: NCCR MICS and Smart-Its.

    The low-power radio is the same as used on the Berkeley Mica2 Motes, making the BTnode rev3 a twin of both the Mote and the old BTnode. Both radios can be operated simultaneously or be independently powered off completely when not in use, considerably reducing the idle power consumption of the device.

    The BTnode rev3

    * Microcontroller: Atmel ATmega 128L (8 MHz @ 8 MIPS)
    * Memories: 64+180 Kbyte RAM, 128 Kbyte FLASH ROM, 4 Kbyte EEPROM
    * Bluetooth subsystem: Zeevo ZV4002, supporting AFH/SFH
    * Scatternets with max. 4 Piconets/7 Slaves, BT v1.2 compatible
    * Low-power radio: Chipcon CC1000 operating in ISM band 433-915 MHz
    * External Interfaces: ISP, UART, SPI, I2C, GPIO, ADC, Timer, 4 LEDs
    * Standard C Programming, TinyOS compatible

    Source:
    http://www.btnode.ethz.ch

  • 26 May 2010 /  Embedded

    Nut/OS is based on an intentionally simple RTOS kernel, which provides a minimum of services to run Nut/Net, the TCP/IP stack. It’s features include:

    * Coperative multithreading
    * Deterministic interrupt response times
    * Priority based event handling
    * Periodic and one-shot timers
    * Dynamic memory management

    Main features of the TCP/IP stack are:

    * Base protocols Ethernet, ARP, IP, ICMP, UDP, TCP and PPP
    * User protocols DHCP, DNS, SNTP, SMTP, FTP, SYSLOG, HTTP and others
    * Socket API
    * Host, net and default routing

    Nut/OS is a modular operating system. Instead of providing a fixed kernel block, all code is packed in libraries. Only those parts are linked to the final binary image, which are directly or indirectly referenced by the application. This guarantees the lowest possible footprint. Ernst Stippl regularly publishes related figures on his web site at www.es-business.com/ethernut/.

    Standard C libraries like newlib or avr-libc are supported and allow to write highly portable applications. While direct hardware access and native interrupts are possible in application code, the system offers ready-to-use drivers for a large number of devices, including:

    * Ethernet controllers
    * UART devices with RS-232 handshake and RS-485 mode
    * SPI, I2C and CAN busses
    * MultiMedia and SD cards
    * Hardware and software audio codecs
    * Analog-to-digital converters
    * Serial flash memory
    * Realtime clocks
    * Infrared remote controls
    * Watchdogs and reset controllers
    * Character displays
    * GPIO and interrupt control
    * Modem control

    Note, that not all drivers may be available on all platforms. The following microcontrollers are actively supported:

    * ATmega103, ATmega128, ATmega2561, AT90CAN128
    * AT91SAM7S, AT91SAM7SE, AT91SAM7X
    * AT91SAM9260, AT91SAM9XE
    * Gameboy Advance

    The system is highly configurable and may work on other hardware too. Support for AVR32 is currently under development and a version for the Freescale Coldfire may become available as well. In addition it is possible to run Nut/OS applications on Linux.

    In order to hide hardware specific details from application code, an almost complete C stdio API is available, which provides:

    * C99 integer types and optional floating point I/O
    * File system support, including FAT
    * Low level functions and streams on devices, TCP sockets and files

    Nut/OS is perrmanently enhanced by an active community. The following features are currently not available, but planned for future releases or currently under development:

    * Graphical user interface
    * USB stack
    * IPv6
    * Encryption
    * Wireless LAN

    Source:
    http://www.ethernut.de/en/firmware/nutos.html

  • 26 May 2010 /  Embedded

    OpenOCD JTAG server is a open-source on-chip debug solution for targets based on the ARM7, ARM9, Cortex-M3 and XSCALE families with Embedded-ICE macrocell support via JTAG port. It enables source level debugging with the standard GNU Debugger GDB compiled for the ARM architecture. In addition internal and external FLASH memory programming is supported. Any GDB aware integrated development environment, example Eclipse IDE, IAR or Emacs, can benefit from OpenOCD.
    “Free” means that it is licensed under the General Public License (GPL).

    User interaction is realized through a telnet command line interface and a gdb (the GNU debugger) remote protocol server.

    OpenOCD supports various different types of Amontec JTAG interfaces/programmers:

    * Parallel port wigglers as:
    – Macraigor Wiggler JTAG cable (via Amontec ARM Debug ValuePack / Chameleon POD)
    – Amontec JTAG Accelerator (via Amontec ARM Debug ValuePack / Amontec Chameleon POD)
    * USB port FTDI FT2232:
    – Amontec JTAGkey (USB JTAG / 5V 3.3V 3V 2.5V 1.8V 1.5V)
    – Amontec JTAGkey-Tiny(USB JTAG / 3.3V Only)

    It supports a number of different ARM cores (Flash programming / core debugging):

    * OpenOCD for ARM ARM7TDMI (-s)
    * OpenOCD for ARM ARM9TDMI
    * OpenOCD for ARM ARM920t
    * OpenOCD for ARM ARM922t
    * OpenOCD for ARM ARM926ej-s
    * OpenOCD for ARM ARM966e
    * OpenOCD for ARM Cortex-M3

    Support for Intel XScale CPUs is also included:

    * OpenOCD for XSCALE PXA25x
    * OpenOCD for XSCALE PXA27x
    * OpenOCD for XSCALE IXP42x

    Support for the Marvell Feroceon CPU core as found in the Orion SoC family is included as well.

    Support for TI OMAP is in the pipe.

    Support for cod:blocks is in the pipe. This will enable a much easier IDE than the Eclipse IDE.

    Source:
    http://www.amontec.com/openocd.shtml

  • 25 May 2010 /  Embedded

    There’s a problem when we try to install lpc2k_pgm 1.05 flasher when we have GTK+ 2.0 (Ubuntu uses it as default in new versions – 9.10 , 10.4) because it try to use GTK+ 1.2. So then, one option is patch the Makefile, specifying to use GTK+ 2.0, and forget to install GTK+ 1.2.

    And the steps are:

    apt-get install libgtk2.0-dev
    wget http://www.pjrc.com/arm/lpc2k_pgm/lpc2k_pgm_1.05.tar.gz
    tar xzf lpc2k_pgm_1.05.tar.gz
    cd lpc2k_pgm
    wget http://lexo.lx-networks.net/lpc2k_pgm.patch
    patch -p1 < lpc2k_pgm.patch
    make

    And that's all! now you're ready to flash :D

    Note: Don't forget that you need the GTK+ 2.0

    ERROR REFERENCE
    gcc -Wall -O2 -c -o lpc2k_pgm.o lpc2k_pgm.c
    gcc -Wall -O2 `gtk-config --cflags` -c gui.c
    /bin/sh: gtk-config: not found
    gui.c:40:21: error: gtk/gtk.h: No such file or directory
    gui.c:51: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
    gui.c:52: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
    gui.c:53: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
    gui.c:54: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
    gui.c:55: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
    gui.c:56: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
    gui.c:62: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘do_quit’
    gui.c:68: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘do_program’
    gui.c: In function ‘done_program’:
    gui.c:98: warning: implicit declaration of function ‘gtk_entry_get_text’
    gui.c:98: warning: implicit declaration of function ‘GTK_ENTRY’
    gui.c:98: error: ‘firmware_entry’ undeclared (first use in this function)
    gui.c:98: error: (Each undeclared identifier is reported only once
    gui.c:98: error: for each function it appears in.)
    gui.c:98: warning: passing argument 1 of ‘file_exists’ makes pointer from integer without a cast
    gui.c:83: note: expected ‘const char *’ but argument is of type ‘int’
    gui.c:99: warning: implicit declaration of function ‘gtk_widget_set_sensitive’
    gui.c:99: error: ‘program_button’ undeclared (first use in this function)
    gui.c:99: error: ‘TRUE’ undeclared (first use in this function)
    gui.c:101: error: ‘FALSE’ undeclared (first use in this function)
    gui.c:103: error: ‘bootloader_button’ undeclared (first use in this function)
    gui.c:104: error: ‘reboot_button’ undeclared (first use in this function)
    gui.c: At top level:
    gui.c:107: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘do_reboot’
    gui.c:134: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘do_bootloader’
    gui.c:155: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘do_new_port’
    gui.c:161: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘do_new_baud’
    gui.c:167: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘do_new_file’
    gui.c:185: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘do_new_crystal’
    gui.c:195: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘do_timer’
    gui.c:210: error: expected ‘)’ before ‘data’
    gui.c:228: error: expected ‘)’ before ‘data’
    gui.c: In function ‘run_gui’:
    gui.c:246: warning: implicit declaration of function ‘gtk_signal_connect’
    gui.c:246: warning: implicit declaration of function ‘GTK_OBJECT’
    gui.c:246: error: ‘main_window’ undeclared (first use in this function)
    gui.c:247: warning: implicit declaration of function ‘GTK_SIGNAL_FUNC’
    gui.c:247: error: ‘do_quit’ undeclared (first use in this function)
    gui.c:248: error: ‘quit_button’ undeclared (first use in this function)
    gui.c:250: error: ‘port_entry’ undeclared (first use in this function)
    gui.c:251: error: ‘do_new_port’ undeclared (first use in this function)
    gui.c:252: warning: implicit declaration of function ‘GTK_COMBO’
    gui.c:252: error: ‘baud_combo’ undeclared (first use in this function)
    gui.c:252: error: invalid type argument of ‘->’ (have ‘int’)
    gui.c:253: error: ‘do_new_baud’ undeclared (first use in this function)
    gui.c:254: error: ‘firmware_entry’ undeclared (first use in this function)
    gui.c:255: error: ‘do_new_file’ undeclared (first use in this function)
    gui.c:256: error: ‘crystal_entry’ undeclared (first use in this function)
    gui.c:257: error: ‘do_new_crystal’ undeclared (first use in this function)
    gui.c:258: error: ‘program_button’ undeclared (first use in this function)
    gui.c:259: error: ‘do_program’ undeclared (first use in this function)
    gui.c:260: error: ‘reboot_button’ undeclared (first use in this function)
    gui.c:261: error: ‘do_reboot’ undeclared (first use in this function)
    gui.c:262: error: ‘bootloader_button’ undeclared (first use in this function)
    gui.c:263: error: ‘do_bootloader’ undeclared (first use in this function)
    gui.c:265: warning: implicit declaration of function ‘gtk_timeout_add’
    gui.c:265: error: ‘do_timer’ undeclared (first use in this function)
    gui.c:266: warning: implicit declaration of function ‘gdk_input_add’
    gui.c:266: error: ‘GDK_INPUT_READ’ undeclared (first use in this function)
    gui.c:266: error: ‘do_term_input’ undeclared (first use in this function)
    gui.c:267: error: ‘do_port_input’ undeclared (first use in this function)
    gui.c:269: warning: implicit declaration of function ‘gtk_main’
    gui.c: In function ‘create_window’:
    gui.c:275: error: ‘GList’ undeclared (first use in this function)
    gui.c:275: error: ‘gtk_baud_list’ undeclared (first use in this function)
    gui.c:278: warning: implicit declaration of function ‘gtk_init’
    gui.c:280: error: ‘firmware_label’ undeclared (first use in this function)
    gui.c:280: warning: implicit declaration of function ‘gtk_label_new’
    gui.c:281: warning: implicit declaration of function ‘gtk_label_set_justify’
    gui.c:281: warning: implicit declaration of function ‘GTK_LABEL’
    gui.c:281: error: ‘GTK_JUSTIFY_RIGHT’ undeclared (first use in this function)
    gui.c:282: warning: implicit declaration of function ‘gtk_widget_show’
    gui.c:284: error: ‘firmware_entry’ undeclared (first use in this function)
    gui.c:284: warning: implicit declaration of function ‘gtk_entry_new’
    gui.c:285: warning: implicit declaration of function ‘gtk_widget_set_usize’
    gui.c:286: warning: implicit declaration of function ‘gtk_entry_set_text’
    gui.c:289: error: ‘program_button’ undeclared (first use in this function)
    gui.c:289: warning: implicit declaration of function ‘gtk_button_new_with_label’
    gui.c:291: error: ‘TRUE’ undeclared (first use in this function)
    gui.c:293: error: ‘FALSE’ undeclared (first use in this function)
    gui.c:297: error: ‘line1_hbox’ undeclared (first use in this function)
    gui.c:297: warning: implicit declaration of function ‘gtk_hbox_new’
    gui.c:298: warning: implicit declaration of function ‘gtk_box_pack_start’
    gui.c:298: warning: implicit declaration of function ‘GTK_BOX’
    gui.c:304: error: ‘port_label’ undeclared (first use in this function)
    gui.c:308: error: ‘port_entry’ undeclared (first use in this function)
    gui.c:314: error: ‘baud_label’ undeclared (first use in this function)
    gui.c:318: error: ‘baud_combo’ undeclared (first use in this function)
    gui.c:318: warning: implicit declaration of function ‘gtk_combo_new’
    gui.c:320: warning: implicit declaration of function ‘g_list_append’
    gui.c:322: warning: implicit declaration of function ‘gtk_combo_set_popdown_strings’
    gui.c:323: warning: implicit declaration of function ‘gtk_entry_set_editable’
    gui.c:323: error: invalid type argument of ‘->’ (have ‘int’)
    gui.c:327: warning: implicit declaration of function ‘gtk_list_select_item’
    gui.c:327: warning: implicit declaration of function ‘GTK_LIST’
    gui.c:327: error: invalid type argument of ‘->’ (have ‘int’)
    gui.c:333: error: ‘line2_hbox’ undeclared (first use in this function)
    gui.c:341: error: ‘crystal_label’ undeclared (first use in this function)
    gui.c:345: error: ‘crystal_entry’ undeclared (first use in this function)
    gui.c:350: error: ‘mhz_label’ undeclared (first use in this function)
    gui.c:351: error: ‘GTK_JUSTIFY_LEFT’ undeclared (first use in this function)
    gui.c:354: error: ‘line3_hbox’ undeclared (first use in this function)
    gui.c:361: error: ‘reboot_button’ undeclared (first use in this function)
    gui.c:365: error: ‘bootloader_button’ undeclared (first use in this function)
    gui.c:368: error: ‘quit_button’ undeclared (first use in this function)
    gui.c:371: error: ‘line4_hbox’ undeclared (first use in this function)
    gui.c:377: error: ‘main_vbox’ undeclared (first use in this function)
    gui.c:377: warning: implicit declaration of function ‘gtk_vbox_new’
    gui.c:384: error: ‘main_window’ undeclared (first use in this function)
    gui.c:384: warning: implicit declaration of function ‘gtk_window_new’
    gui.c:384: error: ‘GTK_WINDOW_TOPLEVEL’ undeclared (first use in this function)
    gui.c:385: warning: implicit declaration of function ‘gtk_container_add’
    gui.c:385: warning: implicit declaration of function ‘GTK_CONTAINER’
    make: *** [gui.o] Error 1

  • 11 May 2010 /  Embedded, Hardware

    OpenPICUS is PIC 24F series (16 bit) based new open hardware platform with embedded wireless module (Bluetooth and Wi-Fi). The project will let developers (hardware and software) create their advanced wireless sensor applications even without any hardware experience. At this time, the project is under development. If you have great idea and want to contribute to the project, you will have a chance to get OpenPICUS evaluation board for FREE.

    Here is main characteristics of OpenPICUS:
    HARDWARE

    * CPU Microchip PIC 24F 16 bit 44 pins QFN 64K Flash 8K Ram)
    * Wireless (Bluetooth / Wi-Fi)
    * Power 5V or 3,3V
    * Main connections: UART, Digital Inputs, Digital Outputs, Analog Inputs, PWMs, SPI display, I2C
    * Connector: 26 Ways IDC header (male) suitable for TH mounting or flat cable
    * SMT: 26 Pins for direct soldering PICUS to a PCB

    Software

    * PICUS gives a possibility to upload software by a serial port (you do not need a Microchip programmer).
    * Bluetooth offers SPP, OBEX, Headset profiles.
    * Wi-Fi gives an access to the integrated webserver, TCP socket, embedded FTP and email clients.

    You can follow the project development at http://openpicus.blogspot.com/

    Surce:
    http://www.circuitlake.com/openpicus-pic-based-wireless-platform-project.html

  • 11 May 2010 /  Embedded

    SkyEye is an Open Source Software Project (GPL Licence). Origin from GDB/Armulator, The goal of SkyEye is to provide an integrated simulation environment in Linux and Windows. SkyEye environment simulates/emulates typical Embedded Computer Systems (Now it supports a series ARM, MIPS, PowerPC, Blackfin, Coldfire, and SPARC architecture based microprocessors). You can run some Embedded Operation System such as Embedded Linux, uClinux, uc/OS-II (ucos-ii) etc. in SkyEye, and analysis or debug them at source level.

    Source:
    http://www.skyeye.org

  • 11 May 2010 /  Embedded

    The aim of this project is to port and maintain RTEMS to the OpenRISC 1000 family and develop device drivers for various OpenCores peripherals.

    RTEMS is a real-time open source operating system.

    Features are:

    * free, open source code with no royalty
    * small code footprint suitable for embedded and portable applications
    * POSIX API and uITRON API
    * Scalable Architecture
    * Multitasking
    * Event-driven, priority-based, preemptive scheduling
    * Intertask communication and synchronization
    * High level of user configurability
    * TCP/IP networking with FTP, HTTP and other Internet daemons
    * File system, microwindows GUI, etc.

    Source:
    http://opencores.org/openrisc,rtems