Created Thu, 07 Jan 2016 16:08:10 +0000 by udokrix
Thu, 07 Jan 2016 16:08:10 +0000
Hi all, with the building script from [url]https://github.com/chipKIT32/chipKIT-cxx-build[/url] I build an pic32-compiler for Linux32. On typing pic32-g++ --version I got the following: pic32-g++ (chipKIT) 4.8.3 chipKIT Compiler for PIC32 MCUs v1.40 Build date: Jan 7 2016 Part support version: could not read xc32_device.info. Consequently the compiler did not know the PIC32MX150F128B-processor and stopped compiling a bootloader for this device.
So I copied the xc32_device.info file plus the directory device_files from the directory chipKIT-cxx-master/pic32-part-support to the directory chipKIT-cxx-master/Linux-image/pic32-tools/bin, where the just produced compilers are. A following pic32-g++ --version delivered now: pic32-g++ (chipKIT) 4.8.3 chipKIT Compiler for PIC32 MCUs v1.40 Build date: Jan 7 2016 Part support version: 1.40 (A) When trying to build the bootloader with pic32-g++ version 1.40 I got: Error: unknown processor 32MX150F128B Obviously you can not solve this problem by copying files. But how can I make the compiler knowing the devices, which are in device_file?
With version 1.40 I want to try to build a working bootloader. I hope anybody can help me to find a solution.
Regards
Udo.
Thu, 07 Jan 2016 16:21:58 +0000
Where did you get the compiler?
Thu, 07 Jan 2016 21:10:59 +0000
Hi majenko,
as I wrote in my post I built the pic32-g++ v.1.40 with the building script chipKIT-cxx-build.sh I got from [url]chipKIT32/chipKIT-cxx-build[/url], forked from jasonkajita/chipKIT-cxx-build. I modified the script so, that I only got a Linux32 compiler (not windows, apple or Linux-arm) and had to remove some comment-#s (lines 274-286), to get the sources. After ca. 75 minutes of compiling on my OpenSuSE13.1-system I had the result with the problems I described in my post.
Honestly, I don't really understand your question.
Regards
Udo.
Thu, 07 Jan 2016 22:21:32 +0000
Ah, sorry, I misunderstood what it was you were doing - it's your own compiled copy of the compiler...
I have no idea then I am afraid - I have never tried compiling that version of GCC manually. I use the pre-compiled binaries.
Fri, 08 Jan 2016 01:10:14 +0000
So far all my attempts to compile have failed miserably.
I'm not sure that script is using the right repositories. All the "official" repositories should be in the chipKIT32 user on Github, so you might like to try changing the GIT_ROOT variable to https://api.github.com/repos/chipKIT32 and make sure all the repos use that (the pic32-part-support one doesn't and would need changing to $GIT_ROOT like the others).
I don't know if that will work for you or not.
Oh, and are you trying to build a 64-bit version of the compiler? If so that probably won't work, since some internal variable sizes that are assumed to be 32 bit will in fact be 64 bit and will break things. I have been pushing for 64-bit compatibility for some time now...
Tue, 12 Jan 2016 15:09:54 +0000
Hi majenko,
thanks you for your reply. Your tip with the "official" site doesn't work, because [url]https://api.github.com/repos/chipKIT32[/url] has not all the files that are needed.
After a lot of searching and thinking I found the solution for the errors I got. The compiler pic32-g++ v1.40 built by the script chipKIT-cxx-build from [url]https://github.com/chipKIT32[/url] was absolutely ok. The pic32-g++ didn't know the processor because the device info files must be in two different directories. In my case, a linux32 build, the files xc32_device.info, deviceSupport.xml and the directory device_files have to be in the directories /yourPath/chipKIT-cxx-master/Linux-image/pic32-tools/bin and /yourPath/chipKIT-cxx-master/Linux-image/pic32-tools/pic32mx. /yourPath is the path to the directory, where the building script chipKIT-cxx-build is. You can find different "device-info-files" (differ in the length) in the compiler sources and in pic32-part-support. I took them from the free microchip xc32-compiler version 1.40. The files are found on my openSuSE 13.1 system in**/opt/microchip/xc32/v1.40/bin** and /opt/microchip/xc32/v1.40/pic32mx.
This way prepared I could build the bootloader for my custom board with a PIC32MX150F128B and avrdude made (till now) no problems to upload applications.
Regards
Udo.