Come Join Us (MPLAB Now Supports AVRs)

Go To Last Post
292 posts / 0 new

Pages

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Release Notes for MPLAB® X IDE v5.10

November 2, 2018

...

 

13   Repairs and Enhancements in v5.10

...

MPLABX-3553

CPU registers and IO's memory view windows may need to get refreshed in order to see the values correctly for AVR devices.

AVR devices

...

MPLABX-3642

AVR devices using TPI for programming are not currently supported.

AVR devices

...

 

16   Known Issues

...

16.5   Device Feature Support Issues

AVR MCU Development

If you are developing with AVR devices, it is recommended that you upgrade to MPLAB X IDE v5.10 and MPLAB XC8 v2.05. Several AVR issues have been addressed in these versions. Alternately, you can use AVR_GCC.

...

AVR mapped program memory is not viewable on ATmega4808, ATmega4809 devices (MPLABXE-1813)

AVR ATmega4808 and ATmega4809 devices support a feature for efficient access of data used by the application which resides in the flash program space. Currently, MPLAB X IDE will not identify this space as a separate viewable memory.

Workaround: The data is viewable where the data begins in the program memory space.

...

16.7   IDE Specific Issues

...

MPLABX-3836

When launching a Debug Wire debug session and the device signature is wrong, the launch is aborted. However, a dialog pops up asking if you want to disable Debug Wire even though you never entered a Debug Wire session.

...

MPLABX-3832

MPLABX START project import: EDBG selected does not stay selected

...

MPLABX-3615

The AVR-GCC installed with the Arduino IDE does not work with MPLAB X IDE

AVR devices

MPLABX-3605

Debug Wire protocol on AVR devices does not work for MPLAB PICkit 4. For example, the ATmega328p. Programming uses a different protocol and is fine.

ATmega328p

MPLABX-3595

Memory notification not occurring when notification happens on a config mem change for AVR devices.

AVR devices

...

MPLABX-3168

AVR Disassembler fails to disassemble MOVW

AVR devices

...

via MPLAB- X IDE | Microchip Technology

 

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

westfw wrote:
To be fair, XC8 is not based on "free software" of any sort.
MPLAB XC8 v2 is based on Clang though likely with HI-TECH's backend.

westfw wrote:
XC16 and XC32 are built on gcc, and instructions for building those (or otherwise removing the optimization restrictions) are widely available.
And instructions on how to unlock it.

There might be a way to unlock MPLAB XC8 v2.

Whether the timing and sizing improvements are significant enough would need some evaluation.

 


http://ww1.microchip.com/downloads/en/DeviceDoc/Readme_XC8_v200_for_PIC.htm#TOC_Overview

...

...  and this [C99] has been achieved through the addition of Clang as a new compiler front end application.

...

Clang C Language Family Frontend for LLVM

Embedded C Compilers and Tools for Software Development: HI-TECH Software

GitHub - cv007/XC3216: GCC compiler restrictions removal

via https://www.microchip.com/forums/FindPost/1050359

in GCC Build | Microchip

Exploring Microchip XC16 compiler | Details | Hackaday.io

by Jaromir Sukuba

01/09/2018

...

Though the sources are available, in professional circles not everybody will spent their expensive time building the compiler (that is far from being trivial exercise) with nobody to ask questions, so they buy directly the full version plus support from Microchip...

...or something. In fact, I'm able to use optimizations higher than -O1 on free version. Compiler complains I have no valid license, but the code builds and runs just fine, with apparent results of compiler optimization efforts. 

...

[how to]

...

So, what is described here is option to get full optimization level of XC16 compiler without need to recompile the sources, what is far from being simple task. On the other hand, the gains from full options are not particularly huge, but it doesn't hurt anyway.

...

 

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Why fight them though? If they don't want you to use their parts, don't use them. There are plenty of others offering free high quality tools.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

larryvc wrote:
Does the PICkit4 now make my MPLAB REAL ICE obsolete?
fyi, MPLAB REAL ICE is a mature product and it's on sale this month.

MPLAB REAL ICE In-Circuit Emulator

due to DEVELOPMENT TOOL DEALS microchipDIRECT (bottom)

 

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Wow they really don't want hobbyists playing with their chips!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Dev Tool Deals | Microchip Technology

...

 

MPLAB PICkit 4 In-Circuit Debugger (PG164140)

Use Coupon Code: TP1943

20% Off

...

 

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

If you are developing with AVR devices, it is recommended that you upgrade to MPLAB X IDE v5.10 and MPLAB XC8 v2.05. Several AVR issues have been addressed in these versions.

MPLAB® XC8 C Compiler Version 2.05 Release Notes for AVR® MCU

(pages 6 and 7)

3. What's New

...

3.1. Version 2.05

[macOS XC8 is a 64-bit application]

[constants into program memory; not applicable for unified memory AVR]

Standard for free Unlicensed (Free) versions of this compiler now allow optimizations up to and including level 2. This will permit a similar, although not identical, output to what was previously possible using a Standard license.

[AVRASM2 bundled with MPLAB XC8 AVR]

...

(pages 8 and 9)

5. Fixed Issues

...

5.1. Version 2.05

[numerous]

...

(pages 9 and 10)

6. Known Issues

...

[install MPLAB X before installing MPLAB XC8]

[__memx and libgcc float]

[use __at() to specify an address instead of a linker option]

[data initialization by a linker option is not yet implemented]

[a long-term issue of limited function libgcc for reduced architecture tinyAVR]

[relaxation and greater than 128KB program space]

[limitations of named address spaces]

via Downloads tab at MPLAB- XC Compilers | Microchip Technology

AVR® Devices in MPLAB® XC8 v2.05 - Developer Help

 

edit: last URL

 

"Dare to be naïve." - Buckminster Fuller

Last Edited: Wed. Jan 23, 2019 - 12:12 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I guess I will be using Atmel Studio 7, and ATmega328Ps and ATmega1284Ps for the rest of my life, along with my $20 Chinese AVR MKII and $50 Atmel ICE, for the rest of my life.  My current 328 project is up to 85% of the available flash, so I am going to have to go to the bigger 1284 soon.  Luckily the device we are building is getting larger too, so there is room for the 40 pin DIP in the prototypes. 

 

I'm still using Visual Studio 2012 for Windows projects, and have found no need to go modern, although I see there is a free version of the latest non-enterprise Visual Studio.  With Windows 7 I am an old guy with a set of tools to do whatever I need at present.  After January next year I guess I will have to pay for Windows 7 updates, or maybe I will just take my code development machine off line, and use it as is until it dies.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

MarkThomas wrote:
... along with my $20 Chinese AVR MKII and $50 Atmel ICE, for the rest of my life.
Your life expectancy is much greater than an AVRISP2 or Atmel-ICE.  Occasional posts here on the death of such tools.

Atmel-ICE does have sales at MicrochipDirect and am glad the ones of China create clones of the excellent Atmel AVRISP mkII.

Dean's LUFA AVRISP2 function-like can be built on a breadboard or protoboard for when one is in a pinch; several third parties sell these as a PCBA or in an enclosure.

MarkThomas wrote:
My current 328 project is up to 85% of the available flash, ...
One mega328PB follow-on is mega4808.

MarkThomas wrote:
... so there is room for the 40 pin DIP in the prototypes.
fyi, mega4809 is forthcoming in DIP.

https://www.avrfreaks.net/forum/megaavr-0-series?page=2#comment-2587131

Oops, scratch that.

 

edits: typo, oops

 

"Dare to be naïve." - Buckminster Fuller

Last Edited: Sat. Jan 26, 2019 - 05:23 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

david.prentice wrote:
And my Tiny817-XMINI works reasonably fast on its mEDBG.

 

It will be interesting to see how MPLAB compares with AS7.

added 2-Jan'19 :

MPLAB® X IDE - Debugging with Unified Program and Debug Interface (UPDI) for AVR® MCUs - Developer Help

 

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Yes,   I have used MPLABX with the XMINI-Tiny817.      MPLABX works ok with the UPDI hardware but the software is less developed than AS7.

 

I have been busy with other things.    I should find some time and make more effort with AVR.

 

David.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Release Notes for MPLAB® X IDE v5.15

February 20, 2019

...

 

13   What's New in v5.15

·Improved debugWire experience for AVR MCU family. Use Project Properties dialog, "mEDBG" category, "Communication" options category, "Interface " to select ISP or debugWIRE. MPLAB X IDE sets/clears configuration bits accordingly.

·Support for ATSAM MCUs using the Atmel-ICE tool family (Xplained boards).

14   Repairs and Enhancements in v5.15

...

 

MPLABX-3605

 

Debug Wire protocol on AVR devices does not work for MPLAB PICkit 4. For example, the ATmega328p. Programming uses a different protocol and is fine.

 

...

 

17   Known Issues

...

 

17.5   Device Feature Support Issues

AVR MCU Development

If you are developing with AVR devices, it is recommended that you upgrade to MPLAB X IDE v5.10 and MPLAB XC8 v2.05. Several AVR issues have been addressed in these versions. Alternately, you can use AVR_GCC.

...

AVR mapped program memory is not viewable on ATmega4808, ATmega4809 devices (MPLABXE-1813)

AVR ATmega4808 and ATmega4809 devices support a feature for efficient access of data used by the application which resides in the flash program space. Currently, MPLAB X IDE will not identify this space as a separate viewable memory.

Workaround: The data is viewable where the data begins in the program memory space.

 

...

 

17.7   IDE Specific Issues

The following are issues for the MPLAB X IDE.

...

 

MPLABX-4008

AVR-GCC Toolchain on a mounted drive in Linux does not get discovered with correct version information in MPLAB X IDE.

MPLABX-3991

Const declared variables display incorrect addresses in the watch window for AVR devices

MPLABX-3894

AVR STS instruction displayed incorrectly in multiple MPLAB X IDE displays:

·Program memory view

·Disassembly listing view

·Trace

 

...

 

MPLABX-3871

Using AVR 4809 and XC8 v2.00 the disassembly view seems to get lost when pausing in some projects. PC value is not lost during debugging. Continued debugging refreshes the disassembly view/reopening Disassembly view refreshes the display.

 

...

 

MPLABX-3840

BOOTEND and APPEND configuration values are not in the configuration window

ATmega4809

MPLABX-3839

Error in disassembly of rcall/call AVR instructions

 

[mega4809]

MPLABX-3836

When launching a Debug Wire debug session and the device signature is wrong, the launch is aborted. However, a dialog pops up asking if you want to disable Debug Wire even though you never entered a Debug Wire session.

 

...

 

MPLABX-3832

MPLABX START project import: EDBG selected does not stay selected

 

...

 

MPLABX-3725

LDS instruction generated has wrong operands in Disassembly view.

ATmega324PB

 

...

 

MPLABX-3678

On some projects, when first using MPLAB XC8 2.00 in MPLAB X v5.00, the build fails with No Chip name.  The interim fix is to change the compiler drivers manually, under Tools>Options>Embedded>Build Tools>XC8 v2.00, C Compiler = xc8-cc, Assembler = xc8-cc, and then click OK.

8-bit MCUs

MPLABX-3657

Adding Library project for MPLAB XC8 v2.00 changes makefile to search for .hex/.elf in library project dist folder instead of .a file

8-bit MCUs

...

 

MPLABX-3615

The AVR-GCC installed with the Arduino IDE does not work with MPLAB X IDE

AVR devices

MPLABX-3595

Memory notification not occurring when notification happens on a config mem change for AVR devices.

AVR devices

 

...

 

MPLABX-3168

AVR Disassembler fails to disassemble MOVW

 

AVR devices

 

...

 

via MPLAB- X IDE | Microchip Technology (Downloads tab, Release Notes zip, Readme for MPLAB X IDE.htm)

 

edit: typo

 

"Dare to be naïve." - Buckminster Fuller

Last Edited: Fri. Feb 22, 2019 - 01:19 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

"Dare to be naïve." - Buckminster Fuller

Last Edited: Fri. Feb 22, 2019 - 01:25 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

MPLAB XC8 PRO Dongle is on sale at half price (was 1495USD)

MPLAB XC8 Compiler PRO Dongle License

via Dev Tool Deals | Microchip Technology

 

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

with my experience using mplabx with pic controllers i think ill pass

If something can be read without effort then great effort has gone into its writing

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Release Notes for MPLAB® X IDE v5.20

May 14, 2019

...

 

13   What's New in v5.20

[Device packs are now numerous with some updates ("across the board") and added functionality]

...

 

14   Repairs and Enhancements in v5.20

[mostly PIC and such]

...

 

17   Known Issues

...

17.6   Device Feature Support Issues

AVR MCU Development

If you are developing with AVR devices, it is recommended that you upgrade to MPLAB X IDE v5.10 and MPLAB XC8 v2.05. Several AVR issues have been addressed in these versions. Alternately, you can use AVR_GCC.

...

AVR mapped program memory is not viewable on ATmega4808, ATmega4809 devices (MPLABXE-1813)

AVR ATmega4808 and ATmega4809 devices support a feature for efficient access of data used by the application which resides in the flash program space. Currently, MPLAB X IDE will not identify this space as a separate viewable memory.

Workaround: The data is viewable where the data begins in the program memory space.

...

17.8   IDE Specific Issues

...

 

MPLABX-4400

AVR devices

Upon importing a START project for AVR devices into MPLAB X IDE, you may observe incorrect Program Memory size being displayed in the Dashboard. This is due to outdated information in the DFP that is included in the START project. To see correct memory values and percentages in the Dashboard, it is recommended to switch to the DFP supplied by MPLAB X IDE rather than what is included in the START project.

 

MPLABX-4008

AVR MCUs

AVR-GCC Toolchain on a mounted drive in Linux does not get discovered with correct version information in MPLAB X IDE.

 

MPLABX-3991

atmega324pb

Const declared variables display incorrect addresses in the watch window for AVR devices

 

MPLABX-3894

AVR

AVR STS instruction displayed incorrectly in multiple MPLAB X IDE displays:

·Program memory view

·Disassembly listing view

·Trace

 

...

 

MPLABX-3871

[ATmega4809]

Using AVR 4809 and MPLAB XC8 v2.00 the disassembly view seems to get lost when pausing in some projects. PC value is not lost during debugging. Continued debugging refreshes the disassembly view/reopening Disassembly view refreshes the display.

 

....

 

MPLABX-3840

ATmega4809

BOOTEND and APPEND configuration values are not in the configuration window

 

MPLABX-3839

[ATmega4809]

Error in disassembly of rcall/call AVR instructions

 

MPLABX-3836

ATmega328PB, other AVR debugWIRE devices

When launching a Debug Wire debug session and the device signature is wrong, the launch is aborted. However, a dialog pops up asking if you want to disable Debug Wire even though you never entered a Debug Wire session.

 

...

 

MPLABX-3725

ATmega324pb

LDS instruction generated has wrong operands in Disassembly view.

 

...

 

MPLABX-3615

AVR devices

The AVR-GCC installed with the Arduino IDE does not work with MPLAB X IDE

 

MPLABX-3595

AVR devices

Memory notification not occurring when notification happens on a config mem change for AVR devices.

 

...

 

MPLABX-3168

AVR devices

AVR Disassembler fails to disassemble MOVW

 

...

 


due to https://www.avrfreaks.net/forum/mplab-snap-we-are-not-amused#comment-2698696 (XMEGA added to MPLAB Snap, and, more)

 

MPLAB X IDE | Microchip Technology (Downloads tab)

 

edit : 'Device Support.htm'

  • MPLAB Snap is beta complete for all AVR except mega808 and mega809 (future instances of megaAVR 0-series)
  • MPLAB PICkit 4 is tested (iow not beta) for mega4809, mega3209, mega3208
  • simulator is tested for XMEGA128A1, XMEGA128A1U, XMEGA128A4U, mega1284, and more

 

"Dare to be naïve." - Buckminster Fuller

Last Edited: Thu. May 23, 2019 - 03:39 AM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

MPLAB XC8 PRO Workstation is on sale through the end of August though I don't know the discount's monetary value;

oh ... the coupon code is BOGO... wink

This might be be a fit for the very small in SMB/SME though some teams have two embedded systems designers.

SW006021-2 - MPLAB XC8 PRO Compiler (Workstation License)

 

HPA for the 1y renewal of complete support.

SW006021-2H - MPLAB XC PRO HPA (Workstation License)

 

Dongle is perpetual though one might forget to pack the dongle for a road trip; dongle doesn't have HPA's priority support and the microchipDIRECT zero price shipping though does have updates.

 


Installing MPLAB® XC8 C Compiler - Developer Help

 

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Release Notes for MPLAB® X IDE v5.25

August 2, 2019

 

...

 

5       Java Platform and Operating System Direction

In order to align with industry standards and to continue to provide you the best experience when using MPLAB X IDE, we will be making the following changes to the IDE:

  • A license-free version of Java will be distributed with MPLAB X IDE starting in version 5.40. MPLAB X IDE versions up to and including 5.35 will use the last free JRE version 8 from Oracle. 
    No Oracle® JRE license will be required to use any version of MPLAB X IDE.
  • Operating system support for Windows, Mac OS and Linux will move to 64-bit only starting with MPLAB X IDE version 5.40. Product support releases will be delivered independently from MPLAB X IDE starting in version 5.30 by moving to a Device File Pack (DFP) system. A DFP can be applied to MPLAB X IDE version 5.30 or 5.35 to extend the life of the IDE for 32-bit operating systems Not all new devices added by a Device File Pack are guaranteed to work in these versions of the IDE

 

...

 

7.2      Compilers

Current compiler versions supported are:

...

Atmel Compiler (1)

[Microchip AVR GCC 3.4.3 and subsequent]

...

  1. Install this compiler in the same location as MPLAB XC compilers so MPLAB X IDE can find them, e.g.;
    C:\Program Files (x86)\Microchip\AVR_GCC

...

 

7.3      Compiler Add-On Licenses

MPLAB Code Coverage (SW006026-COV): As of MPLAB X IDE v5.25, code coverage is supported for compilers that support this feature, namely:

·MPLAB XC8 v2.10

·MPLAB XC16 v1.40

·MPLAB XC32 v2.30

 

7.4      Assemblers/Linkers

Current assembler versions supported are:

[AVRASM2 2.2.6 and subsequent]

 

8.1      Web Documentation – Internet Access Required

...

Register Help: For some AVR devices, you can access on-line data sheets, user’s guides and other support documentation from a Kit Window. In an IO View or Editor window, you can select a register and then click on the PDF icon to open the on-line help for that register.

 

14   What's New in v5.25

...

·MPLAB PICkit 4 Programmer-To-Go Beta Support: See the MPLAB PICkit 4 release notes for more information.

...

·MPLAB Code Coverage Support: Support in MPLAB X IDE for code coverage output generated by MPLAB XC C compilers in Free mode or with an MPLAB Code Coverage license (SW006026-COV). The first compiler versions with this feature are MPLAB XC8 v2.10, MPLAB XC16 v1.40, and MPLAB XC32 v2.30.

 

 

15   Repairs and Enhancements in v5.25

...

 

MPLABX-4400

 

Upon importing a START project for AVR devices into MPLAB X IDE, you may observe incorrect Program Memory size being displayed in the Dashboard. This is due to outdated information in the DFP that is included in the START project. To see correct memory values and percentages in the Dashboard, it is recommended to switch to the DFP supplied by MPLAB X IDE rather than what is included in the START project.

AVR devices

 

MPLABX-3892

MPLAB X IDE does not always recognize debuggers connected to a docking station which has a thunderbolt USB.

 

...

 

18.5   Device Feature Support Issues

...

AVR mapped program memory is not viewable on ATmega4808, ATmega4809 devices (MPLABXE-1813)

AVR ATmega4808 and ATmega4809 devices support a feature for efficient access of data used by the application which resides in the flash program space. Currently, MPLAB X IDE will not identify this space as a separate viewable memory.

Workaround: The data is viewable where the data begins in the program memory space.

 

...

 

18.7   IDE Specific Issues

...

 

MPLABX-4576

When using the Power Debugger, there are issues with Auto Power Toggle mode. Therefore, in IDE v5.25, only the following options are available in Project Properties, High Voltage Activation: (a) No High Voltage (b) Simple Pulse (c) User Power Toggle.

Most AVR and SAM MCUs

 

...

 

MPLABX-4008

AVR-GCC Toolchain on a mounted drive in Linux does not get discovered with correct version information in MPLAB X IDE.

AVR MCUS

 

MPLABX-3991

Const declared variables display incorrect addresses in the watch window for AVR devices

ATmega324PB

 

MPLABX-3894

AVR STS instruction displayed incorrectly in multiple MPLAB X IDE displays:

·Program memory view

·Disassembly listing view

·Trace

AVR

 

MPLABX-3871

Using AVR 4809 and MPLAB XC8 v2.00 the disassembly view seems to get lost when pausing in some projects. PC value is not lost during debugging. Continued debugging refreshes the disassembly view/reopening Disassembly view refreshes the display.

AVR 4809

 

...

 

MPLABX-3840

BOOTEND and APPEND configuration values are not in the configuration window

ATmega4809

 

MPLABX-3839

Error in disassembly of rcall/call AVR instructions

AVR 4809

 

MPLABX-3836

When launching a Debug Wire debug session and the device signature is wrong, the launch is aborted. However, a dialog pops up asking if you want to disable Debug Wire even though you never entered a Debug Wire session.

ATmega328PB, other AVR debugWIRE devices

 

...

 

MPLABX-3832

MPLABX START project import: EDBG selected does not stay selected

 

...

 

MPLABX-3725

LDS instruction generated has wrong operands in Disassembly view.

ATmega324PB

 

...

 

MPLABX-3678

On some projects, when first using MPLAB XC8 2.00 in MPLAB X v5.00, the build fails with No Chip name. 
The interim fix is to change the compiler drivers manually, under Tools>Options>Embedded>Build Tools>XC8 v2.00, C Compiler = xc8-cc, Assembler = xc8-cc, and then click OK.

8-bit MCUs

 

MPLABX-3657

Adding Library project for MPLAB XC8 v2.00 changes makefile to search for .hex/.elf in library project dist folder instead of .a file

8-bit MCUs

 

...

 

MPLABX-3615

The AVR-GCC installed with the Arduino IDE does not work with MPLAB X IDE

AVR devices

 

MPLABX-3595

Memory notification not occurring when notification happens on a config mem change for AVR devices.

AVR devices

 

...

 

MPLABX-3168

AVR Disassembler fails to disassemble MOVW

AVR devices

 


 

Am assuming that AVR code coverage due to MPLAB XC8 v2.10 will be by the AVR simulator in MPLAB X v5.25

 

In 'Device Support.htm', AVR is tested (not beta) for :

  • AVR simulator CPU (XMEGA384, XMEGA256, XMEGA192, XMEGA128, mega128 range, mega64 range, mega32 range except mega32U2, mega16 range except mega16U2)
  • MPLAB PICkit 4 (mega4809, mega3209)

 

The new AVR devices are in beta form for all tools except AVR simulator peripherals, MPLAB XC8, MPLAB ICD 4 :

  • AVR64DA128
  • AVR48DA128
  • AVR32DA128
  • AVR28DA128

What are the AVR28DA128 AVR32DA128 AVR48DA128 AVR64DA128 ?? | AVR Freaks

Assumptions :

  • unified memory 17-bit addressing (or 18-bit?)
  • pin counts of 28, 32, 48, and 64 pins
  • additional local RAM

WAG :

  • follow-on to the 128KB USB megaAVR though without an EBI (may not matter if there's "enough" local RAM)

IDK :

  • DA?
  • 16-bit AVR?
  • edit1 : fast write non-volatile memory?  (F-RAM on some competitor's MCU)

 


MPLAB X IDE | Microchip Technology (Downloads tab)

AVR- and Arm- Toolchains (C Compilers) | Microchip Technology (current is Microchip AVR GCC 3.6.2)

AVR and SAM Downloads Archive | Microchip Technology

(mid-page)

 

AVR and ARM Toolchains

MPLAB- XC Compilers | Microchip Technology (current is MPLAB XC8 v2.05)

 

Couldn't locate a link to SW006026-COV (MPLAB X Code Coverage)

MPLAB Code Coverage

 

edit2 : Everspin Embedded MRAM | Everspin

 

edit3 : link (above) to thread about AVRDx

 

edit4 : strikethru

 

"Dare to be naïve." - Buckminster Fuller

Last Edited: Fri. Sep 13, 2019 - 04:29 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

·MPLAB PICkit 4 Programmer-To-Go Beta Support: See the MPLAB PICkit 4 release notes for more information.

 

Release Notes for MPLAB® PICkit 4
In-Circuit Debugger & Device (Production) Programmer

MPLAB® X IDE v5.25

 

DLL and Firmware versions:

 MPLAB PICkit 4 Suite (OS, FW)    v00.02.74

 

 

August 2, 2019

 

...

 

5        What's New in v5.25

·Beta support for Programmer-To-Go (PTG) is available for 8 and 32-bit devices [PIC, PIC32]. See Beta Programmer-To-Go for information.

·See Header Support for a list of supported headers.

·Online help for MPLAB PICkit 4 has been updated regarding header support for v5.25. The PDF on the Microchip web page for the MPLAB PICkit 4 will be updated in a future release.

·Support for AVR-mode CDC implementation on MPLAB PICkit 4 and MPLAB Snap. See Virtual COM Port for more information.

 

6        Repairs and Enhancements Made in v5.25

None.

 

7        USB Port Setup

When MPLAB X IDE (v4.15 or greater) is installed the MPLAB PICkit 4 In-Circuit Debugger will automatically update any necessary device drivers upon connecting to USB.

 

8        Powering the Debugger and Target Board

The target board can be powered either from its own supply, or from the MPLAB PICkit 4 debugger.

 

9        Connecting the Debugger to the Target Board/Device

The AC102015 Debugger Adapter Board is a connectivity board that supports JTAG, SWD and ICSP protocols, useful for debugging legacy AVR with MPLAB PICkit 4.

 

10    Setting Up the Debugger and Target Board in MPLAB X IDE

To set up the MPLAB X IDE:

Launch MPLAB X IDE.

In MPLAB X IDE, create or open a project with the debugger selected as the Hardware tool. The debugger will automatically connect when code is executed. (To always be connected, see Tools>OptionsEmbeddedGeneric Settings, “Maintain active connection to hardware tool”.) Also, the debugger can automatically detect if it has been disconnected/reconnected and if the target has been disconnected/reconnected.

The debugger will now be ready for use.

 

11    Header Support

MPLAB PICkit 4, ICD 4 Header Support

AC162061 (PIC16F690 only)

AC244023 (MCV20USB not supported yet)

AC162055

AC244024

AC162066

AC162056

AC244051

AC244052

AC162057

AC162083 (PIC12F609 and PIC16F616 for ICD4 only)

Also check https://www.microchip.com/mplab/mplab-x-ide-debug-features-by-device.

 

12    Beta Programmer-To-Go

...

 

12.1   Limitations for Beta Programmer-To-Go

...

2.      Devices Supported:

-        PIC10

-        PIC12

-        PIC16

-        PIC18

-        PIC32

...

4.      In Programmer-To-Go mode, if the target is powered, no addition power is needed for the MPLAB PICkit 4 to operate. The target board must be capable of providing 350 mA of power for the PICkit 4 tool to operate properly. If the target board cannot provide enough power, you will need to provide power directly to the PICkit 4 through its USB port with either a power supply, computer, or USB power bank. [or USB isolator]

...

6. [100 ohm series resistor on MCLR]

...

 

13    Virtual COM Port for AVR Devices

The Virtual COM Port is a general-purpose USB serial bridge between a host PC and a target AVR device.

The AVR-mode CDC implementation on the MPLAB PICkit4/SNAP Virtual COM port supports:

·Baud rates in the range 1200 bps to 500kbps

·Only 8-bit character format

·No hardware flow control

·One or two stop-bits

IMPORTANT NOTE: Connecting to the Virtual COM port from a terminal emulator will enable pins 7 and 8 on the MPLAB PICkit4/Snap header as TX and RX pins. This functionality is independent of the debugger functionality. You must ensure that you do not use CDC at the same time as a debug interface which also needs those pins, for example JTAG or SWD.

 

14    Device Programming Considerations

...

14.2   For Non-CodeGuard Security Devices

When programming these devices, bulk erase commands should be issued between successive programming operations, i.e., erase, then program, then erase, then program, etc. Therefore, Microchip advises against multiple-stage programming sessions which may fail to verify. For example, you should NOT do the following sequence with these devices:

  1. load and program a particular hex file
  2. load a second hex file
  3. disable erase-all-before-programming
  4. specify an address sub-range
  5. program the device

 

15    Known Problems

The following is a list of known problems. For information on common problems, error messages and limitations please see Troubleshooting in the on-line help file for the MPLAB PICkit 4 debugger.

15.1   Communications

If you do not use the included cables, make sure the cables you do use are: (1) not longer than 6 inches [15 cm] for standard communications or errors could result and (2) USB 2.0 compliant if you will be using USB 2.0 communications. If you are using a hub, it must also be High Speed USB 2.0 compliant.

15.2   Debugging Issues

General debugging errors may occur while debugging at higher oscillator speeds. Changing to a slower oscillator speed like internal FRC without PLL may improve the debug experience.

...

15.3   General Issues

Using the USB connection on a laptop PC with hibernate mode enabled will lock up the debugger if hibernate mode is entered. Unplug the USB cable from the MPLAB PICkit 4 debugger and then plug the cable back in to resume debugging. You may want to disable hibernate mode while using the debugger. From Control Panel, select "Power Options" and disable hibernate mode.

Virus protection software can interfere with USB driver installation. If your development tool is not operational and you have tried reinstalling the USB drivers, consider disabling your virus protection software and reinstalling the USB drivers again.

SPI001-113: SPI misses SDI input when single-stepping with freeze in debug enabled.

...

15.4   Tool SSRs (System Service Requests)

The following is a list of issues that are being tracked for this tool.

...

 

PK4-31

The firmware update will fail with either the MPLAB PICkit 4 or the MPLAB Snap ICD tool, when using:

- USB Full-speed port 
- USB Full-speed hub 
- USB Full-speed isolator

Workaround:

The tool would have to be plugged into a USB Full-speed or USB SuperSpeed USB port/hub/isolator to allow the firmware update process to complete successfully.

After the firmware update completes, the tool can then be plugged back into a USB Full-speed port/hub/isolator.

 

...

15.6   Engineering Technical Notes (ETNs)

The following ETNs are related to the MPLAB PICkit 4 in-circuit debugger. Please see the product webpage for details.

None.

 

...

 

17    Number of Hardware Breakpoints per Device

To see the number of breakpoints supported for your device and the number of breakpoints used in your project, use the Dashboard window (Window>Dashboard).

To see breakpoint information for all supported devices, use either:

-Hardware Tool Debug Features by Device– local HTML file

Note: For PIC18FxxJ devices, there is a limitation that only 1 data capture is available.

 


MPLAB PICkit 4 In-Circuit Debugger

MPLAB X IDE | Microchip Technology

 

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

How come MPLAB "fails to resolve" symbols like uint8_t, PORTMUX, and USART_CHSIZE_gm, all of which should be defined in include files via <xc.h>

(and in fact the program compiles just fine; it's only the IDE that is unhappy with the symbols.)

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

>it's only the IDE that is unhappy with the symbols

 

It hasn't been happy for years. I normally use another code editor while mplabx does the compiling. Either editor will see changes made and reload. If I'm lazy, I'll use mplabx to get to the error source (click link in error output), make changes there, recompile, then back to the good editor for most of the work.

 

Google these-

netbeans unable to resolve identifier

disable Netbeans Code Assistance

 

It may help. It may not.

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

 

curtvm wrote:
I normally use another code editor while mplabx does the compiling.
other editors via the App Launcher plug-in (Windows - Notepad++)

at the bottom of Application Launcher Plugin - Developer Help

 


Notepad++ Home

edit : Scooter Software: Home of Beyond Compare

 

"Dare to be naïve." - Buckminster Fuller

Last Edited: Sat. Aug 10, 2019 - 08:39 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

It hasn't been happy for years.

Ah, that's OK then.   I was just wondering if I had some mis-configuration somewhere...

(Although it would have been one of the things that might sway me toward an IDE editor.  Sigh.)

Thanks

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

14   What's New in v5.25

...

·MPLAB Code Coverage Support: Support in MPLAB X IDE for code coverage output generated by MPLAB XC C compilers in Free mode or with an MPLAB Code Coverage license (SW006026-COV). The first compiler versions with this feature are MPLAB XC8 v2.10, MPLAB XC16 v1.40, and MPLAB XC32 v2.30.

http://ww1.microchip.com/downloads/en/DeviceDoc/xc8-2.10-full-install-release-notes-AVR.pdf

MPLAB® XC8 C Compiler Version 2.10 Release Notes for AVR® MCU

...

 

1.2. Release Date The official release date of this compiler version is the 28 July 2019.

 

...

 

1.4. Component Licenses and Versions

...

This compiler is an implementation of GCC version 5.4.0, binutils version 2.26, and uses avr-libc version 2.0.0.

 

...

 

3. What's New

...

3.1. Version 2.10

Code Coverage This release includes a code coverage feature that facilitates analysis of the extent to which a project’s source code has been executed. [coverage data into RAM] After execution of the program on your hardware, code coverage information will be collated in the device, and this can be transferred to and displayed by the MPLAB X IDE via a code coverage plugin. See the IDE documentation for information on this plugin can be obtained.

Device description files ...

Procedural abstraction Procedural abstraction optimizations, which replace common blocks of assembly code with calls to an extracted copy of that block, have been added to the compiler. These are performed by a seperate application, which is automatically invoked by the compiler when selecting [-Os] level optimizations. These optimizations reduce code size, but they may reduce execution speed and code debugability.

Lock bit support in pragma ...

New device support Support is available for the following parts: AVR28DA128, AVR64DA128, AVR32DA128, and AVR48DA128.

 

...

 

5. Fixed Issues

...

5.1. Version 2.10

Relocation failures (XC8-1891) The best fit allocator was leaving memory 'holes' in between sections after linker relaxation. Aside from fragmenting memory, this increased the possibility of there being linker relocation failures relating to pc-relative jumps or calls becoming out of range.

Instructions not transformed by relaxation (XC8-1889) Linker relaxation did not occur for jump or call instructions whose targets become reachable if relaxed.

Missing <power.h> functionality (XC8E-388) ...

Missing macros ...

 

...

 

6. Known Issues

...

6.1. MPLAB X IDE Integration

...

6.2. Code Generation

Failure with library functions and __memx (XC8-1763)  [libgcc floating point functions and a __memx argument]

Broken linker option (XC8-1755)  [use __at() to set an object's address]

Data initialization  [option to the linker isn't implemented]

Limited libgcc implementation (AVRTC-731)  [reduced core AVR]

Program memory limitations (AVRTC-732)  [>128KB program space and -mrelax may result in a linker failure]

Name space limitations (AVRTC-733) [limitations of named address spaces are in 'Special Type Qualifiers']

 


MPLAB- XC Compilers | Microchip Technology

MPLAB Ecosystem Downloads Archive | Microchip Technology

[3/4 page]

Source Archives

What are the AVR28DA128 AVR32DA128 AVR48DA128 AVR64DA128 ?? | AVR Freaks

 

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

MarkThomas wrote:
I guess I will be using Atmel Studio 7, and ATmega328Ps and ATmega1284Ps for the rest of my life, along with my $20 Chinese AVR MKII and $50 Atmel ICE, for the rest of my life.
Atmel-ICE Configuration Options - Developer Help

via

What's New? - Developer Help

...

Atmel-ICE Configuration Options 27 Aug 2019, 02:07

...

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

>it's only the IDE that is unhappy with the symbols

It hasn't been happy for years.

So I tracked this down, since it was damnably inconsistent.

 

1) Chip-specific symbols (like USART_CHSIZE_gm )

    There are actually two problems here:

  1. In order to support added-on "Packs", avr/io.h has a catch-all rule to find the right include file:

#elif defined (__AVR_ATtiny11__)
#  include <avr/iotn11.h>
#elif defined (__AVR_M3000__)
#  include <avr/iom3000.h>
#elif defined (__AVR_DEV_LIB_NAME__)
#  define __concat__(a,b) a##b
#  define __header1__(a,b) __concat__(a,b)
#  define __AVR_DEVICE_HEADER__ <avr/__header1__(io,__AVR_DEV_LIB_NAME__).h>
#  include __AVR_DEVICE_HEADER__
#else
#  if !defined(__COMPILING_AVR_LIBC__)
#    warning "device type not defined"

This is apparently (and not surprisingly) not understood by whatever logic parses the source in the editor.

If you edit the source of io.h to add:

#elif defined (__AVR_ATmega4809__)
#  include <avr/iom4809.h>

in an appropriate place, it will get happier (after you convince it to reparse everything.)

 

At least, if you're using avr-gcc.   If you're using xc8, there's an additional problem.  The compile command is something like:

"/Applications/microchip/xc8/v2.05/bin/xc8-cc"  -mcpu=ATmega4809 -c  -x c -D__ATmega4809__  -mdfp="/Applications/microchip/mplabx/v5.25/packs/Microchip/ATmega_DFP/2.0.12"  -Wl,--gc-sections -Os ...  main.c

Which works fine, but the IDE doesn't recognize -mdfp switch as creating a new include path, so when io.h ends up doing the #include <avr/iom4809.h> the IDE doesn't find it, so it can't see the 4809-specific defines.  Adding an explict include path for the pack include directory fixes it (as does copying the .h to the "normal" avr directory.)

 

Grr.  So - understood, might have workarounds, might be fixable...

 

 

The uint8_t issue is somewhat similar.  It's not a problem using avr-gcc, but using xc8, the stdint.h file that gets included in a wrapper that the IDE parser doesn't seem to deal with very well:

 

#if __STDC_HOSTED__
    :
# include_next <stdint.h>
#else
# include "stdint-gcc.h"
#endif

 

Perhaps it doesn't understand "include_next"?

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

(huh.   I wonder if this sort of parsing difficulty is what has driven the "Atmel Start" "style" of copying all the relevant include files to the project directory?)

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

westfw wrote:
Perhaps it doesn't understand "include_next"?
It's not much of a source browser if it doesn't understand ALL the preprocessor and C syntax !

 

The two(*) source browsers I find to understand pretty much everything are Intellisense in Visual Studio and the browser in Eclipse. Most others (like VassistX in AS7) have some things (like pre-pro conditionals) they can't seem to cope with.

 

(* Oh and SourceInsight but that's quite a costly option).

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1

gchapman!..haha, sometimes I wonder if you are a real human...jk ;-)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Moe123 wrote:

gchapman!..haha, sometimes I wonder if you are a real human...jk ;-)

 

I guess we will never know... however, I have seen the gchapman entity pass Turing tests occasionallywink

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

wink

I've had my fill of Turing machines in a formal methods course (a challenging computer science course)

 

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

>>Perhaps it doesn't understand "include_next"?

It's not much of a source browser if it doesn't understand ALL the preprocessor and C syntax !

Well, "#include_next" seems to be a gcc "extension", and I had never heard of it before (and yet, I knew instantly what it would do!  Well-named!)

So it seemed an obvious suspect.

 

Having lived through at least one massive change in the way the pre-processor works, I'm inclined to be a bit lenient on things that don't quite get it right.

(although at this point, you'd think that IDEs would just run the actual compiler whenever they detected a change that might affect symbol values?)

 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

14   What's New in v5.25

...

·MPLAB Code Coverage Support: Support in MPLAB X IDE for code coverage output generated by MPLAB XC C compilers in Free mode or with an MPLAB Code Coverage license (SW006026-COV). The first compiler versions with this feature are MPLAB XC8 v2.10, MPLAB XC16 v1.40, and MPLAB XC32 v2.30.

Code Coverage Overview - YouTube (4m1s)

 

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

"Dare to be naïve." - Buckminster Fuller

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I believe include_next only works with <file.h> not "file.h".

 

Apparently I am wrong: ref.

 

A few years ago I wrote a C preprocessor and swore this was an issue.  Must have been something else.

Last Edited: Wed. Sep 11, 2019 - 08:52 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0
#elif defined (__AVR_ATmega4809__)
#  include <avr/iom4809.h>

MPLABX 5.25 for AVR | Microchip

by Fabrice

[first post]

...

- The code completion is not working at all.
- so it is very painful to write correctly the code, checking every time to the corresponding include...

...

 

[last post]

...

#define __AVR_DEV_LIB_NAME__ m4809
#include <avr/io.h>

...

 

edit : another instance

https://www.avrfreaks.net/forum/where-can-i-find-atmega4809h-file-register-definitions#comment-2763436

 

"Dare to be naïve." - Buckminster Fuller

Last Edited: Fri. Sep 13, 2019 - 02:55 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I discovered (the hard way) that if you modify the "memory settings" dialog of the avr-ld options in your MPLAB project:
 

  .boot=0
  .application = 0x200

MPLAB will happily multiply those by two for you, to make up for the whole "Atmel likes word addressing, Gnu likes byte addressing" thing, and the actual link

statment will end up being:

avr-gcc ... -Wl,-section-start=.application=0x400 ...

 

(Edit: oops.  Atmel Studio does this too.  I guess I spend too much time using the CLI ...)

 

Last Edited: Wed. Sep 11, 2019 - 10:19 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

"Dare to be naïve." - Buckminster Fuller

Pages