Gcc z reguły jest kompilowany pod jeden konkretny target, nie zadziałało bo pewnie masz target i?86/ia64 .
Gcc z reguły jest kompilowany pod jeden konkretny target, nie zadziałało bo pewnie masz target i?86/ia64 .
Faktycznie może stworzenie alternatywnych free toolsów do programowania pic32 używając natywne gcc dla mipsa może być prostsze niż się wydaje dzięki retrobsd. Można by było wykorzystać w pewnyn zakresie startup z retrobsd. Hmm.
Mam zainstalowane wersje gcc generujące kod dla czterech rodzin procesorów: i386, H8, MIPS oraz ARM i każda z nich ma swoją listę architektur które można zapodać w -march. Do tego wszystkie są jednocześnie widoczne w PATH, a to dzięki temu, że kompilatory skrośne mają "dziwne" prefiksy w nazwach poszczególnych narzędzi, np. mips-sde-elf- dla narzędzi z toolchaina dla MIPS-a.
Wcześniej nie znałem tego projektu, ale teraz rzuciłem okiem i wygląda na to, że takie narzędzia od dawna już są:
c:\Tools\pic32-tools\pic32mx\bin>.\gcc --version gcc (chipKIT) 4.5.1 chipKIT Compiler for PIC32 MCUs v1.31-20120614 Copyright (C) 2010 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
c:\Tools\pic32-tools\pic32mx\bin>
Są w obudowie DIP8:
To wygląda odwrotnie, v1.31 to numeracja chip wersji Microchipowych gcc, oni w ogóle kompilator sobie nazwali xc32. Diffa, który pokazałem był z wersji xc32 1.33, który jest w oparciu o gcc 4.5.2. Z tego co kojarzę, były takie projejty (nie pamiętam nazw), że wzięto źródła udostępniane przez Mchp i zbudowano z nich toolchain. Ale przestano to dalej akualizować a Mchp wydał kolejne aktualizacje wspierające nowe układy, co spowodowało, że te toolchainy stały się mniej atrakcyjne. Teraz sprawdziłem, zgadza się:
Chipkitowa wersja to fork starszej wersji xc32, może nie mieć jeszcze wsparcia dla mx2xx/1xx lub układów z mmu mz. Byłbyś tak uprzejmy sprawdzić (skoro już masz wersję z chipkit) czy możesz skompilować i zlinkować jakiś dummy kod z opcjami
-mprocessor=32MX470F512H oraz -mprocessor=32MX250F128B.
On 2016-02-01 10:08, Marek wrote: [...]
Programik testowy: #include <stdio.h>
int main( int argc, char* argv[] ) { printf( "Hello World!\n" ); return 0; }
D:\WorkDir>pic32-gcc -mprocessor=32MX470F512H -Wall -o testpic.elf testpic.c c:/tools/pic32-tools/bin/../lib/gcc/pic32mx/4.5.1/../../../../pic32mx/bin/ld.exe : cannot find -lmchp_peripheral_32MX470F512H collect2: ld returned 1 exit status
D:\WorkDir>
D:\WorkDir>pic32-gcc -mprocessor=32MX250F128B -Wall -o testpic.elf testpic.c
D:\WorkDir>
Rozmiar wygenerowanego ELF-a w tym drugim przypadku to 257716 bajtów.
W każdym razie w katalogu <PIC32_TOOLS_ROOT>\pic32mx\lib są biblioteki libmchp_peripheral_32MX460F*, a zaraz po nich libmchp_peripheral_32MX534F*. Brak jakichkolwiek 32MX470F*.
Jakby kogoś interesowało, Serge wczoraj na moją prośbę upublicznił (zasób był do tej pory prywatny) swój startup dla pic33mx wraz z przykładowym plikiem c. Umożliwia skompiliwanie i kompletne zlinkowanie kodu używając tylko "czysty" gnu gcc/mpis.
Napracował się chłopak. Bo chociaż sporządzenie takiego pic32mx.h jest koncepcyjnie trywialne, to jednak wymaga mnóstwa mrówczej pracy z manualem. Do tego trzeba bardzo uważać aby się gdzieś nie pomylić.
No też jestem pod wrażeniem, ale to i tak jest pikuś w porównaniu z portem 2.11BSD jaki zrobił na ten mcu, o LiteBSD na MZ nie wspominając.
Głupie pytanie: a licencję GPL tego GCC przeczytali? IANAL, jednak GCC zmodyfikowane przez MC jest na GPL, ergo wy...nie z niego czegokolwiek (DRM) przez end usera jest zgodne z EULA. I z faktu że GPL implikuje Open Source to wykonalne. Co więcej, ów end user może puszczać to potem dalej w obieg, byleby na licencji GPL.
Cała idea GPL jest by etc. A tu czytam, że MC dało radę wy...ć ruch GNU. Albo tak można. I wtedy też tak bym chciał. Albo jednak nie można. I wtedy MC pcha się w przegrany proces. Więc jak jest?
Nikt nigdzie nie powiedział, że mchp wy.... GNU. Dystrybują wersję binarną, źródła oczywiście też udostępniają ale co z tego, skoro 90% winuserów nie jest w stanie z tego skorzystać? Poza tym mimo, że to jest kod GPL to modyfikacja źródeł i wywalenie mchp. ograniczeń jest traktowane jako tabu, nikt oficjalnie na forum mchp nie mówi "hej nie płacicie im $1000 bo przecież możecie zmodyfikować i skompilować ze źródeł, to prawo _daje_ wam GPL.".
Użyj Google. Jest to dyskutowane od lat.
Wcześniej mnie to nie interesowało. Ale dziś w pięć minut znalazłem setki linków.
Użyj Google. Jest bardzo dokładnie, fakt że po angielsku, wyjaśnione. Od return 2 po wypie... lm raz na zawsze.
MC, robiąc beke z GPL, zachowuje się aspołecznie, na, a może nawet poza krawędzią prawa. To implikuje nieufność co do ich planów odnośnie. Ale oczywiście możesz mieć votum separatum.
Anyway GPL to licencja. Że za darmo nie oznacza że wolno nie przestrzegać. Nokia już się przekonała.
Ale o czym piszesz?? Jaka znowu beke? W którym miejscu GPL zabrania pobierania opłat? Mchp ma do tego prawo. Na świecie jest tysiące firm co sprzedaje soft wydany na GPL za setki tys $
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.