Czerny dzien:-(

Gcc z reguły jest kompilowany pod jeden konkretny target, nie zadziałało bo pewnie masz target i?86/ia64 .

Reply to
Marek
Loading thread data ...

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.

Reply to
Marek

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.

Reply to
JDX

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ą:

formatting link
Swoją drogą ciekawe czy gcc Microchipa to nie jest przypudrowana wersja tego:
formatting link
U mnie zgłasza się tak:

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>

Reply to
JDX

Są w obudowie DIP8:

formatting link

Reply to
Pszemol

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ę:

formatting link

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.

Reply to
Marek

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*.

Reply to
JDX

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.

formatting link
Jest troszkę "bare metal", nie ma oczywiście mchpowycb plib, ale jest od czego zacząć.

Reply to
Marek

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ć.

Reply to
JDX

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.

Reply to
Marek

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?

Reply to
slawek

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.".

Reply to
Marek

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.

Reply to
slawek

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 $

Reply to
Marek

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.