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,17xx (and soon 13xx,11xx) registers

I can no longer post in the thread I have started about ARMwizard http://www.keil.com/forum/18663/ because it is shown as read only so I'm starting this new thread to post the updates.

Update released version v2.2.0

• Fixed: The GPDMA power control bit (PCONP) was not set to turn on the peripheral in LPC23xx/24xx/17xx
• Fixed: The IOCON, GPIO, GPIO interrupts power control bit (PCONP) was not set to turn on the peripheral in LPC17xx
• Fixed: The ADC clocks comment for each conversion in cortex MCU was always 60 instead of 65 or 31 in 17xx (calculation was correct)
• Fixed: The ADC calculate from samples/sec option didn't give correct results when a bit accuracy lower that 10bit/11clk was selected.
• Fixed: Some Processor Exception interrupt handler names in LPC17xx were not correct (NonMaskableInt,MemoryManagement,SVCall,DebugMonitor).
• Fixed: Changed several register names in LPc177x/8x models to match the names used in the latest CMSIS file (2011-03-03) included in Uvision v4.5

   *******************************************************************
   *  OLD NAME                       *      NEW NAME                 *
   *******************************************************************
   * KFLASH_IRQn                     *  EEPROM_IRQn                  *
   * KFLASH_IRQHandler               *  EEPROM_IRQHandler            *
   * LPC_IOCON->Px_00...Px_09        *  LPC_IOCON->Px_0...Px_9       *
   * LPC_USB->USBDevIntClr           *  LPC_USB->DevIntClr           *
   * LPC_USB->USBEpIntClr            *  LPC_USB->EpIntClr            *
   * LPC_USB->USBDMARClr             *  LPC_USB->DMARClr             *
   * LPC_USB->USBEoTIntClr           *  LPC_USB->EoTIntClr           *
   * LPC_USB->LPC_USB->USBNDDRIntClr *  LPC_USB->NDDRIntClr          *
   * LPC_USB->USBSysErrIntClr        *  LPC_USB->SysErrIntClr        *
   * LPC_USB->OTGIntClr              *  LPC_USB->IntClr              *
   * LPC_EEPROM->INTSTATCLR          *  LPC_EEPROM->INT_CLR_STATUS   *
   *******************************************************************


• Added: Interrupt description for the interrupt selected in the drop down list (CORTEX mcu).
• Added: The application form can now be resized because there were some problems in W7 with fonts set to 125%
• Added: Replace name functionality, in order to make the generated code compatible with register name changes in the mcu headers
• Changed: All the interrupt clear values have been changed from absolute values to a (1UL<<x) format for easier understanding of the cleared bit number.

Visit http://alexan.edaboard.eu

Best regards
Alex

  • What is new in v2.2.2

    • Fixed: The drop down list contents in several peripheral settings were empty so the peripherals couldn't be set properly (EINT, ADC, Timer, PWM, SPI, SSP).

    What is new in v2.2.1

    • Fixed: The replace list was saved even when the cancel button was clicked in the "save as" dialog.
    • Added: A swap button that can invert the list content, it swaps the old with the new values
    • Added: Button to apply the replace operation to an external file

    Visit http://alexan.edaboard.eu

    Best regards
    Alex

  • 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/87/88 144pin, 180pin

    Visit http://alexan.edaboard.eu

    Best regards
    Alex

  • There was a register setting for PWM missing in the previous version so I have updated to v3.0.1

    v3.0.1
    • Fixed: For PWM mode of timers (11xx/13xx) the enable bits (3:0) were not set in the PWMC resister [Dirck S.]

    I have also created a profile for my mbed LPC11U24 board, this is not included in v3.0.1 but it will be included in the next version, for now you can download it separately.
    I have removed all the pins that are not wired to the dip pins and the ones used internally, this will also prevent any wrong setting that may disable the SWD pins used to program the microcontrller.
    The Led pins (0.8, 0.9, 0.10, 0.11) are set as output only and the two UART pins (0.18, 0.19) connected internally to the USB uart emulator are inputs with only the uart alternative function available.
    I have also removed the OD, HYS, INV and pull up/down modes from these pins.
    To use it just place the ini file in the include folder of the application (version 3), download the file from alexan.edaboard.eu/.../LPC11U24_MBED.zip.
    If you own this board you may also be interested for the pinout I have posted in my profile mbed.org/.../

    Alex

  • ARMwizard, freeware application to setup LPC2xxx ....
    it is, at best, a LPCwizard.

    Erik

  • Fair enough, I never thought of using LPCwizard but a name is just a name, the application description and purpose is clear enough so why do you feel annoyed by the name?

    Alex

  • But product names aren't covered by any consumer rights regarding any promises. So the publisher can call their product anything that isn't offensive or wakes up trade mark owners.

    So a BitBanger don't need to have anything to do with bit-banged communication, SpeedFlash don't need to be fast or have anything with lighting or flash memories, ...

    A name LPCwizard may be technically accurate, but is a limiting name in case there is a plan to maybe add non-LPC chips.

  • I'd vote for TheSuperDuperLpcWhichMayLaterBeExpandedToOtherArmDevicesThingumyJig ;)

    Interesting project BTW.

  • What is new in v3.1.0

    • Fixed: The max operating frequency for the ADC peripheral in LPC175x/6x was 14MHz instead of 13MHz [nxp41306 in LPCware.com]
    • Fixed: In the interrupt initalization of Cortex M0 the priority setting is now placed before enabling the interrupt.
    • Fixed: The Interrupt priority comment was wrong, the priority level for CortexM0 is 0(highest) to 3(lowest).
    • Added profiles for LPC11xx_(33p)              LPC11xx33/101, LPC11xx33/201, LPC11xx33/301 (33 pin)
    • Added profiles for LPC11xx_(48p)              LPC11xx48/101, LPC11xx48/201, LPC11xx48/301 (48 pin)
    • Added profiles for LPC11Lxx_(33p)             LPC11xx33/102, LPC11xx33/202, LPC11xx33/302 (33 pin)
    • Added profiles for LPC11Lxx_(48p)             LPC11xx48/102, LPC11xx48/202, LPC11xx48/302 (48 pin)
    • Added profiles for LPC11XLxx_(33p)            LPC11xx33/103, LPC11xx33/203, LPC11xx33/303, LPC11xx33/323, LPC11xx33/333 (33 pin)
    • Added profiles for LPC11XLxx_(48p)            LPC11xx48/103, LPC11xx48/203, LPC11xx48/303, LPC11xx48/323, LPC11xx48/333 (48 pin)
    • Added profiles for LPC11C12_14_(48p)          LPC11C12, LPC11C14 (48 pin)
    • Added profiles for LPC11C22_24_(48p)          LPC11C22, LPC11C24 (48 pin)
    • Added profiles for LPC11Exx_(33p)             LPC11E11, LPC11E14 (33 pin)
    • Added profiles for LPC11Exx_(48p)             LPC11E12, LPC11E13, LPC11E14 (48 pin)
    • Added profiles for LPC11Exx_(64p)             LPC11E14 (64 pin)
    • Added profile for mbed LPC11U24 board (LPC11U24_MBED) including an image with the board pinout.The Led pins (0.8, 0.9, 0.10, 0.11) are set as output only and the two UART pins (0.18, 0.19) connected internally to the USB uart emulator
    are inputs with only the uart alternative function available. I have also removed the OD, HYS, INV and pull up/down modes from these pins.
    

    Visit http://alexan.edaboard.eu

    Best regards
    Alex

  • This is a very nice project, but it would even be nicer if it took advange of CMSIS...

  • I suppose you mean use the functions provided in the CMSIS libraries.
    These are not available for all the cortex models and I'm not sure if this application is so useful for someone that uses the CMSIS functions since he can setup many peripherals using the functions and not complicated register values.

    Alex

  • ARMwizard has been updated to version 3.2.0

    • Added profile for LPC11Axx • bug fixes

    To download or read the list of changes visit http://alexan.edaboard.eu

    Alex

  • ARMwizard has been updated to version 3.3.0

    • Added profile for LPC12xx
    • bug fixes

    To download or read the list of changes visit http://alexan.edaboard.eu

    Alex