embedded

What is a good tool for graphing sub-millisecond timelines?

I'm trying to produce a timeline for my real-time embedded code. I need to show all the interrupts, what triggers them, when they are serviced, how long they execute, etc. I have done the profiling and have the raw data, now I need a way to show the timeline graphically, to scale. I've been searching for a good tool, but haven't come ...

Direct Memory Access in Linux

I'm trying to access physical memory directly for an embedded Linux project, but I'm not sure how I can best designate memory for my use. If I boot my device regularly, and access /dev/mem, I can easily read and write to just about anywhere I want. However, in this, I'm accessing memory that can easily be allocated to any process; which...

Audio(mp3) codecs for embedded application

Hi, I'm looking for software based codec library to be used in embedded application (c/c++). I'm interested in both commercial and free codec libraries as well. Any suggestion will be welcomed. In additional if somebody have any experience with OpenSL ES and know which software/hardware solutions are compatible i will be glad to hea...

Lighting Control with the Arduino

I'd like to start out with the Arduino to make something that will (preferably) dim my room lights and turn on some recessed lighting for my computer when a button or switch is activated. First of all, is this even possible with the Arduino? Secondly, how would I switch on and off real lights with it? Some sort of relay, maybe? Doe...

Suggestions for the most appropriate (best) embedded language?

I'm looking at doing embedded coding for a device that's approximately 20MHz, has 6mb ram, with an ARM32 processor. Can anyone suggest the best / most appropriate embedded language? I'm considering: Lua TinyPy C Java ME C# someone has suggested JavaScript Any suggestions? Thanks Edit - looks like C and Lua are the winners. Cheers...

Reusable knowledge going from Embedded to Desktop

I'm thinking about switching my path "slightly" by going into desktop development (VC++, MFC, C#, etc) after about 8 years within embedded telecom systems development (C, MAKE, Symbian, 100 compilers etc, etc). My concern however is that my experience within embedded systems maybe doesn't give me much value when going into desktop devel...

Reading from 16-bit hardware registers

On an embedded system we have a setup that allows us to read arbitrary data over a command-line interface for diagnostic purposes. For most data, this works fine, we use memcpy() to copy data at the requested address and send it back across a serial connection. However, for 16-bit hardware registers, memcpy() causes some problems. If I ...

What is a good filesystem for embedded NAND drives?

Hi, I am working on an embedded application that uses NAND flash for storage. As it looks now, we won't use Linux or any other RTOS. The application must handle unexpected power downs. We have been looking on different file system solutions, including YAFFS2, JFFS2, FAT+FTL as well as solutions from HCC Embedded. I have heard FAT+FTL ...

How to debug a watchdog timeout

I have a watchdog in my microcontroller that if it is not kicked, will reset the processor. My applications runs fine for a while but will eventually reset because the watchdog did not get kicked. If I step through the program it works fine. What are some ways to debug this? EDIT: Conclusion: The way I found my bug was the watchdog b...

what does "POR" mean in embedded development?

We have a third party device we are trying to integrated into our system and one of the things our code should do is start a hardware reset by asserting a reset pin. One of the documents mentions the pin being released before the end of POR. I bit of Google has given me this but I just wanted to confirm and understand if I am on the corr...

What are some refactoring methods to reduce size of compiled code?

I have a legacy firmware application that requires new functionality. The size of the application was already near the limited flash capacity of the device and the few new functions and variables pushed it over the edge. Turning on compiler optimization does the trick, but the customer is wary of doing so because they have caused failure...

How do I add UTF-8 support, and an associated font-table, to an embedded project?

Hello, I am currently designing a font engine for an embedded display. The basic problem is the following: I need to take a dynamically generated text string, look up the values from that string in a UTF-8 table, then use the table to point to the compressed bitmap array of all the supported characters. After that is complete, I call...

Simple feedback control resources/examples

Hi, I want to implement want I think is a fairly standard feedback loop, however it's been many years since I've looked at control theory and I'm having trouble understanding the concepts and finding implementation examples. I was hoping someone might be explain in simple terms what is happening and maybe point to some resources I could...

What is the workaround for unaligned memory access exception on ARM9 using C?

Architecture ARM9. Programming Language C. We have a third-party stack and one of the calls takes a pointer(pBuffer) to a memory location. Within the stack, they are free to move around the pointer passed and access it as they wish. Unfortunately, they offset the passed in pointer and passed it into a another function that tried to do t...

Fastest method for checking overflow?

Here's my attempt. Any tips on a better solution?: // for loop to convert 32 to 16 bits uint32_t i; int32_t * samps32 = (int32_t *)&(inIQbuffer[0]); int16_t * samps16 = (int16_t *)&(outIQbuffer[0]); for( i = 0; i < ( num_samples * 2/* because each sample is two int32 s*/ ); i++ ) { overflowCount += ( abs(samps32[i]) & 0xFFFF8000 ) ?...

How to avoid code duplication between similar ISRs?

I have two interrupt service routines (ISR) which basically do the exact same thing but each handles an interrupt from a different device (although the same type of device). Therefore, the logic is the same but they access different CPU registers and memory locations. As a simple example consider the following code: extern volatile uns...

Fixed address variable in C

For embedded applications, it is often necessary to access fixed memory locations for peripheral registers. The standard way I have found to do this is something like the following: // access register 'foo_reg', which is located at address 0x100 #define foo_reg *(int *)0x100 foo_reg = 1; // write to foo_reg int x = foo_reg; // r...

Detecting if the Compact Framewok is installed on mobile device

Hi There, Ive written an application using the .net compact framework. One of the requirements is that a check is run before app runs to see if the compact framework is installed. If not I should prompt this to them and redirect them to cf download location. What would be the best most common approach to doing this. Obviously my .net w...

F/OSS for the PIC24?

I'm learning embedded programming with the PIC24, and I'm looking for something "real-world" to dig into to help me learn. Are there any free software projects that might be targeting to the PIC? Anything that I could help port, or a niche I could try to fill? ...

Best build system for embedded development/cross-compiling

I'm doing some development right now using dsPICs and I'm not exactly in love with MPLAB. I'm actually using Visual Studio with a makefile project. Currently I'm using SCons, which seems to work fairly well, after finding a helpful guide to setting up to use an alternate compiler. Still, I can't help but wonder, is there a better build ...