metal
Global Moderator
Hero Member
   
Offline
Posts: 2390
Thank You
-Given: 805
-Receive: 645
Top Topic Starter
|
 |
« on: June 29, 2012, 12:20:40 00:20 » |
|
XC32 Compilers Discussion Topic
|
|
|
Logged
|
|
|
|
8bitMCU
Newbie
Offline
Posts: 8
Thank You
-Given: 6
-Receive: 19
|
 |
« Reply #1 on: August 10, 2012, 11:39:48 23:39 » |
|
MPLAB xc32 v1.10 has been release http://www.microchip.com/mplabxc32windowsNew Features in MPLAB® XC32 v1.10 Support for C++ Standard C++ Library
|
|
|
Logged
|
|
|
|
marcodassi
Junior Member

Offline
Posts: 37
Thank You
-Given: 65
-Receive: 22
|
 |
« Reply #2 on: August 12, 2012, 11:10:48 11:10 » |
|
Just downloaded XC8, XC16 and XC32 1.10; tested with current fix; results: - XC8 1.10 - fine, works in Pro mode with all optimizations; - XC16 1.10 - fine, works in Pro mode with all optimizations; - XC32 1.10 - DOESN'T WORK - the compiler stays in Free mode, no optimizations allowed I've tried to copy xclm.exe in the "\Program Files\Microchip\xc32\v1.10\bin" folder too, with no luck. Please fix it, if possibile  Thank you very much in advance! 
|
|
|
Logged
|
|
|
|
Top
Senior Member
  
Offline
Posts: 341
Thank You
-Given: 47
-Receive: 1706
|
 |
« Reply #3 on: August 13, 2012, 07:20:55 19:20 » |
|
- XC32 1.10 - DOESN'T WORK - the compiler stays in Free mode, no optimizations allowed
Fix updated; see http://www.sonsivri.to/forum/index.php?topic=44014.0
|
|
|
Logged
|
|
|
|
marcodassi
Junior Member

Offline
Posts: 37
Thank You
-Given: 65
-Receive: 22
|
 |
« Reply #4 on: October 05, 2012, 10:50:54 10:50 » |
|
XC32 1.11 is out! testing now... update: latest "medicine" seems to work 
|
|
« Last Edit: October 05, 2012, 11:02:52 11:02 by marcodassi »
|
Logged
|
|
|
|
tomywong
Active Member
 
Offline
Posts: 122
Thank You
-Given: 90
-Receive: 179
|
 |
« Reply #5 on: October 26, 2012, 03:01:26 03:01 » |
|
|
|
|
Logged
|
|
|
|
marcodassi
Junior Member

Offline
Posts: 37
Thank You
-Given: 65
-Receive: 22
|
 |
« Reply #6 on: October 26, 2012, 11:32:17 11:32 » |
|
latest "medicine" seems to work on this update too 
|
|
|
Logged
|
|
|
|
respected
Inactive
Offline
Posts: 6
Thank You
-Given: 1
-Receive: 0
|
 |
« Reply #7 on: November 28, 2012, 12:07:07 12:07 » |
|
This medicine is *.c file but it doesn't work *.cpp file. Microchip released cpp license file at web page.
|
|
|
Logged
|
|
|
|
Manuel
Active Member
 
Offline
Posts: 207
Thank You
-Given: 326
-Receive: 110
|
 |
« Reply #8 on: December 11, 2012, 09:28:29 21:28 » |
|
|
|
|
Logged
|
-> An Apple a Day does not Let U become a Macintosh!
|
|
|
PaulC
Active Member
 
Offline
Posts: 170
Thank You
-Given: 3935
-Receive: 133
information is free and should be shared for free
|
 |
« Reply #9 on: February 06, 2013, 07:44:43 19:44 » |
|
Microchip's Free MPLAB® XC32++ Compiler for all 32-bit PIC32 MCUs offers unlimited code generation Key Facts: Free C++ Compiler enables maximum code re-use Standards compliant for commercial applications Includes Dinkumware® Libraries and has no time or memory limits Supports all Microchip 32-bit PIC32 microcontrollers Workstation and network server licenses are also available for best-in-class optimisations Microchip has announced its free C++ compiler with unlimited code generation: The Free MPLAB® XC32++ Compiler supports all of Microchip’s 32-bit PIC32 microcontrollers (MCUs). This compiler enables designers to develop and re-use C++ projects by making all of Microchip’s C language extensions available in an environment that is compliant with the majority of C++98 and C++2003 ANSI standards. Additionally, the Free MPLAB XC32++ Compiler includes Dinkumware® standard C, C++, and template libraries. The Free version of the MPLAB XC32++ Compiler is available for download now; has no time or memory limits; and can be used in a broad range of commercial applications, from industrial to academic environments. For users who demand best-in-class optimisations or a network server license, the MPLAB XC32++ PRO Workstation License (SW006023-3), and the MPLAB XC32++ PRO Network Server License (SW006023-3N), are also available. Existing licensees of Microchip’s MPLAB XC32 compilers can add the XC32++ option with a workstation or network-server license. For more information, or to download the Free version of the MPLAB XC32++ Compiler, visit Microchip’s Web site at http://www.microchip.com/get/10E7. The MPLAB XC32++ PRO Workstation License and MPLAB XC32++ PRO Network Server License are available at: http://www.microchip.com/get/R7TC
|
|
|
Logged
|
find it , read it , share it .
|
|
|
8bitMCU
Newbie
Offline
Posts: 8
Thank You
-Given: 6
-Receive: 19
|
 |
« Reply #10 on: May 02, 2013, 11:01:18 11:01 » |
|
|
|
|
Logged
|
|
|
|
marcodassi
Junior Member

Offline
Posts: 37
Thank You
-Given: 65
-Receive: 22
|
 |
« Reply #11 on: May 02, 2013, 03:52:30 15:52 » |
|
seems to work  BTW, no major improvements in 1.21... "only" new parts, header & linker scripts updates
|
|
|
Logged
|
|
|
|
Catcatcat
Senior Member
  
Offline
Posts: 256
Thank You
-Given: 152
-Receive: 798
|
 |
« Reply #12 on: October 30, 2013, 04:08:37 16:08 » |
|
released a new version Windows (x86/x64) MPLAB® XC32 Compiler v1.22
|
|
|
Logged
|
|
|
|
Manuel
Active Member
 
Offline
Posts: 207
Thank You
-Given: 326
-Receive: 110
|
 |
« Reply #13 on: November 14, 2013, 03:30:09 15:30 » |
|
FYI: released a new version Windows (x86/x64) MPLAB® XC32 Compiler v1.30
Manuel.
|
|
|
Logged
|
-> An Apple a Day does not Let U become a Macintosh!
|
|
|
marcodassi
Junior Member

Offline
Posts: 37
Thank You
-Given: 65
-Receive: 22
|
 |
« Reply #14 on: November 14, 2013, 04:49:08 16:49 » |
|
Manuel: Thank you, but: where is it?  edit: found! on the mchip site (but is still listed as 1.22)
|
|
|
Logged
|
|
|
|
Catcatcat
Senior Member
  
Offline
Posts: 256
Thank You
-Given: 152
-Receive: 798
|
 |
« Reply #15 on: November 14, 2013, 06:25:04 18:25 » |
|
Do not believe what is written, and just click and you will be happy 
|
|
|
Logged
|
|
|
|
Catcatcat
Senior Member
  
Offline
Posts: 256
Thank You
-Given: 152
-Receive: 798
|
 |
« Reply #16 on: January 10, 2014, 12:32:55 12:32 » |
|
|
|
|
Logged
|
|
|
|
Manuel
Active Member
 
Offline
Posts: 207
Thank You
-Given: 326
-Receive: 110
|
 |
« Reply #17 on: June 03, 2014, 11:36:23 11:36 » |
|
FYI: released a new version Windows (x86/x64) MPLAB® XC32 Compiler v1.32
'njoy
Manuel.
|
|
|
Logged
|
-> An Apple a Day does not Let U become a Macintosh!
|
|
|
marcodassi67
Inactive
Offline
Posts: 1
Thank You
-Given: 5
-Receive: 0
|
 |
« Reply #18 on: June 16, 2014, 02:55:26 14:55 » |
|
They check for modified xclm file as is in latest XC32 release.
hello petarp, you mean latest xclm doesn't work with XC32? I've tried it some time ago and it seems working,,,
|
|
|
Logged
|
|
|
|
petarp
Junior Member

Offline
Posts: 68
Thank You
-Given: 26
-Receive: 51
|
 |
« Reply #19 on: June 16, 2014, 04:16:50 16:16 » |
|
Hi marcodassi67, Yes XC32 v1.32 checks for modified "xclm" file. Here is the fix for XC32: 1. Open "C:\Program Files\Microchip\xc32\v1.32\bin\bin\gcc\pic32mx\4.5.2\cc1.exe" file with hex editor. 2. Find these bytes "75 6a 89 5d" and replace first two bytes with "90" ("90 90 89 5d"). 3. Do same with "C:\Program Files\Microchip\xc32\v1.32\bin\bin\gcc\pic32mx\4.5.2\cc1plus.exe" and "C:\Program Files\Microchip\xc32\v1.32\bin\bin\gcc\pic32mx\4.5.2\lto1.exe" files. 4. And use latest "xclm" file from here. It works for C++ too.
Regards.
|
|
|
Logged
|
|
|
|
Wannabe
Global Moderator
Senior Member
   
Offline
Posts: 430
Thank You
-Given: 227
-Receive: 285
|
 |
« Reply #20 on: June 16, 2014, 05:17:53 17:17 » |
|
Hi marcodassi67, Yes XC32 v1.32 checks for modified "xclm" file. Here is the fix for XC32: 1. Open "C:\Program Files\Microchip\xc32\v1.32\bin\bin\gcc\pic32mx\4.5.2\cc1.exe" file with hex editor. 2. Find these bytes "75 6a 89 5d" and replace first two bytes with "90" ("90 90 89 5d"). 3. Do same with "C:\Program Files\Microchip\xc32\v1.32\bin\bin\gcc\pic32mx\4.5.2\cc1plus.exe" and "C:\Program Files\Microchip\xc32\v1.32\bin\bin\gcc\pic32mx\4.5.2\lto1.exe" files. 4. And use latest "xclm" file from here. It works for C++ too.
Regards.
And here is the patcher for XC32. Great work, petarp  I guess there's only a matter of time before XC16 needs the same treatment...
|
|
« Last Edit: June 16, 2014, 05:20:20 17:20 by Wannabe »
|
Logged
|
|
|
|
juvann
Newbie
Offline
Posts: 18
Thank You
-Given: 7
-Receive: 61
|
 |
« Reply #21 on: July 13, 2014, 03:16:16 15:16 » |
|
Now xc32 calculate the sha256sum of file xclm. In linux version the sum of origina xclm is 4fae1d53570ebffe637d8c5f77789ecbe690f67af65d0e3af8474bfee479239e with a perl command with can replace it with new sum sha256sum /opt/microchip/xc32/v1.32/bin/xclm perl -pi -e 's/4fae1d53570ebffe637d8c5f77789ecbe690f67af65d0e3af8474bfee479239e/NEW VALUE OF SHA256SUM/g' /opt/microchip/xc32/v1.32/bin/bin/gcc/pic32mx/4.5.2/cc1 perl -pi -e 's/4fae1d53570ebffe637d8c5f77789ecbe690f67af65d0e3af8474bfee479239e/NEW VALUE OF SHA256SUM/g' /opt/microchip/xc32/v1.32/bin/bin/gcc/pic32mx/4.5.2/cc1plus
|
|
|
Logged
|
|
|
|
Catcatcat
Senior Member
  
Offline
Posts: 256
Thank You
-Given: 152
-Receive: 798
|
 |
« Reply #22 on: August 14, 2014, 04:17:05 16:17 » |
|
|
|
« Last Edit: December 12, 2014, 10:04:48 10:04 by Catcatcat »
|
Logged
|
|
|
|
frnando
Newbie
Offline
Posts: 24
Thank You
-Given: 10
-Receive: 4
|
 |
« Reply #23 on: November 10, 2014, 09:55:38 21:55 » |
|
Sorry, but the patcher/xclm is still working with v1.33? Thanks.
|
|
|
Logged
|
|
|
|
bluex
Junior Member

Offline
Posts: 83
Thank You
-Given: 10
-Receive: 37
|
 |
« Reply #24 on: December 26, 2014, 11:22:25 23:22 » |
|
|
|
|
Logged
|
|
|
|
pic64
Inactive
Offline
Posts: 1
Thank You
-Given: 0
-Receive: 1
|
 |
« Reply #25 on: June 18, 2015, 08:51:43 20:51 » |
|
|
|
|
Logged
|
|
|
|
Manuel
Active Member
 
Offline
Posts: 207
Thank You
-Given: 326
-Receive: 110
|
 |
« Reply #26 on: June 19, 2015, 08:19:40 08:19 » |
|
|
|
|
Logged
|
-> An Apple a Day does not Let U become a Macintosh!
|
|
|
Armageddon
Junior Member

Offline
Posts: 64
Thank You
-Given: 58
-Receive: 56
|
 |
« Reply #27 on: December 04, 2015, 08:37:39 20:37 » |
|
Fix for XC32 v1.40. Steps: 1. Open "C:\Program Files\Microchip\xc32\v1.40\bin\bin\gcc\pic32mx\4.8.3\cc1.exe" file with your favorite hex editor. 2. Find and replace these bytes "0F 85 CC 00 00 00 8D 44" with " 90 E9 00 00 00 00 8D 44". 3. Do same with "C:\Program Files\Microchip\xc32\v1.40\bin\bin\gcc\pic32mx\4.8.3\cc1plus.exe" and "C:\Program Files\Microchip\xc32\v1.40\bin\bin\gcc\pic32mx\4.8.3\lto1.exe" files. 4. Use latest "xclm" file from here, i.e: xclm int main(){ return 2; } Tested under Windows 10 and MPLAB X IDE v3.15. More info: http://www.jubatian.com/articles/turning-on-optimizations-in-microchips-xc32/Note: I used the same technique that petarp, but now: 90 = nop E9 = jmp 00 00 00 00 = $ + 5 Cheers.
|
|
|
Logged
|
Problems that appear small are large problems that are not fully understood.
|
|
|
Catcatcat
Senior Member
  
Offline
Posts: 256
Thank You
-Given: 152
-Receive: 798
|
 |
« Reply #28 on: July 14, 2017, 10:51:16 10:51 » |
|
Update MPLAB® XC32 v1.44Fixed in v1.44 XC32-720 In the MPLAB XC32 v1.43 release, the linker incorrectly treated all symbols in the input object files as weak. This meant that non-weak symbols could not override weak symbols. The correct behavior of weak and non-weak symbols has been restored. XC32-709 When compiling and linking with Smart IO and the Legacy Libc, printf() and related functions may print incorrect output. Under some conditions, the format specifier could get printed. This issue has been fixed. XC32-708 In XC32 v1.43 and earlier, When compiling and linking with the Non-Legacy Libc, printf() and related functions did not handle the %ll conversion specifier correctly when the value has non-zero bits in the upper 32-bit positions. XC32-707 XC32 v1.43 emitted a linker error when applying the coherent attribute to a zero-sized section. (Ex: uint8_t __attribute__((coherent)) ary[0]; ) The linker now emits an error when it can't allocate only non-zero sized sections. The medicine works !!
|
|
|
Logged
|
|
|
|
Git
V.I.P
Junior Member
   
Offline
Posts: 56
Thank You
-Given: 84
-Receive: 17
|
 |
« Reply #29 on: February 08, 2018, 10:24:09 22:24 » |
|
Any medicine for XC32 2.05 please?
|
|
|
Logged
|
|
|
|
Catcatcat
Senior Member
  
Offline
Posts: 256
Thank You
-Given: 152
-Receive: 798
|
 |
« Reply #30 on: February 09, 2018, 08:07:33 08:07 » |
|
Compared the work of version 1.44 and 2.05 - 3 - Optimize yet more favoring speed medicine "standard"  as for my project, it makes no difference, everything works!
|
|
|
Logged
|
|
|
|
Git
V.I.P
Junior Member
   
Offline
Posts: 56
Thank You
-Given: 84
-Receive: 17
|
 |
« Reply #31 on: February 09, 2018, 01:10:43 13:10 » |
|
I looked with a magnifier, but still no difference to see  Plenty of 0F 85 CC 00 00 00 xx xx but no 0F 85 CC 00 00 00 8D 44
|
|
« Last Edit: February 09, 2018, 02:16:53 14:16 by Git »
|
Logged
|
|
|
|
|
adamantium
Newbie
Offline
Posts: 12
Thank You
-Given: 17
-Receive: 7
|
 |
« Reply #33 on: February 19, 2018, 03:25:28 03:25 » |
|
Any medicine for XC32 2.05 please?
I can also confirm the old xclm.exe works, just rename the one in the /bin directory to xclm.old, copy in the xclm.exe patcher and run as administrator.
|
|
|
Logged
|
|
|
|
MetaMetal
Junior Member

Offline
Posts: 46
Thank You
-Given: 51
-Receive: 238
|
 |
« Reply #34 on: December 15, 2018, 02:50:29 14:50 » |
|
xc32 v2.15 is out. medicine works fine.
|
|
|
Logged
|
|
|
|
Catcatcat
Senior Member
  
Offline
Posts: 256
Thank You
-Given: 152
-Receive: 798
|
 |
« Reply #35 on: June 08, 2019, 06:24:33 18:24 » |
|
MPLAB® XC32/32++ Compiler v2.20 (link to the latest compiler version) everything is working!
|
|
|
Logged
|
|
|
|
Catcatcat
Senior Member
  
Offline
Posts: 256
Thank You
-Given: 152
-Receive: 798
|
 |
« Reply #36 on: August 30, 2019, 06:56:57 06:56 » |
|
MPLAB® XC32/32++ Compiler v2.40 (link to the latest compiler version) everything is working!
|
|
« Last Edit: February 22, 2020, 07:49:50 19:49 by Catcatcat »
|
Logged
|
|
|
|
Manuel
Active Member
 
Offline
Posts: 207
Thank You
-Given: 326
-Receive: 110
|
 |
« Reply #37 on: May 30, 2020, 02:04:10 14:04 » |
|
updated to MPLAB® XC32/32++ Compiler v2.41
Thank you , still perfect.
X!
|
|
|
Logged
|
-> An Apple a Day does not Let U become a Macintosh!
|
|
|
Catcatcat
Senior Member
  
Offline
Posts: 256
Thank You
-Given: 152
-Receive: 798
|
 |
« Reply #38 on: September 24, 2020, 08:39:35 08:39 » |
|
MPLAB® XC32/32++ Compiler v2.50 (link to the latest compiler version) everything is working! On my projects, the new version of the compiler has shown an improvement in optimization for data in RAM (packs 1.2.51).
|
|
|
Logged
|
|
|
|
|