embedded

Is ubuntu 9.04 good choice for embedded linux application development ?

Hi Friends, I want to change linux distro my Development(Host) Machine which I use for embedded development. I cross-compile applications for many different processors. It is required for me to download different different libraries to evaluate their functionality/Performance/Stability on different devices , as well as on PC. So Is ub...

Why are C, C++, and LISP so prevalent in embedded devices and robots?

It seems that the software language skills most sought for embedded devices and robots are C, C++, and LISP. Why haven't more recent languages made inroads into these applications? For example, Erlang would seem particularly well-suited to robotic applications, since it makes concurrent programming easier and allows hot swapping of co...

Arduino: Lightweight Compression Algorithm to store data in EEPROM

I want to store a shitload of data onto my Arduino whith ATmega168/328 Controller, but unfortunately there's only 256KB / 512KB of EEPROM storage. My idea is to make use of an compression algorithm to strip down the size. But well, my knowledge on compression algorithms is quite low and my search for ready-to-use libraries failed. So,...

Code Banking with SDCC

I need to use code banking in an 8051 microcontroller to fit all the code. SDCC says it supports it, but I'm having trouble at the linking step. I have a test project with 3 files: main.c, func1.c, and bank.asm. The main function should call func1() and then sit in a while loop. But func1() is in a different code bank. // main.c int...

How do I continuously send and receive with wireless serial-port in 8051?

Hello everyone! I'm trying to make a microcontroller communicate with a program on my desktop. I'm using serial port connections with Xbee radios on both ends. The communication works fine when I send something from the microcontroller to the desktop and the program on the desktop then sends something back to the microcontroller. Ho...

Determine at runtime if Windows CE operating system is built against a particular processor type (eg. ARMV4/ARMV4I/ARMV4T)

Is there a way to determine if a Windows CE operating system is targeted against ARMV4 or ARMV4I or ARMV4T. I am aware of the IsProcessorFeaturePresent() API call on coredll however as far as I can tell, it only allows you to determine the presence of the thumb instruction set. What I really want to detect is if the O/S is built with ...

Macro indicating I/O pins used

I'm writing firmware for a PIC32MX, using HiTech PICC32. One of the problems I want to avoid is that since most of the pins have multiple names (eg. AN0 = RB0 = CN2 = PGED1), I or someone else might accidentally use RB0 without realising that AN0 is already used. (This can actually be catastrophic, since incorrectly configuring an analog...

Multithreading using C on PIC18

How does one create threads that run in parallel while programming PIC18, since there is no OS? ...

Micro-controller 8051: How to get addresses of inputs to JB & CJNE instructions?

I'm implementing whole set of 8051 instructions in VHDL from scratch. Most of things went well but stumbled on these 2 instructions: JB bit,rel 00100000 bit_address rel_address CJNE A,#data,rel 10110100 immediate_data rel_address Any help or hint is greatly appreciated. Thank you in advance! ...

Linux block device simulation & Fuse

Hello everyone My project involves simulating a block device by remote host. For testing I am using FUSE, my file system is a simple change of the "hello" example app, where instead of returning a constant string I just read data directly from a file. When I try to mount the file normally (mount -o loop=/dev/loop1 ) it works well. Wh...

viewing a structure in MPLAB watch window

I want to view a structure in the MPLAB watch window, but when I select it from the "Add symbol" drop down menu I get, "Unsupported Structure". I was hoping to look for an answer on microchip's forums, but the site seems to be down, so I thought I would test this community out. Why is the structure "unsupported"? How can I get it sup...

How do I keep time without cumulative error?

How can you keep track of time in a simple embedded system, given that you need a fixed-point representation of the time in seconds, and that your time between ticks is not precisely expressable in that fixed-point format? How do you avoid cumulative errors in those circumstances. This question is a reaction to this article on slashdot....

How to Get Ambient Temp from Arduino Lilypad Temperature Sensor

I am connecting a LilyPad Temperature sensor to a LilyPad Arduino 328 Main Board with the goal of reading fairly accurate ambient temperature readings. The sensor is receiving power and giving a responses I'm able to read over serial. The problem I am confronted with is that reading from the sensor is giving me very unusual - although ...

How to handle changing data structures on program version update?

I do embedded software, but this isn't really an embedded question, I guess. I don't (can't for technical reasons) use a database like MySQL, just C or C++ structs. Is there a generic philosophy of how to handle changes in the layout of these structs from version to version of the program? Let's take an address book. From program versi...

Circular Buffer in Flash

I need to store items of varying length in a circular queue in a flash chip. Each item will have its encapsulation so I can figure out how big it is and where the next item begins. When there are enough items in the buffer, it will wrap to the beginning. What is a good way to store a circular queue in a flash chip? There is a possibi...

What are some ideas for an embedded and/or robotics project?

I'd like to start messing around programming and building something with an Arduino board, but I can't think of any great ideas on what to build. Do you have any suggestions? ...

Downloading data to a PIC micro from the web

I have a client that would like a small PIC board that plugs into a PC's USB as a dongle in HID mode. It would basically just transfer small amounts of data over RF to another device across the room. They would like the data to come from the web. ie. user clicks a link in their browser which wakes up the PIC board and begins a download t...

Is R Embeddable

Hello, I'm thinking to start learning R, but I want to know one thing, Is it embeddable(Windows CE, Palm OS)? ...

Linkers and architectures

Why do we have linkers for different architectures? Service of the linker is to resolve addresses. So how it is related to the instructions of target architecture? ...

How to get the root cause of a memory corruption in a embedded environment ?

Hello, I have detected a memory corruption in my embedded environment (my program is running on a set top box with a proprietary OS ). but I couldn't get the root cause of it. the memory corruption , itself, is detected after a stress test of launching and exiting an application multiple times. giving that I couldn't set a memory break ...