Bare Metal Embedded C, w co się przekwalifikować?

0

@alagner programowanie w C jako integralna część powstawania urządzenia. W latach młodości pisałem w Basic, Bascom, teraz czasem drobnostki w C# jeśli potrzebuję "symulator" do którego podpinam nowy hardware, napisałem też soft w czystym assemblerze na AVR z obsługą FAT16 + LCD + transmisja po RS485 customowym protokołem + obsługa zegara LED z wyświetlaczami, PWM, różnymi efektami wizualnymi itp. To z assemblerem to był taki słomiany miś, działało bezbłędnie ale nikt nie wie po co to powstało. Więc... chyba programistycznie potrafię ogarniać problem, podejście do rozwiązania różni się tylko od języka.

1

Nie wiem jak stoisz z tematami takimi jak testowanie, dobre praktyki czy znajomość narzędzi (kontrola wersji np.), bo z tego co widziałem wielu embeddowców z tym ma dość mało styczności.
Niemniej - przejdź się na rozmowę do jakiegoś telco i próbuj, zdalnie to obecnie też żaden problem.

Automotive’u i podobnych z premedytacją nie polecam, ale może Tobie spasują. :)

1

Zanim poddasz się, uderz do tej firmy: https://3mdeb.com/pl/praca/ . Jeśli to co piszesz jest prawdą, myślę, że spokojnie wynegocjujesz sobie swoje 6k z pracą zdalną (nawet jeśli nie ma do końca oferty dla ciebie, „CEO” jest kumatym gościem i będzie wiedział jak użyć twoich umiejętności), ewentualnie raz na jakiś czas będziesz musiał wpaść do Trójmiasta, co raczej nie jest wielkim problemem, bo są dobre połączenia kolejowe z Wawą. Firma zajmuje się kilkoma rzeczami, corową działalnością jest tworzenie firmwareu pod konkretne płytki (brzmi jak coś co umiesz, albo szybko się przyuczysz), ale też mocno ciśnie w stronę firmware-security — rynek góra forsy dla najlepszych, może się sprawdzisz? Też widziałem, że produkują swoje urządzenia, między innymi do zdalnego testowania sprzętu. Myślę, że już jest dojrzałą technologią i będziesz dzięki niej mógł robić zdalnie. Powodzenia.

0

@alagner: staram się tego pilnować. Tak, mam swoje funkcje do testowania swoich funkcji, jakkolwiek egzotycznie to brzmi w embedded to odpalam całość na PC jako aplikację c++ (oczywiście w niektórych miejscach oderwaną od hardware, bo na PC np I2C mi nie ruszy) i puszczam testy. Dest_buff_size=0, Dest_buff_size=1, brak wskaźnika do Dest_buff, za mały Dest_buff, wymyślam każdy wariant na którym mógłbym wywalić daną funkcję. Chwalę to sobie, ogromna oszczędność czasu i komfort pracy. Soft na docelowym urządzeniu odpalam dopiero jak z emulacji na PC więcej nie wyciągnę.
Z Gita mało kto w embedded korzysta bo zazwyczaj siedzi 1 programista "moje, wszystko moje i tylko moje" więc poza backupem aktualnej pracy nie ma dużego ciśnienia na używanie tego. Do tego "środowisko programistyczne" dla embedded obecnie wygląda tak samo jak 30 lat temu, no może kolor ikonek pozmieniali. Debugowanie czegokolwiek na żywo z CPU to już sodomia, "this variable was optimized", no bajer, dopisz volatile to ci łaskawie będzie w końcu wyświetlało co tam jest.
Z dobrych praktyk też staram się korzystać, tzn nazewnictwo stałych, zmiennych, nazwy funkcji, minimalna ilość global variables, używaj tablic zamiast wskaźników jeśli sie da, formatuj kod na bardzo czytelny, itp.

0

@elwis ciekawe, w wolnej chwili odświeżę swoje CV i tam podeślę, nie mogę pokazać komercyjnych projektów ale mam trochę tych ciekawych "pobocznych".

0

C#/Rust/Go/Typescript

1

Kurcze, piszę w PHP. Większość to CRUDY czy poprawianie czcionki itp. Po prostu nuda.
Tobie też się znudzi po roku czy dwóch.
Pod Warszawą jest np. Creotech - Piaseczno. Nie wiem jakie mają warunki co do pracy ale bardzo często są od nich ogłoszenia i teraz zresztą też:
https://www.pracuj.pl/praca/i[...]k-piaseczno,oferta,1001352080
Spróbuj. Ja na Twoim miejscu dwa razy bym się zastanowił zanim zamiast jakiejś twórczej pracy miałbym robić odtwórczą.
Zobacz ile postów tu jest z cyklu "mam dość CRUDow, co mogę robić innego".

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0