eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaRynek pracy STM32Re: Rynek pracy STM32
  • Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.man.lodz.pl!newsfeed.pionier.net.p
    l!3.eu.feeder.erje.net!2.eu.feeder.erje.net!feeder.erje.net!weretis.net!feeder8
    .news.weretis.net!usenet.goja.nl.eu.org!aioe.org!news.chmurka.net!.POSTED.213.1
    92.88.68!not-for-mail
    From: Piotr Gałka <p...@c...pl>
    Newsgroups: pl.misc.elektronika
    Subject: Re: Rynek pracy STM32
    Date: Thu, 28 Jul 2022 20:55:23 +0200
    Organization: news.chmurka.net
    Message-ID: <tbum2p$uec$1$PiotrGalka@news.chmurka.net>
    References: <tardm4$3173v$1@dont-email.me>
    <a...@n...neostrada.pl>
    <tb5ldk$6sn$1@gioia.aioe.org>
    <c...@g...com>
    <tb698g$s2m$1@gioia.aioe.org>
    <d...@g...com>
    <tb6dag$144m0$1@dont-email.me>
    <1...@g...com>
    <tb6gpj$3gt$2@gioia.aioe.org>
    <2...@g...com>
    <tb6v4b$rua$1$Janusz@news.chmurka.net> <tb7p64$vt1$1@gioia.aioe.org>
    <tb8i4k$qld$1$PiotrGalka@news.chmurka.net>
    <tb8m06$t8s$1$cezar91@news.chmurka.net>
    <tb8pqg$vgi$1$PiotrGalka@news.chmurka.net> <tb8qeq$1jm46$1@dont-email.me>
    <tb9hi8$ftq$1$PiotrGalka@news.chmurka.net> <tb9iap$1prti$1@dont-email.me>
    <tb9ml5$j7v$1$PiotrGalka@news.chmurka.net> <tb9qse$1rups$1@dont-email.me>
    <tbbims$n4p$1$PiotrGalka@news.chmurka.net> <tbbkla$2d30n$1@dont-email.me>
    <tbbnli$q74$1$PiotrGalka@news.chmurka.net> <tbboj6$2e31l$1@dont-email.me>
    NNTP-Posting-Host: 213.192.88.68
    Mime-Version: 1.0
    Content-Type: text/plain; charset=UTF-8; format=flowed
    Content-Transfer-Encoding: 8bit
    Injection-Date: Thu, 28 Jul 2022 18:55:21 +0000 (UTC)
    Injection-Info: news.chmurka.net; posting-account="PiotrGalka";
    posting-host="213.192.88.68"; logging-data="31180";
    mail-complaints-to="abuse-news.(at).chmurka.net"
    User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:91.0) Gecko/20100101
    Thunderbird/91.11.0
    Content-Language: pl
    In-Reply-To: <tbboj6$2e31l$1@dont-email.me>
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:773534
    [ ukryj nagłówki ]

    W dniu 2022-07-21 o 16:41, heby pisze:

    >> Na razie o ile wiem to według brata przykład USB na załatwienie
    >> prostej rzeczy zabiera 10x za dużo miejsca i nie zostaje miejsca na
    >> naszą aplikację, a chcemy się zmieścić w 1/2 flasha z powodu upgrade'ów.
    >
    > Gcc ma flagę -Os? Symbole debugowe wyłaczone w docelowej binarce?
    >
    > Raczej nie dam wiary, że jest tak źle. Prosty kod usb UARTa na STM32
    > zajmował jakies kilobajty. Ba, w małym AVR potrafili to zmieścić, z
    > softwareową emulacją.

    Odgrzebię starą wypowiedź bo małe! co nieco mogę powiedzieć.
    Z tą objętością to pewnie przesadziłem.
    Nie wiem co to flaga -0s
    Make ostatnio używałem z Turbo C++ 1.0 w okolicy 1990. Od tamtej pory
    używam po prostu środowiska więc nie znam żadnych flag.

    Dziś brat trochę mi opowiedział o tym przykładzie USB który ma z jakimś
    ich systemem uruchomieniowym. To jest przykład, ale to wygląda jakby
    stosowany zestaw funkcji miał być (według słów brata olbrzymią)
    biblioteką do obsługi USB w tych procesorach.

    To co mogę powiedzieć jest trochę jak głuchy telefon bo wiem, że choć ma
    się jakieś wyrobione zdanie trudno jest czasami wszystko wyłożyć komuś
    (czyli mi) kto nie zna szczegółów. Mówi się wtedy tylko o prostych
    najważniejszych rzeczach i wiele szczegółów ginie.

    Mówił mniej więcej tak:
    Jakoś w końcu udało mi się przebić przez ten przykład. Wreszcie mi to
    zadziałało - urządzenie zgłasza się jako nasze. Tylko tyle tam mi śmieci
    zostało z tego co oni napisali...
    Nie uwierzysz jak idiotycznie to jest napisane. Po pierwsze wszystko
    robią w przerwaniach. Kto to widział. Przerwanie powinno być krótkie, a
    nie że jak się zaczyna to końca nie widać. Całe ramki analizują w
    przerwaniach. Na dokładkę na cały czas przerwania blokują wszystkie
    inne. No jak takie coś ma potem w ogóle działać.
    Jest taki endpoint kontrolny do którego przychodzą tylko ramki
    sterujące. Jest ramka z danymi z którymi trzeba coś zrobić i jest ramka
    na którą ja mam odpowiedzieć. Jak odpowiem to mam dostać potwierdzenie w
    postaci pustej ramki. Wyobraź sobie, że oni jak wyślą te dane to
    przestawiają cały endpoint kontrolny na odbiór zwykłych ramek (a
    przecież do enpointa kontrolnego takie ramki nie mogą w ogóle trafiać) i
    w ten sposób odbierają tę pustą ramkę i potem znowu przestawiają
    wszystko na odbiór ramek sterujących bo może taka się zdarzy.
    Zapytałem, a czy muszą się przestawiać:
    Nie w życiu. Tę pustą ramkę swobodnie odbieram bez przestawiania
    czegokolwiek. Program jest tak pisany jakby było wiadomo, że teraz ma
    przyjść akurat ta pusta ramka. A jak nie dotrze to będzie to wisiało bo
    się nie przestawi na ramki sterujące. Przecież tak nie może program
    wyglądać. I potem ktoś się wzoruje na czymś takim i mamy jak mamy.
    Ja: Jak przestawiony na normalne to kontrolnych nie odbierze?
    Nie odbierze.

    To był trochę przycinek do mnie, bo moje programy na PC komunikujące się
    z naszymi urządzeniami ja tak piszę, że czekam na to co wiem, że ma
    przyjść i jak jest coś innego to wywalam błąd. Brat w ogóle nie
    akceptuje takiego podejścia i nie omieszka mi tego zawsze wytknąć.
    Podobno ratuje mnie tylko to, że moje programiki to są do prostych
    operacji z naszymi urządzeniami i jak się coś wysypie to można
    powtórzyć. Ale ja uważam, że skoro ja rządzę na łączu to mogę zakładać,
    że wszyscy się podporządkują.
    Według niego nie można nigdy czekać na to co się wię, że ma przyjść i
    nie wiedzieć co zrobić z nieoczekiwanymi ramkami i co zrobić jak się nie
    doczekamy (ja w niektórych sytuacjach je celowo gubię i czekam (z
    timeoutem) na tę jedną jedyną co wiem, że ma przyjść).
    Zawsze trzeba być przygotowanym na wszystko bo może na łącze dostanie
    się wcześniej jakaś inna ramka.
    To jego podejście chyba głównie jest kopiowaniem podejścia z RS485 gdzie
    kompletnie nie wiadomo co przyjdzie, czy do mnie, czy w ogóle inni
    rozmawiają, czy może zderzenie ramek. I urządzenie ma w każdej chwili
    wiedzieć (czyli tyle co przerwanie na zbocze - a w sensie całej szyny
    RS485 najdalej po czasie propagacji zbocza - około 10us), że linia jest
    zajęta i jak się ma chęć coś nadać to trzeba poczekać na koniec czyjejś
    transmisji.
    To wynika z tego, że my na RS485 nie stosujemy odpytywania tylko każdy,
    kto coś ma do nadania nadaje. Informacje są przekazywane prawie
    najszybciej jak się da. Minimalne przerwy na łączu wynikają z dodawania
    losowych opóźnień aby jak dwaj wejdą na raz to przy następnym razie już
    jeden był wcześniej od drugiego.
    P.G.




Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: