Rynek pracy STM32

Jul 13, 2022 Last reply: 4 years ago 343 Replies

Dawid Rutkowski snipped-for-privacy@wp.pl napisał(a):

Moja pomyłka, to jest Xtensa LX6. A co lepsze ESP32-C3 to RISC-V. Nie wiem skąd mi się wziął ARM. W każdym razie ze względu na popularność warto mieć w portfolio.

piątek, 15 lipca 2022 o 21:20:19 UTC+2 heby napisał(a):

Ej, mowa o linuxie czy o windows? I o "współczesnym" kernelu czy też może przeglądarkach (przeglądających durne strony - bo skądś się bierze popularność apek na androida)? Po co kernelowi koprocesor? I "wydajna grafika"? Bitcoiny kopiesz kernelem czy renderujesz Tuxa 3D?

Więc co ma w sobie "współczesny" linux że ten komputerek ma nie dawać rady kernela z busyboxem? Na moim OmniBooku 800CT, pentium 166MMX z 48MB RAM i 2GB HDD linux działal ponad 20 lat (póki dysk nie zdechł).

W tramwajach też znajdę już 20-letnie cyrixy 233MHz z linuxem. Teraz wszystkie mają 128MB RAM I min. 128MB CompactFlash, ale zaczynały z 32MB RAM i nawet 16MB CF.

A to J2SE czy J2ME? J2ME, no niech będzie, że bez ekranu, mieliśmy na siemensowskich modułach TC45 i TC65. Nie nam w sumie pojęcia, jaki tam był procesor, ram i flash, ale RAMu dla użytkownika liczyło się w dziesiątkach kB (hmm, nie wiem jak z kodem, może czytał z flasha, ale do flasha szedł jar, więc raczej klasy szły do RAMu, może osobnego?). Interfejs OBEX pozwalał wgrać do modułu pliki jar i chyba inne też, a komendą AT można było ustawić, który plik jar będzię się automatycznie uruchamiał. Ciekawe na ile podobne były procki w ówczesnych telefonach siemensa, miałem jakiś taki z 45 nakońcu nazwy, miał już aparat i kolorowy wyświetlacz - 120*176? I możliwość uruchamiania aplikacji J2ME. A nadal mam nokię E51 - tu już 240*320 2 cale. I aplikacje J2ME responsywne. No, toucha nie ma. Ale nie sądzę, by komputer mocniejszy niż ten z linku - telefon z 2007. No, linuxa nie ma. To jakie pętle opóźniające ma "współczesny" linux? Bo zgodzę się, że programy mają, np. "raks sql". Baza open source firebird pójdzie wszędzie - ale ten ich żałosny program windowsowy musi mieć procesor z 4MB cache - inaczej zabija działanie prędkość DDRów...

On 15.07.2022 21:20, heby wrote: [...]

A kiedy to pisałeś? Mogę się mylić, ale wydaje mi się, ze ta kość 20+ lat ma. Gdy zaczynałem się interesować LPC2000 Philipsa (czyli ARM7TDMI), to te Samsungi już były.

On 15.07.2022 21:03, Piotr Gałka wrote: [...]

Tu nie chodzi o samouctwo, tylko mentalność, w wyniku której odrzuca się obiektywnie lepsze rozwiązania z powodów typu „a bo to nowe, po co mi to” czy „eee, uczyć się trzeba”. No i dochodzi do patologi takich jak kontrola wersji w postaci zip-ów przechowywanych na serwerze FTP (ja, już w XXI wieku, spotkałem się z wersją na serwerze SMB, w znanej polskiej firmie, potentata w swojej branży :-D ), chociaż systemy kontroli wersji istnieją od dziesięcioleci.

Maleńki to może być np. 32 bitowy MIPS w obudowie 28-pinowej z ilością flasha jak wyżej i zapewne ze sporo większą ilością RAM-u. W każdym razie chodzi o to, że producenci krzemu nas rozpieścili. Oferują coś co jest szybsze, ma więcej zasobów, jest mniej problemów z jego oprogramowaniem i kosztuje tyle samo co stary ośmiobitowiec. Stawia to więc pod znakiem zapytania sensowność użycia ośmiobitowca w nowym projekcie. Absolutnie nie twierdzę, że jest to złe, ale IMO trzeba się zastanowić, czy nie warto zrezygnować ze starej dobrej i dobrze znanej '51 czy AVR i zainwestować trochę czasu w poznawanie czegoś nowego. Tylko uwaga, nie MIPS-a – ta architektura właśnie umarła:

formatting link

czwartek, 14 lipca 2022 o 14:39:49 UTC+2 Piotr Wyderski napisał(a):

Jeśli to nie podpada pod NDA - interfejs do tej bazy też wymyślają nowy czy czarują, ale pod nieśmiertelny SQL?

Hmm, a silicon valley nie pomaga jakoś w założeniu konta w cywilizowanym kraju? Czy banki USAńskie wymagają jednak rezydencji? Bo chyba nie obywatelstwa? No bo chyba doliniarze pozwolenie na pracę załatwiają, a "zdalna" praca niczym nie różni się chyba od "zwykłej" green card? Oczywiście nie namawiam do ukrywania dochodów, ale wypłacanie wszystkich dolarów przez ocean i trzymanie oszczędności w $ w polskim banku jest bez sęsu. Z euro łatwiej, można zdalnie założyć konto w niemieckum N26 i nawet w celu płacenia nie trzeba kupować złotówek - placisz kartą, i to nawet podobno, jak się chwalą, po kursie EBC.

piątek, 15 lipca 2022 o 14:44:50 UTC+2 heby napisał(a):

Żeby nie było tylko flejmu, to techniczne pytania:

- kiedy to było?

- musiał być kolor? I touch (choć pewnie jednopunktowy i rezystywny)?

- i linux po coś innego niż java?

- jaki był "pośrednik" między javą/swingiem a sprzętem graficznym - X, console framebufer, jeszcze coś innego?

- po co wątki?

- jakie zagadnienia realtime? To był tylko panel kontrolny czy też sterownik tego urządzenia (samo urządzenie nie miało innego komputera)?

O Linuxie, w moim wyapdku.

Urządzenie pracuje na WinCE, QTopia i Linux.

Współczesny kernel ręcznie kompilowany aby się zmieścił, z buxyboxem.

Połowa prostych poleceń z busybox wymaga FPU. Jak nie masz, wyleci wyjątek. W tym wypadku wymaga wkompilowania emulacji.

Widziałeś kiedyś grafikę wpiętą przez SPI, taką pod 320x256x16? Ta nie jest wpięta w SPI, ale odczucie podobne - refresh rate poniżej 10fsp. To oznacza, że dla uzytkownika "działa wolno".

FPU, wiecej RAMu, więcej mocy obliczeniowej.

Podobno Java klęka na super-serwerach.

No więc nie klęka na takim maleństwie.

A odpalasz tam jakąs Javę do sterowania procesów przemysłowych?

Z ekranem. Mówie, że wyświetla GUI na Swingu.

~2009.

Zaznaczam, że nie ja wybierałem hardware. Było *zastane*.

~2009. Przyznaję jednak, że trochę zgaduje, bo nie mam teraz dostępu do lepszej estymacji.

Taki był zastany. Nie musiał być, ale ten panel pracował w warunkach hali produkcyjnej, był już zamontowany i sens zmiany nie wydawał się atrakcyjny finansowo i czasowo.

Linux dlatego, że był gotowy kernel na ten CPU dostarczony przez chińczyków.

Java dlatego, że oprogramowanie sterujace wczęsniej pracowało na PC i zostało (po lekkim dostosowaniu GUI do innego rozmiaru) przeniesione prawie za darmo.

Najwięcej czasu pochłoneło uruchomienie Linuxa na tej maszynie tak, aby działała Java. To nie było wcale trywialne, domyślna konfiguracja kernela na tą maszynę nie zawiera wielu ważnych detali (emulacja FPU, jakieś brakujące syscalle z których korzysta Java itp, mało już tego pamietam).

X na framebuffer. Framebuffer jako element jądra dostarczony z urządzeniem w postaci patchy na kernel. Osiągał bardzo słabe fps, miałem nawet podejrzenia czy nie jest wpięty przez SPI, ale gdzieś potem dowiedziałem się, że ten typ tak ma.

Bo aplikacja obsługiwała 4 niezależne maszyny, a sam algortym sterujący był napisany w JavaScript, odpalającym się pod Rhino (Javowy interpreter JS). Urzedzenie ogarniało 4 niezlaeżne jednostki wymagajace osobnego i niezależnego sterowania, z bardzo dużą ilością stanów i decyzji do podjęcia po drodze. Całośc procesu była zapisana w języku JS.

Na przykład miałeś wąski czas kiedy mogłeś odczytać parametry elektryczne silnika (moc/prąd itd). To tak pod 50ms.

Gdyby java była tak strasznie niedobra, to było by niemozliwe. Tymczasem nie tylko Java dawała rade, ale dodatkowo te parametry odczytywał skrypt w JavaScript pracujący jako embedowany język w środku aplikacji w Javie. Czyli dodatkowa warstwa spowolnienia.

Kiedy się tego podejmowałem nie wiedziałem, czy to w ogóle możliwe. Okazało się nie tylko możliwe ale relatywnie proste - po ogarnięciu odpalania Javy wystarczyło dostosować GUI apliakcji do mniejszego wyświetlacza i ruszyła bez zająknięcia. Tu była ogromna zaleta - aplikacja wcześniej pracowała na PC i była sprawna, przetestowana, dopieszczona.

To było jedno i drugie:

1) kilka niezależnych wątków obsługujących kilka niezależnych maszyn na róznych etapach pracy 2) zbieranie danych pomiarowych i sterowanie układami wykonawczymi (RS485) 3) wysyłanie wyników do centralnej bazy danych przez sieć 4) obserwacja na żywo stanu na wyświetlaczu 5) kilka elementów interakcyjnych pozwalających na ręczne przejęcie sterowania nad dowolną z maszyn.

Możesz założyć, że to był automatyczny tester produktów z dość skomplikowanymi operacjami wymagającymi kilkunastu akcji i odczytów parametrów elektrycznych i mechanicznych w określonym czasie. Obsługujący dowolną ich liczbę (ale praktycznie tylko 4 z uwagi na zwykłe gabaryty maszyny).

PS. Znalazłem sprawny egzemplarz w domu, a czkolwiek bez maszyny niewiele na nim można zobaczyć bo uruchamia się w trybie raportujacym błedy łaczoności.

Musisz się spieszyć bo to ostatni dzwonek może być (sądząc po wieku).

Po 40 trudniej jest. Ale, na pocieszenie powiem, że po 50 to się nabiera dystansu do życia. :)

jp

Korpo zatrudni wszystkich. Nie ma co wybrzydzać, na rynku jest dziura nie do zasypania.

Na początku roku człek którego znam, lat 61 został zatrudniony na stanowisku programisty. Ne managera, nie dyrektora, nie architekta. W korpo.

Tam jest zakaz dyskryminacji ze względu na wiek.

To pewnie tak właśnie zrobię.

U nas jest pół na pół. Korpo wprawdzie duże, ale lokalnie to januszex.

To prawda -- jak mnie coś zaciekawi, to nie trzeba mnie zmuszać, sam chętnie posiedzę po godzinach, żeby skończyć i mieć efekt.

Byle dało się potem odespać, a nie zrywać na rano, bo ktoś tak sobie wymyślił.

U nas teoretycznie są teraz powroty do biur. Na razie olewam. Mój bezpośredni przełożony ma takie samo zdanie -- też nie ma ochoty wracać, poza tym sam powiedział, że on każe, bo jemu każą, ale nie będzie tego pilnował ani wymagał.

Ja już sobie postanowiłem, że do biura nie wracam. Nie za takie pieniądze. Jak mnie zmuszą, to złożę wypowiedzenie i tyle, i tak już dawno powinienem to zrobić. Przeprowadziłem się, mam trochę dalej, niż miałem, dorobiłem się normalnego biurka, monitorów i fotela (wcześniej nie miałem, dlatego praca z domu była trudniejsza)... za wygodnie mi. Tym bardziej, że nie ma to żadnego sensu bo wszystko, co zrobię w pracy, zrobię i w domu, najwyżej jadąc od czasu do czasu po jakiś sprzęt.

Nie był. 286.

U mnie zaczęło się od przyspieszonego kursu na

formatting link

Tak. 1.61. Nie ma nowszej dla DOSa.

A jak mnie najdzie na muzykę, to robię w FastTrackerze 2.

Miałem okres, gdy zajmowałem się elektroniką, nazwijmy to, półprofesjonalnie. To było ok. 2010 r. Wtedy zamawiałem płytki w Satland i Faldruku i nie robili problemów -- dostawali po prostu pliki .PCB i je sobie odpowiednio obrabiali. Jak byłoby teraz... nie wiem, sam robię swoje PCB, bo robię tylko pojedyncze projekty na własne potrzeby, tym bardziej, że przez ten czas dopracowałem sobie proces. Ale myślę, że jakby kręcili nosem, to eksport do Gerbera rozwiązałby problem.

Ja tak samo. Dlatego chociaż część oszczędności trzymam w walutach, to nadal jest to w polskim banku i nie bardzo wiem, jak to można inaczej rozwiązać. Wypłata i trzymanie waluty w domu wydaje się chyba jedynym rozwiązaniem.

Czyli niech hobby pozostanie hobby :)

Poczekamy, zobaczymy...

Zanim oddasz do muzeum: jest wielu ludzi którzy oddadzą całe serce w naprawę/uruchmienie takiego sprzętu, który ma wartośc sentymentalną lub historyczną. To bęą głównie maszyny 8-bit, ale i stare PCty się załapią. Muzeum niekoniecznie jest najlepszym miejscem do oddawania sprzętu, nie wiem jak w Katowicach, ale w wielu muzeach to oznacza zapakowanie w karton w piwnicy.

Jest pełno grup Facbookowych zajmujących się konkretnymi sprzętami retro. Nie twierdzę, że nie ma tam "kolekcjonerów do szafy" ale rzecz w tym, że jest tam wielu etuzjastów retro, w tym ja :P

No i niektóre elementy (np. karty na ISA) zaczynaja osiągać kosmiczne ceny - zanim oddasz - zorientuj się.

W dniu 2022-07-15 o 21:20, heby pisze:

Kompletnie nie znam się na systemach operacyjnych. Nie mam bladego pojęcia ile potrzeba pamięci na najprostszego Linuxa. Myślałem, że może względnie mało.

Już wiem - u nas duży ma tyle k flasha co u Ciebie maleńki ma M flasha :)

P.G.

Problemem nie jest flash, tylko RAM ;)

Wpolczesnego?

Nie pamietam ... chyba odpalalem na 8MB. Ale to bylo 20+ lat temu -)

Byl jeszcze minix, chyba chodzil na AT z 1MB.

Raspberry Pi mialo kiedy 256MB RAM. Dzis ma 4GB.

J.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required