I thought it would be nice to have an application where all the initialization values for the microcontroller registers could be easily set up using a graphic interface but I wasn’t able to find any commercial or free application so I have started my own application available as a freeware.
I have called the application ARMwizard and it is already in version 1.3. I keep adding more settings and I will also add more LPC2xxx series models in future versions, the application can support LPC21xx, LPC23xx, LPC24xx etc. The current version includes mcu profiles for LPC2101/2/3, LPC2104/5/6, LPC2131/2/4/6/8, LPC2141/2/4/6/8
The application can help set up the registers of Philips (NXP) LPC2xxx ARM7 microcontrollers, it is mainly designed to be used with KEIL uvision but the created code can easily be modified (mainly the interrupt functions) for other compilers because all the register names are the ones used in the datasheet of NPX.
It generates the initialization code with the selected settings, fully commented and including register values and interrupt functions, you just have to copy it in a new project to have a starting point in a few minute, this should make the development of applications much easier and faster.
The settings include:
* GPIO, select inputs/output direction or any alternative pin function using a convenient graphic interface and also a quick selector which has all the functions in groups.
* Interrupts, select from a list any of the available interrupts sources and add them to the selected vector, the functions will be created automatically.
* External Interrupts, set the external interrupt options using combo boxes.
* A/D converter, set any aspect of the ADC (mode, channels, interrupts etc.) with explanation for every setting and see the calculated clock and sample rate without having to calculate anything.
* Timers, set any aspect of 16/32 bit timers (mode, MAT, CAP, interrupts etc.) with explanation for every setting and automatic clock calculation.
The application is a Windows executable but is completely compatible with Linux using WINE, it doesn’t need any installation, just unzip the downloaded file and run the application. It doesn’t write anything to system folders or the registry, to remove the application you just delete the executable file and the include folder.
You can see snapshots of the application and sample of the generated code in http://alexan.edaboard.eu
Best regards Alex
ARMwizard updated to version 2.0.3
There were a couple of bugs that had to be fixed and I didn't want to wait until the next version because they were limiting the functionality of the application, basically they affect the LPC17xx.
What is new
v2.0.3 • Fixed: the Pclock couldn't be set over 100MHz in LPC17xx ADC, now the limit is 200MHz [Johann Zimmermann] • Fixed: in LPC17xx the Pclock divider is now common and can be set to 1/1 - 1/31
Visit http://alexan.edaboard.eu/
ARMwizard updated to version 2.1 , added SPI/SSP settings
What is new:
• Fixed: There were cases where the CCR1.0 checkboxes were not shown for PWM • Fixed: The PCLK divider range was 1/1 - 1/8 instead of 1/1 - 1/31 for LPC177x/8x • Fixed: The PWM power control bits (PCONP) were not set to turn on the peripheral in LPC177x/8x • Fixed: The ADC1 power control bits (PCONP) were not set to turn on the peripheral in LPC2134/36/38 • Fixed: There was an erron in the name of the included header for LPC2141 • Fixed: In LPC175x/6x the right click on the pull up/down triangle didn't change the mode correctly (from up<->down) • Added: All edit box values can now be increased/decreased using the up/down arrow keys (like spin edits) • Added: For desktops with vertical resolution lower than 660 the ARMwizard form is reduced to 550px and a scrollbar is shown • Added: SPI/SSP settings for all the included mcu models • Added: Set the power control bits (PCONP) to enable every used peripheral even if the default setting after reset is on
Visit http://alexan.edaboard.eu