This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

ARMwizard, freeware application to setup LPC2xxx registers using graphic interface

Note: This was originally posted on 28th March 2011 at http://forums.arm.com

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.

The application is called ARMwizard and is currently 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
Alexan Eramian
Parents
  • Note: This was originally posted on 19th May 2012 at http://forums.arm.com

    ARMwizard has been updated to version 3.0

    I'm very excited about this new version, I have added several new models that many of you have been asking.
    I have also added the pinout images of the new models for quick reference (showMCU button).
    If you are using the LPC11xx or LPC12xx then you have to wait a little longer, they will be added soon.

    Please note that according to the NXP user manual the reserved bits 7:6 of IOCON have a reset value of 0 for the I2C pins (P0.4 and P0.5) in LPC1311/13/42/43 (this is also the case in the 11xx manual but not the 1315 or 11Uxx).
    Bit7 is responsible for setting the analog/digital mode of the pin even when reserved and this is why the value of bit7 is 1 in every other pin of the mcu so it doesn't make sense to make an exception and have a value of 0 in a digital I2C pin.
    I have asked the NXP support and they replied that the value is 0 as the manual says but I still doubt the answer and I believe it was based on the user manual without further thought.
    After a discussion in the LPC2000 forum I have concluded that the values mentioned in the user manual are wrong so note than in the application I set the value of b7:6 to 1.
    If you have an LPC1311/13/42/43 and after testing you think that the value I use is wrong please email me.


    What is new in v3.0

    v3.0.0
    "¢ Fixed: In LPC177x/8x bit7 value in the IOCON register of pins P0.7, P0.8, P0,9 should be 1 and not 0
    "¢ Added: Group GPIO and EDGE/LEVEL PIN GPIO for LPC13xx, LPC11xx
    "¢ Added profiles for LPC11Uxx_(33p)  LPC11U12/14/24/34/35
    "¢ Added profiles for LPC11Uxx_(48p_QFP)  LPC11U12/13/14/23/24/34/35/36/37
    "¢ Added profiles for LPC11Uxx_(48p_BGA)  LPC11U14/24/35
    "¢ Added profiles for LPC11Uxx_(64p)  LPC11U24/35/36/37
    "¢ Added profiles for LPC1311/13/42/43   33pin, 48pin
    "¢ Added profiles for LPC1315/16/17/45/46/47 33pin, 48pin, 64pin
    "¢ Added profiles for LPC1776/78/86/88  144pin, 180pin


    Visit http://alexan.edaboard.eu

    Best regards
    Alex
Reply
  • Note: This was originally posted on 19th May 2012 at http://forums.arm.com

    ARMwizard has been updated to version 3.0

    I'm very excited about this new version, I have added several new models that many of you have been asking.
    I have also added the pinout images of the new models for quick reference (showMCU button).
    If you are using the LPC11xx or LPC12xx then you have to wait a little longer, they will be added soon.

    Please note that according to the NXP user manual the reserved bits 7:6 of IOCON have a reset value of 0 for the I2C pins (P0.4 and P0.5) in LPC1311/13/42/43 (this is also the case in the 11xx manual but not the 1315 or 11Uxx).
    Bit7 is responsible for setting the analog/digital mode of the pin even when reserved and this is why the value of bit7 is 1 in every other pin of the mcu so it doesn't make sense to make an exception and have a value of 0 in a digital I2C pin.
    I have asked the NXP support and they replied that the value is 0 as the manual says but I still doubt the answer and I believe it was based on the user manual without further thought.
    After a discussion in the LPC2000 forum I have concluded that the values mentioned in the user manual are wrong so note than in the application I set the value of b7:6 to 1.
    If you have an LPC1311/13/42/43 and after testing you think that the value I use is wrong please email me.


    What is new in v3.0

    v3.0.0
    "¢ Fixed: In LPC177x/8x bit7 value in the IOCON register of pins P0.7, P0.8, P0,9 should be 1 and not 0
    "¢ Added: Group GPIO and EDGE/LEVEL PIN GPIO for LPC13xx, LPC11xx
    "¢ Added profiles for LPC11Uxx_(33p)  LPC11U12/14/24/34/35
    "¢ Added profiles for LPC11Uxx_(48p_QFP)  LPC11U12/13/14/23/24/34/35/36/37
    "¢ Added profiles for LPC11Uxx_(48p_BGA)  LPC11U14/24/35
    "¢ Added profiles for LPC11Uxx_(64p)  LPC11U24/35/36/37
    "¢ Added profiles for LPC1311/13/42/43   33pin, 48pin
    "¢ Added profiles for LPC1315/16/17/45/46/47 33pin, 48pin, 64pin
    "¢ Added profiles for LPC1776/78/86/88  144pin, 180pin


    Visit http://alexan.edaboard.eu

    Best regards
    Alex
Children
No data