embedded

Why is Read-Modify-Write necessary for registers on embedded systems?

I was reading http://embeddedgurus.com/embedded-bridge/2010/03/different-bit-types-in-different-registers/, which said: With read/write bits, firmware sets and clears bits when needed. It typically first reads the register, modifies the desired bit, then writes the modified value back out and I have run into that consrtuct while m...

What are some good books on software testing/quality?

I'm looking for a good book on software quality. It would be helpful if the book covered: The software development process (requirements, design, coding, testing, maintenance) Testing roles (who performs each step in the process) Testing methods (white box and black box) Testing levels (unit testing, integration testing, etc) Testing p...

STM32 I2C1 Start bit not set on SR1 register

Hi guys, I am trying to program the stm32 to talk to my i2c EEprom, but it seems like everytime I say: I2C_GenerateSTART(I2C1, ENABLE); while( !(I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_MODE_SELECT)) ); the code hangs here I went through with the debugger and I found that the SR1 bit 0 flag (which is the start bit generated flag) is no...

Are MIFARE smart cards programmable in sense I could write a program they could execute?

Variations of MIFARE Ultralight cards are becoming quite widespread. For example, huge transport companies employ them as payment cards. As I get from MIFARE site and Wikipedia there's a full-blown microcomputer inside the card - with a processor, memory, etc. When I move the card close to the reader its field induces current in the car...

Are there any FreeRTOS interpreted language libraries available?

I work for a company that created firmware for several device using FreeRTOS. Lately our request for new features has surpassed how much work our firmware engineers are capable of, but we can't afford to hire anyone new right now either. Making even tiny changes requires firmware people to go in and modify things at a very low level. ...

SSL_accept hangs... sometimes ( C, linux, openssl )

I'm currently working on an embedded linux system. There are two crucial client applications on the system that connect to an external server ( on another embedded system, all written in C ). The two apps use different certificates. The ssl connection works... At least usually, but from time to time an error occures: the server hangs on...

Driver Component Confusion with Windows Embedded

Hi - I need some help from someone familiar with Windows Embedded Target Designer and Component Designer: On my Windows Embedded image I have two driver components that are "conflicting", but not for IO reasons. The first driver component is the touchscreen driver that includes its own serial port enumerator called pmserenum.sys. Th...

AVR Analog Comparator + Internal Pullup?

I have what I hope is a simple question pertaining to the Atmel AVR microcontrollers. So I want to use the ATTiny85's Analog Comparator to determine if a signal is above or below a threshold. This signal is normally "floating" and pulled toward ground when "active" (i.e. it's an active low - open collector signal). If I enable the pullup...

Low level qemu based debugging

I've to test some low level code on an ARM architecture. Typically experimentation is quite complicated on the real board, so I was thinking about QEMU. What I'd like to get is some kind of debugging information like printfs or gdb. I know that this is simple with linux since it implements both the device driver for the QEMU Integrator ...

How can I run ARM code from external memory?

I am using an LPC2132 ARM chip to develop a program. However, my program has grown larger than the space on the chip. How can I connect my chip to some sort of external memory chip to hold additional executable code? Is this possible? If not, what do people normally do when they run out of chip space? ...

Are there advantages to using Windows 7 Embedded for a kiosk-type application?

Have you used Windows 7 Embedded, what did you think of it, and are there advantages of using it vs. normal Windows 7 for a kiosk-type application? ...

On-the-fly lossless image compression

I have an embedded application where an image scanner sends out a stream of 16-bit pixels that are later assembled to a grayscale image. As I need to both save this data locally and forward it to a network interface, I'd like to compress the data stream to reduce the required storage space and network bandwidth. Is there a simple algori...

Using an array in embedded x86 assembly??

Hey all I have a method (C++) that returns a character and takes an array of characters as its parameters. I'm messing with assembly for the first time and just trying to return the first character of the array in the dl register. Here's what I have so far: char returnFirstChar(char arrayOfLetters[]) { char max; __asm { push eax...

How to find an embedded platform?

I am new to the locating hardware side of embedded programming and so after being completely overwhelmed with all the choices out there (pc104, custom boards, a zillion option for each board, volume discounts, devel kits, ahhh!!) I am asking here for some direction. Basically, I must find a new motherboard and (most likely) re-implement...

TI MSP430 Interrupt source

Guys, I know that when working with the MSP430F2619 and TI's CCSv4, I can get more than one interrupt to use the same interrupt handler with code that looks something like this: #pragma vector=TIMERA1_VECTOR #pragma vector=TIMERA0_VECTOR __interrupt void Timer_A (void){ ServiceWatchdogTimer(); } My question is, when I find myself in...

UART speed possibly wrong

My brain is fried, so I thought I would pass this one to the community. When sending 1 character to my embedded system, it consistently thinks it receives 2 characters. The first received character seems to map to the transmitted character (in some unkown way) and the second received character is always 0xff Here is what I observed: T...

Is 0x9B (155decimal) a special control character? Why is it missing from ascii tables?

Hi, I'm working on an embedded system, and i'm having dramas getting it to send a certain chunk of data across the serial port. I narrowed it down and found that if a 0x9B is present in the message, it corrupts the message. So i then look up 0x9b (155) on http://www.asciitable.com/, and it's missing! Isn't that a bizarre coincidence! A...

Change an array's value in x86 assembly (embedded in C++)

I am messing around with assembly for the first time, and can't seem to change the index values of an array. Here's the method I am working on int ascending_sort( char arrayOfLetters[], int arraySize ) { char temp; __asm { //??? } } And these are what I tried mov temp, 'X' mov al, temp mov arrayOfLetters[0], al ...

write data to register

i have the memory address of certain register(the address LCDCW1 is C000). c codes: #define LCDCW1 0xC000 *LCDCW1=0x31; i just want to write data to this register. The codes have problems, how to correct it? thx! ...

Are there any lightweight analogues to CORBA/RPC for embedded programs?

I am writing embedded applications for different hardware (avr, arm7, tms55xx…) and different rtoses (freeRTOS, rtx, dsp/bios). And every second of them needs to communicate with PC or another digital device. Sometimes interactions logic is very advanced. So I'm interesting in common methodology (like state-machine programming style), pr...