Prototyping and simulating embedded software on Windows

but it does not interface with the C code seamlessly. As I remember, VB can make calls to DLLs, which might be written in C, but then you need to jump hoops to debug the separate DLLs. However, maybe my experience is outdated. I'd really love to hear if you found a way to easily debug the embedded C code that's the main focus here.

C++ 2003), there is also free Borland 5.5

formatting link
This is also just a command-line toolset.

replied in an attempt to get off the reply list so I stop getting emails.

Reply to
Loading thread data ...


If you receive too much email from a Google group, like comp.arch.embedded, you need to change your membership settings.

To do so, you click on "My membership" button at the top of your browser window. This opens a dialog box, in which you can select the "No Email" radio button.


Reply to
Miro Samek

I'll second this, you can pick up how to use WxWidgets in a few hours, eith= er in C++ or Python (my choice), and your application can just be done by w= riting to a bitmap of the same dimensions as the LCD and then copying it to= a window. Buttons and all the other controls are easy to implement. If you use Python there is a wonderful collection of demos that will get yo= u half-way there, and there is an excellent book available on WxPython, I k= now it's good, I lent out my first copy and I never got it back!

Reply to

d tools--and especially the GDB--are horrible for Windows development (this= includes Eclipse with CDT and GDB under the hood). I don't think one can a= ctually achieve any true productivity gains with the flaky GDB debugger, wh= ich of course defeats the whole purpose of moving the development to the de= sktop in the first place. I made this experience with Qt development. I sta= rted with the Qt Creator IDE, but quickly got frustrated and disappointed. = I finally switched to Visual Studio and the difference was like night and d= ay. I was at least an order of magnitude more productive.=20

I believe Atmel changed to Visual Studio with their latest Studio 6. We can be sure they looked at other options.

Did you see this announcement ?

formatting link

Claims to support Windows, and "Full Mac OS X Release, Expanded Linux on AR= M Support in Java SE and New Linux Version of JavaFX", and also claims

"The new JavaFX Scene Builder is a visual layout tool for the JavaFX platfo= rm that enables users to design user interface (UI) screens by simply dragg= ing and positioning components from a palette onto a scene."

If you are trying to emulate Graphics LCD, you need to decide where to 'sl= ice' the emulation. A final Embedded Microcontroller solution, is likely to have a Pixel Font = Rom, and some low level Graphic chip driver code.=20 Emulating all of that, is highly complex.

You might be able to practically provide desktop emulation with calls to L= CD writes, that would support buttons and interaction tests, and with impor= ted fonts could get closer to the final user product, but it is unlikely to= be pixel perfect. Sounds like that newest Java release could work well, and it is OS portabl= e. I see they even try to appear trendy, buy mentioning the Raspberry Pi.

Reply to

create an easy to use toolkit for rapid prototyping of embedded gizmos on Windows and to release it to the public as *open source*.

Just to clarify, you are using 'emulate' in the broader sense, and intend to recompile only portions of a users embedded code, to run on windows. You are not targeting processor emulation, or even ASM emulation, but are working only at 'C' source level and there, above a uC SFR access level.

If your intention is only upper level C 'emulation' by recompile, why not just use Visual Studio, expanded with some libraries ? Perhaps with a 'double wrapper' on the libraries, as users will have widely varying schemes for their final embedded Button and rendering calls.

Thus a mid-level of 'parameter house keeping' would allow lowest level lib updates to be applied to your emulation, and I guess once working, such a mid-level house keeping system could call a USB link, to access real hardware.


Reply to


Well do you have a particular name for that book as I have someone wanting to try it out.

Title or ISBN would help.

Paul Carpenter          |
    PC Services
 Click to see the full signature
Reply to

I'm really surprised that nobody here could recommend an existing library o= r an open source project, which would provide a simple C-only interface to = the basic GUI elements, such as LCDs, buttons, and LEDs. This is really not= that complicated, yet it seems that every embedded developer has to re-inv= ent this wheel over and over again.

So, to help embedded developers interested in prototyping embedded devices = on Windows, I have created a "Front Panel Win32 GUI Toolkit" and have poste= d it online under the GPL open source license (see

formatting link
.com/win32). This toolkit relies only on the raw Win32 API in C and current= ly provides the following elements:

  1. Dot-matrix display for an efficient, pixel-addressable displays such as = graphical LCDs, OLEDs, etc. with up to 24-bit color

  1. Segment display for segmented display such as segment LCDs, and segment = LEDs with generic, custom bitmaps for the segments.

  2. Owner-drawn buttons with custom =93depressed=94 and =93released=94 bitma= ps and capable of generating separate events when depressed and when releas= ed.=20

The toolkit comes with an executable example and an App Note (see

formatting link
showing how to handle input fr= om the owner-drawn buttons, regular buttons, keyboard, and the mouse. You c= an also view an animated demo at
formatting link

Regarding the size and complexity of the "Front Panel Win32 GUI Toolkit", t= he implementation of the aforementioned GUI elements takes only about 250 l= ines of C. The example with all sources of input and a lot of comments amou= nts to some 300 lines of C. The toolkit has been tested with the free Visua= l C++ Express 2010 (with the Express Edition Platform SDK) and the free Res= Edit resource editor.


Reply to

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.