Home    Bloggers    Messages    Resources
Tw  |  Fb  |  In  |  Rss
Curt Carpenter

Make Your Own Development Tools

Curt Carpenter
Oldest First   Newest First   Threaded View
Page 1 / 2   >   >>
northstar
northstar
3/2/2012 2:49:30 AM
User Rank
Program Manager
Great tools!
Curt, this is great! Do you created those tools from the scratch? Wow ... I believe that it takes a while to introduce the whole ISA (Instruction Set Architecture) into toll's database. What about the programming language behind the tool ... what is it? Do you use some kind of C-Builder like program?

50%
50%
antedeluvian
antedeluvian
3/2/2012 9:39:01 AM
User Rank
Blogger
I use Excel
I used Excel to create a configuration tool for the 8052 the produced the code for the register set up. I described it in my book "Excel by Example" (out of print-only available now in pdf electronic format and Kindle).

I also found allocating I/O pins in high pin-count processors to be challenging with their multiple peripheral functions on each pin. I generated an Excel application to help with that- see EDN design idea Dec 15 2008 'Program "excelerates" microcomputer I/O allocation'.

http://www.edn.com/article/458627-Program_excelerates_microcomputer_I_O_allocation.php

50%
50%
Curt Carpenter
Curt Carpenter
3/2/2012 11:14:02 AM
User Rank
Blogger
Re: Great tools!
Hi Northstar.

I do all of my PC programming using Lazarus and the Free Pascal compiler -- open source software freely available from freepascal.org on the internet.  There are a lot of other good software tools out there that handle several different hardware platforms, but Lazarus/FPC is one I'm used to and happy with.  I recommend it, if you don't already have a language/system you like.

Building your own tools gives you a motive to study your MCU's documentation carefully.  Each project serves as a "problem at the end of the chapter."  The value is in working through the problem from scratch.  To build a one-line disassembler, for example, all you need to really understand (but you really need to understand it) is your processor's addressing modes, condition flags and instruction map.  Once you figure out those things, actually writing the code is pretty routine and doesn't take much time (especially for a RISC machine).  Same for pin usage.

It's fun, and you end up with something you can use for a while until you decide to move on to your next device.

50%
50%
Curt Carpenter
Curt Carpenter
3/2/2012 11:34:38 AM
User Rank
Blogger
Re: I use Excel
That sounds like a good approach antedeluvian.  Putting together a spreadsheet describing the pin assignment options for your processor would certainly deliver all of the utility -- and learning -- that building a Pascal or C program can. 

Have you done any other tools using Excel?  I had a friend in Argentina some years ago who wroked out his own MCU design (for an FPGA) using spreadsheets to do things like optimize his instruction set.

(I remember your book!)

 

50%
50%
antedeluvian
antedeluvian
3/2/2012 11:54:47 AM
User Rank
Blogger
Re: I use Excel
Curt

I have used Excel in a number of unusual applications. By far the most unusual was published in Electronic Design Feb 3 2005 as "Use Excel to develop a traceability matrix".

http://electronicdesign.com/article/embedded/use-excel-to-develop-a-traceability-matrix9584.aspx

Alberto Ricci Bitti came up with a great idea of using Excel to create a characters for a dot matrix display using Excel. I added to it which you can see in the EDN design idea (and the link to the original) "Tricks improve on LCD intialization" http://www.edn.com/contents/images/41102di.pdf . I used his approach to set the tone for my book and if you recall I developed the whole approach much further in Example 5.

Our organization creates its in house part numbers on a PC application that interfaces to a remote IBM AS400. I write an Excel application that helped in the number generation and then fed the data to the PC application through the SENDKEYS feature of VBA.

50%
50%
antedeluvian
antedeluvian
3/2/2012 12:05:16 PM
User Rank
Blogger
Re: I use Excel
Curt-

Oh yes, there was one more. I used Excel to build a register map of different Modbus modules. I then created a VisualBasic application that opened the Excel worksheet to extract the data and communicate with the remote module as a Modbus master. This made creating the interface to different Modbus slave modules (ours and bought modules) much easier. It was part of a development of a Modbus slave and I needed it for the development. I had the whole thing published in a series of four articles in Byte. The Modbus Simulator portion appeared in issues 200 & 201 (March & April 2007)

 

50%
50%
Curt Carpenter
Curt Carpenter
3/2/2012 1:05:14 PM
User Rank
Blogger
Re: I use Excel
I can certainly see the value in something like your traceability matrix.   I wonder how that could be applied to trying to untangle MCU documentation issues?

I looked at your design idea, but to tell you the truth I was really interested in the first design idea (IR distance ranger covers 1 to 20cm).  Pretty clever, and I long to try it.   There's the old NE555 timer, just crying out to be replaced by a small 8-pin microcontroller... :-)

I don't use spreadsheets much, but find them great tools for doing things like instrument calibration (where the big issue is often finding the best formula to fit a set of measured data).  My spreadsheet of choice comes with the Open Office suite of tools.

50%
50%
vish2207
vish2207
3/3/2012 4:06:11 AM
User Rank
Program Manager
Re: Great tools!
Curt, I have developed the GUIs for the end applications for microcontroller based systems using Visual Basic. But never thought of creating my own development tools. You have a poit, developing these kind of applications makes life easy. May it be excel spreadsheet or customized GUI, it certainly gives in depth knowledge of the devices. Which probably gets ignored due to time bound deadlines of projects. Its a one time investment.

50%
50%
ASEEMOV
ASEEMOV
3/5/2012 3:46:51 AM
User Rank
Program Manager
GUI plugin tools for pin multiplexing, PLL, DDR configuration etc
Hello,

There were a couple of plug-in tools developed by us while working for Analog Devices for their Visual DSP IDDE. The plug-ins were developed in VC++ resulting into DLL files which could be later registered with the IDDE. The main idea of doing these plug-ins was to help customers automatically generate the code (and the correct code sequence to be followed in the code). The GUI plugins could generate the code in C, ASM or both. The APIs then could be called from the application code. This greatly simplyfies the programming effort and software developers are not required to learn all the indepth details regarding certain IPs or controllers required to write code for such IPs. PLL programming, DDR configuration and pin muxing configurations were some of cases that were targeted. Pin muxing in most cases is tedious, time consuming and error prone. I'm sure no application developer would want to understand the bits and bytes and programming sequence for this. It is an utter waste of time for any software programmer. Some example are here:

http://www.analog.com/static/imported-files/application_notes/EE341v03.pdf

http://www.analog.com/static/imported-files/application_notes/EE-322rev5.pdf

 

Btw, some of these tools also support a reverse program:  that is to read back the device configuration and then dump this information into a text file in a readable and easy to understand format. This feature can help during debugging - under any failing circumstances, one can find out the exact configuration at the time of failure.

__av

50%
50%
ASEEMOV
ASEEMOV
3/5/2012 3:52:17 AM
User Rank
Program Manager
Re: GUI plugin tools for pin multiplexing, PLL, DDR configuration etc
Just a quick note: Some of the simple pieces of programming like the SDRAM, DDR etc were initially implemented using excel method. But I couldn't think of a good way of actually generating code in C or assembly and in a required or recommended sequence for the device to function correctly. Also, the GUI way was easier to work with from the usability stand point by customers.

 

__av

 

50%
50%
Page 1 / 2   >   >>
More Blogs from Curt Carpenter
Curt offers the community an audio generator and recorder for the PC that he uses to test data acquisition and processing in an MCU.
Curt tries out the Raspberry Pi and gets an unexpected result.
Curt takes a close look at the Scilab math program.
Using a table of prime numbers and multiplying them at key points in code can yield information that helps you trace program execution.
In getting ready to explore DSP, will you need a math refresher?
flash poll
MC on twitter
like us on facebook
Microcontroller Central    About Us     Contact Us     Help     Register     Twitter     Facebook     RSS