embedded-systems

When should I use type abstraction in embedded systems

I've worked on a number of different embedded systems. They have all used typedefs (or #defines) for types such as UINT32. This is a good technique as it drives home the size of the type to the programmer and makes you more conscious of chances for overflow etc. But on some systems you know that the compiler and processor won't change...

How do I get started in embedded programming?

I would like to get started in embedded systems programming but don't know where to start...I have a very solid knowledge of C and C++ and would preferably like to use these languages with the GNU compilers. I have a degree in CS so I have a solid foundation... I have no clue about what hardware and other resources that I will need...I...

What are the best practices for embedded systems development?

Embedded software development has its own set of unique development challenges. What best practices have you found that work and what practices do not work so well? For example, I have found that: a well layered approach is essential for testing embedded systems. This allows some code to be unit tested on a more capable target such a...

How do you set, clear and toggle a single bit in C?

How to set, clear and toggle a bit in C? ...

What is a jump table?

Can someone explain the mechanics of a jump table and why is would be needed in embedded systems? ...

Is there an alternative to using % (modulus) in C/C++?

I read somewhere once that the modulus operator is inefficient on small embedded devices such as 8 bit micros without integer division operator. Perhaps someone can confirm this but I thought the difference is 5-10 time slower than with an integer division operation. Is there another way to do this other than keeping a counter variable ...

Checking network status and controlling PPP in a program

So I'm running PPP under linux with a cellular modem. The program I'm writing needs to know if the link is active before sending any data. What are my options to check if the link is available if it routes to a server I control (it doesn't go to the internet as I said earlier) Also, what is the best way to restart it - I'd like to ...

How to support multiple languages on a microcontroller?

I'm currently working on upgrading a product for the Chinese market. The target is a ARMTDMI7 with a QVGA display. Most resources I've located on the net are targeted at desktop or web programming rather than embedded devices. Can anyone suggest some tools and resources that might be useful? What are the best techniques for extracting ...

GPS and Embedded Development - Where to find resources?

I'm just starting to design some embedded devices, and am looking for resources. What I want to be able to do is to connect a GPS receiver to a lightweight SBC or mini-ITX, x86-based computer, and track a remote-controlled vehicle's location/progress. Ideally, this could morph into building some hobby, semi-autonomous vehicles. But wh...

C (or any) compilers deterministic performance

Whilst working on a recent project, I was visited by a customer QA representitive, who asked me a question that I hadn't really considered before: How do you know that the compiler you are using generates machine code that matches the c code's functionality exactly and that the compiler is fully deterministic? To this question I ha...

Learning kernel hacking and embedded development at home?

I was always attracted to the world of kernel hacking and embedded systems. Has anyone got good tutorials (+easily available hardware) on starting to mess with such stuff? Something like kits for writing drivers etc, which come with good documentation and are affordable? Thanks! ...

Rollover safe timer (tick) comparisons

I have a counter in hardware that I can observe for timing considerations. It counts miliseconds and is stored in a 16 bit unsigned value. How do I safely check if a timer value has passed a certain time and safely handle the inevitable rollover: //this is a bit contrived, but it illustrates what I'm trying to do const uint16_t print_in...

Power Efficient Software Coding

In a typical handheld/portable embedded system device Battery life is a major concern in design of H/W, S/W and the features the device can support. From the Software programming perspective, one is aware of MIPS, Memory(Data and Program) optimized code. I am aware of the H/W Deep sleep mode, Standby mode that are used to clock the hardw...

Misra standard for embedded software.

Hi I have a requirement to make a large amount of code MISRA compliant. First question: Can somebody to give an estimation for passing well written code for embedded system based on experience. I understand that "well written" is poorly defined and vague so i ask for raw estimation. Second question: Any recommendation for tool that can ...

Gadzooks! Architectures abound! Looking for an embedded processor/controller taxonomy

I am looking for a taxonomy of embedded processors. Which processors belong to which families? Who decends from whom? Does anyone here know of a simple article that describes it? ...

To write a bootloader in C or C++?

I am writing a program, more specifically a bootloader, for an embedded system. I am going to use a C library to interact with some of the hardware components and I have the choice of writing it either in C or C++. Is there any reason I should choose one over the other? I do not need the object oriented features of C++ but it does have a...

Activate Item on Button Press or Button Release.

I have a simple GUI that I am developing for an embedded system. The menus can be navigated with the up/down keys and an item can be activated by pressing a confirm key. Presently there are no double presses or long presses planned, but they might be implemented in future releases. Right now the keys are processed on key release. I like ...

Enable / Disable database in CAPL

I'm hoping that there are some people here that have used Vector's CANalyzer product before....specifically in programming CAPL nodes. Anyway, my question is in regards to the possibility to enable / disable a database on startup. I'm attempting to create a generic configuration out of several that we currently use. In doing this, I w...

Web Interface identical to Qt user interface

I'm working on a embedded system with a display. The user interface was developed using Qt. How can I develop a web interface that looks identical to the existing Qt interface, and gives the same user experience on the web. The Qt GUI is accessing the device functionalities through an interface library. Is there a way to generate web ...

ARM vs X86 : How to make a choice ?

I have recently seen 32 bit ARM processors. I wonder why we can't construct a desktop computer using it. In that case how it differ from X86 ? Do the ARM architecture consume less power ..is it the reason of using them in embedded systems ? Why do we have two (ARM and X86) processor architectures ? Why do we generally use ARM architec...