Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Multitasking za omiljeni MCU

[es] :: Elektronika :: Mikrokontroleri :: Multitasking za omiljeni MCU

Strane: 1 2

[ Pregleda: 3535 | Odgovora: 29 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

korak
Nis

Član broj: 125522
Poruke: 622
*.exe-net.net.



+7 Profil

icon Multitasking za omiljeni MCU10.08.2021. u 14:40 - pre 32 meseci
Nekada, 90-tih godina silom prilika napravio sam pravi multitasking za upravljanje jednom složenom mašinom. Nju nisam mogao da donesem u radne prostorije, a bila je daleko od Niša.

Prva ideja je bila da napravim simulator mašine jednim MCU-om i da je povežem sa kontrolerom mašine. Onda mi pade napamet zašto da se zezam sa još jednom kontrolerskom jedinicom, kada mogu da napravim multitasking sa samo dva taska, gde bi jedan task simulirao mašinu. Kada sam to napravio, kolega se oduševio, i preko noći do jutra je pisao simulator. Tako napravismo kontrolu mašine za duplo kraće vreme od planiranog.

To je bilo sa HC11. Od tada je prošlo mnogo vremena, a računar sa izvornim kodom i svim projektima sa HC11 iz tog vremena je već odavno na deponiji. U međuvremenu sam zatvorio firmu, i ono malo što uradim pokrivam firmom drugara.

I po onom "besposlen pop jariće krsti" uzeh da napravim pravi multitasking za sledeči MCU kojim sam radio, MC9S08 ali za bilo koji broj taskova.

HC11 je uključivao taskove za oko 5us sa frkvencijom na magistrali od 2MHz, a ta frekvencija za 9S08 je 20MHz pa ima smisla samo ako ću uspeti da prebacujem taskove za manje od 5us. Ideja je da se taskovi uključuju na 500us.

Postavio sam tehničke zahteve, i sada ih razrađujem u smislu implementacije.

Taskovi se menjaju na prekid nekog tajmera sa periodom 500us ili više, sa mogućnošču da se neki task izvršava i duže.
Prebacivanje taskova i drugi prekidi ne smeju da budu u koliziji.
Stek prostor treba podeliti tako da svaki task ima svoj deo steka.
Glavni program je takođe jedan task.

Mora da postoji procedura za uključivanje taskova. Ona mora da promeni adresu povratka, koja ukazuje na prvu instrukciju pre prekida, na adresu sledeće instrukcije sledećeg taska kada je on bio prekinut. Sa povratkom iz prekidne procedure, nastaviće se izvršenje sledećeg taska. Pored ovoga, treba i stek pointer promeniti da ukazuje na stek sledećeg taska.

Vidim da je potrebna inicijalizacija stekova za svaki task što ne bi trebalo da je problem.

Pošto dosta toga mora biti u asembleru, ideja mi je da sve napišem u asembleru, a posle da "prevedem" na C, osim onoga što mora da bude u asembleru. Ali to će biti u nekom include fajlu i neće smetati.

Nisam siguran da cu doći do optimalnog rešenja, pa ako je neko nostalgičan može pomoći, ako su mu dosadile teme tipa kako da pogonim displej arduinom ili slično što je u starim dobrim vremenima bila trivijalna stvar.
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.com
Via: [es] mailing liste

Sajt: mysql.rs


+2377 Profil

icon Re: Multitasking za omiljeni MCU10.08.2021. u 16:38 - pre 32 meseci
ne mogu pomognem nemam vremena ni za sta :( ali mogu bacim 2 recenice...
svakako ne mora da bude pisano nista u asm, cak stavise, kompajleri za C
su postali toliko dobri da vec u drugoj iteraciji tvoj asm program cak i
ako si genije i uspeo da ga optimizujes da bude bolji od  c programa
nije vise bolji i pada ispod tako da se asm vise ne isplati...

sto se pisanja multitaskinga tice, ako ti je iz dosade, a ti pisi sta
god ti ubija dosadu, ali ako ti je iz bilo kakve potrebe bolje ulozi
vreme da ucis FreeRTOS koji trci na svakom iole interesantnom MCU-u
danas, open source je, dzabe i radi vrhunski dobro... nije 100%
pokriveno sve sto treba jednom rtosu (na primer nema kompletne mailbox-e
vec samo delimicnu imlementaciju i slicno) ali je ozbiljan paket koji
KIDA kako radi
 
Odgovor na temu

Living Light

Član broj: 331540
Poruke: 6714



+1159 Profil

icon Re: Multitasking za omiljeni MCU10.08.2021. u 19:29 - pre 32 meseci
jedino se cudim,
kako tebe Bogdane nije VRBOVALA neka NASA ili neka Ruska podmornica,
pošto ovako znaš stvari?

Da sam JA sa njihove strane,....
...Ti bi vec bio "Kindapovan, ILI kako se ve' kaže,..
...Kidnapovan"

Naravno, ....(valjda razumeš šalu),
Pozdravljam Te i Svako Dobro Bogdane!!!
Uzdravlje,
Toliko mnogo knjiga, toliko malo vremena...
 
Odgovor na temu

korak
Nis

Član broj: 125522
Poruke: 622
*.exe-net.net.



+7 Profil

icon Re: Multitasking za omiljeni MCU20.08.2021. u 18:02 - pre 32 meseci
Pogledao sam freeRTOS, zapravo više komentare uz kod i nešto malo i koda, ali bi potpuni uvid zahtevao mnogo vremena. Takođe sam pogledao i sve što sam mogao naći na temu RTOS za 8-o bitne mikrokontrolere. Ima tu opisa uz ponudu nekog RTOS-a, izveštaji o pisawu RTOS-a i slično.

Koriste se pojmovi: procesi, zadaci, kooperastivni multitasking, semafori i možda sam nešto i zaboravio. Zatim stvaranje dinamičkog mem. prostora za uključivanje procesa, kao i uklanjanje po prelasku na drugi proces, kao i potreba da zadatak mora biti završen pre nego što se uključi novi proces.

Sve to mi se nije uklapalo u moju zamisao da svaki proces dobija u proseku 500us izvršenja, da se za prelazak na drugi proces potroši oko 5us, da ne postoje nikakva ograničenja i da nema kolizije sa interrupt-ima.

Tako sam za proteklih 10 dana, od toga pola vremena potrošio na čitanje po internetu, napisao i testirao prvu verziju multitaskinga. Ukratko, karakteristike su sledeće:

1. Izdvojeni stek 200 bajta, po procesu 50, a za efektivno korišćenje 44 bajta;
2. Perioda uključivanja procesa 500us prekidom tajmera;
3. Vreme potrebno za promenu procesa 5.75us;
4. Broj procesa do 4, gde je main funkcija nulti proces, a uz njega još 3.

Ove karakteristike se mogu promeniti, ali zavise od toga koliko možete RAM-a da odvojite za stek, i koliko brzo želite promenu procesa i t. d.



 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.com
Via: [es] mailing liste

Sajt: mysql.rs


+2377 Profil

icon Re: Multitasking za omiljeni MCU20.08.2021. u 20:42 - pre 32 meseci
pazi sto se freeRtos-a i generalno svih ostalih rtosa tice sve to o cemu
pricas je configurabilno... taskovi mogu da imaju stek razlicite
velicine, mogu da rade na vise jezgara, taskovi imaju razlicite
prioritete te ne moraju svi taskovi da rade tacno odredjeni broj us,
takodje taskovi mogu da imaju "safe region" gde se task switch nikad
nece desiti, imaju mutekse, semafore, mailboxove, evente etc.. pre kojih
se komunicira izmedju taskova, preko kojih se limitira pristup shared
resursima (zajednickim varijablama, seriskom portu i slicno) ...
freertos je preemtive, sto znaci da task dobije slajs vremena i onda mu
se to vreme oduzme (sto ti kazes 500us) ali takodje task moze da "preda"
vreme drugim taskovima ranije ako ceka na neki event ili prosto ako je
zavrsio sa bitnim delom pa mu za dalje nije frka  (
https://freertos.org/a00020.html#taskYIELD )

pocetni stadijum da imas samo fixne taskove, koliok oces istih, i da se
se oni switchuju non stop na x us je pdim, to je 0.1% posla, i realno
par dana da se napravi, onda kada dva taska treba da komuniciraju ili
kada treba da pristupaju istim resursima i to treba da bude
standardizovano nastaju problemi jer onda moras da krenes da
implementiras jednu po jednu jos jedno 50% stvari koje u svakom rtosu
vec imas ... onih drugih 50% ti verovatno neces koristiti ali ako neko
uzme da pise sw koristeci tvoj sistem on ce hteti bar jos 10% koje nemas
i slicno...

pravis ga za sebe pa svakako pravi sta ti zanimljivo


npr

Code:

  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();
  /* Configure the system clock */
  SystemClock_Config();
  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  MX_DMA_Init();
  MX_CAN_Init();
  MX_SPI2_Init();
  MX_USART1_UART_Init();
  MX_USART2_UART_Init();
  MX_TIM2_Init();

  /* Init and start scheduler */
  osKernelInitialize();  
  MX_FREERTOS_Init();
  osKernelStart();

  while (1);


Code:

osThreadId_t defaultTaskHandle;
const osThreadAttr_t defaultTask_attributes = {
  .name = "defaultTask",
  .stack_size = 200 * 4,
  .priority = (osPriority_t) osPriorityNormal,
};

osThreadId_t readADCTaskHandle;
const osThreadAttr_t readADCTask_attributes = {
  .name = "readADCTask",
  .stack_size = 200 * 4,
  .priority = (osPriority_t) osPriorityLow,
};

osThreadId_t readEncodersTasHandle;
const osThreadAttr_t readEncodersTas_attributes = {
  .name = "readEncodersTas",
  .stack_size = 200 * 4,
  .priority = (osPriority_t) osPriorityLow,
};

void MX_FREERTOS_Init(void) {
  defaultTaskHandle = osThreadNew(StartDefaultTask, NULL, &defaultTask_attributes);
  readADCTaskHandle = osThreadNew(startReadADCTask, NULL, &readADCTask_attributes);
  readEncodersTasHandle = osThreadNew(StartReadEncoders, NULL, &readEncodersTas_attributes);
}



 
Odgovor na temu

korak
Nis

Član broj: 125522
Poruke: 622
*.exe-net.net.



+7 Profil

icon Re: Multitasking za omiljeni MCU20.08.2021. u 23:56 - pre 32 meseci
Sve mi je to poznato. Moja realizacija može da menja trajanje svakog procesa u jednom tasku i to dinamički tokom izvođenja prograna. Ono što sam naveo to sam testirao. Jedino se unapred zadaje maksimalan broj procesa (ne moraju se svi inicijalizovati) i raspoloživ prostor na steku.

Nisam zamislio procese koji bi bili za čitanje AD-a ili za COM, već da procesi budu zaokružene programske celine. To sam i naveo u uvodnom posti, jedan proces je bio simulacija mašine, a drugi kontrola mašine. Na primer kontrola lifta ima više procesa: upravljanje kretanjem kabine i motora, upravljanje vratima kabine (spoljna, unutrašnja) upravljanje spoljnim spratnim pozivima i eventualno arbitražom kod dupleksa.

Skromne mogućnosti 8-o bitnih mikrokontrolera ne treba trošiti jeftino. Uz ograničen RAM, flash i brzinu, mnogo je važnije brzo uključivanje procesa i koncepcija u kojoj se ne javljaju greške. U primeru lifta, svi procesi imaju isti prioritet, ali dinamika događaja u nekom procesu može biti niža, pa se tom procesu može dodeliti kraće slajs (parče) vreme. Dakle to je ciljna gripa problema kojima sam bio okrenut kada sam pravio moje rešenje multitaskinga.

Dodavanje osobina koje si naveo samo bi produžilo vreme uključivanja drugog procesa, a od tih novih osobine ne vidim velike koristi u mojoj koncepciji.

Osim toga, da budem iskren, moja firma više ne radi, imam druge izvore prihoda i dosta slobodnog vremena koje mi ispuni tek delimično neki sitan poslić, pa uzeh ovo da uradim po principu besposlen pop jariće krsti.

Razumem da mnogi na forumu žive od ovog posla, pa otud arduino, razne biblioteke, pa evo dotakli smo se i RTOS-a. Neko nekada reče sledi kraj istorije, a ja vidim da sledi i kraj našeg zanata, sve dolazi u gotovim kockicama. Sa nostalgijom se sećam kada sam pre 15 godina postao član goruma, ovaj pdf je imao po nekoliko novih tema svakog dana, a sada jedna mesečno.

Pozdrav.
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.dynamic.sbb.rs.

Sajt: mysql.rs


+2377 Profil

icon Re: Multitasking za omiljeni MCU21.08.2021. u 00:37 - pre 32 meseci
niko ne zivi ozbiljno od arduina i kockica :D to su igrackice koje tu i tamo mogu da se naplate da se izdrzava hobi i to je to ..

kakav kraj zanata, evo imam upravo tim od 6 ljudi koji pise firmware za veliku industrisku maisnu vec po godine i ima jos jedno po godine da ga zavrsi (C++ i embOS segger-ov rtos sa nekoliko cm4 armova os stm-a i jednim arm cpu-om), pravim novi tim upravo od 3 coveka da pise firmware za neki power line communication gateway, jedno 6 meseci posla (C i freertos na S32 nxp arm cm4).. posla ko pleve za ozbiljno programiranje, a ni kinta uopste nije losa (900+ eur nedeljno za 40h nedelju) ... no slabo ko ima vremena da razvija i testira nesto sto vec postoji :) (znam da sam uvek pricao da ja ovo sa elektronikom iskljucivo kao hobi - nonprofit, ali renoviranje kuce se produzilo, fali para jbg, pa sam morao i ovo da monetizujem, dok ne zavrsim, pa se onda vracam u hobi vode :D )

elem
Citat:
Skromne mogućnosti 8-o bitnih mikrokontrolera
kao sto rekoh milion puta, 32bitni mcu danas kostaju kao i 8bitni mcu, koristiti 8bitni mcu na bilo cemu sto nije "pljuca na pcb-u neke kineske igracke" je gubljenje vremena, a i sam si rekao da ovo hoces da pravis na 32bitnom arm-u (neki NXP obzirom da Motorola tu vise ne postoji, tako bese?)

Citat:
samo bi produžilo vreme uključivanja drugog procesa

gresis :D task switching je max brz, svaki task ima sve svoje tako da je switching izmedju taskova extra brz, trosak vremena na sam scheduler je uzasno mali... da li ce switch trajati 2-3 instrukcije duze ne znaci nista obzirom na kolicinu kontrole koja se dobija

Citat:
Nisam zamislio procese koji bi bili za čitanje AD-a ili za COM

pa tako kako si zamislio i ne mozes da imas thread safe nista ni deljenje bilo cega ni kvalitetnu komunikaciju... za taj jedan primerak simulacije lifta i kontrole istog ce da radi ali to je resenje koje koristi samo i iskljucivo tebi, za bilo sta drugo / bilo koga drugog je beskorisno ... no nema veze, zatrebace ti i ovo i ono pa ces dodavati :) mozda dodjes do iskusnog "korakOS-a" u nekom trenutku :)
 
Odgovor na temu

korak
Nis

Član broj: 125522
Poruke: 622
*.exe-net.net.



+7 Profil

icon Re: Multitasking za omiljeni MCU21.08.2021. u 02:13 - pre 32 meseci
U svemu se slažem sa napisanim. Pratim te od kada sam na forumu i znam da se vrlo profesionalno baviš ovim poslom. I pored svega vidim da nalaziš vreme da svakom pomogneš, i uvek pročitam sve što napišeš.

Ja sam odnedavno u penziji i samo po nekada uradim nešto za neku lovu - dobro dođe.

Inače sa multitaskingom sam se upoznao kada smo u firmi kupili San radnu stanicu sa MC68020 80-tih godina. Procesor je imao neku hardversku podršku za multitasking, već tada, i prklapanje procesa je tamo bilo zaista jednostavno i brzo. Danas je sve to još višestruko poboljšano.

Freescale je kupio NXP ćerka firma Filipsa, i nastavili su da održavaju proizvodni program kupljene firme.

Cena mikrokontrolera je najmanje kritična kada za dobar konektor ili taster ili neki senzor platiš dosta više. Važne su zato samo performanse. Ako neko želi da se ozbiljno bavi 32-nim MCU-ovima, kao ti, mora da ima i dobar razvojni sistem jer tu ima milion registara statusnih i kontrolnih bitova i tu dejta šitovi ne pomažu. Na tome ne treba škrtariti. Neki drugi misle: nabavio sam super MCU sada ću da pravim super stvari. Ne može, kupio sam razvojnu pločicu korteks m4 256KRAM, 1MB flash 120MHz industrijski standard, ali koristim besplatnu verziju razvojnog sistema koja ogranićava kod na 128KB, nema RTOS i MQX. I šta sam mogao da uradim, tek delić performasnsi da iskoristim. Zaglavio sam kada sam hteo da koristim nekoliko DMA kanala da iz memorije šaljem podatke preko 3 SPI-a. Procesor ekspert mi je izgenerisao nešto koda, a ostalo sam morao "peške" i nikako nisam uspeo da to dovedem do željenog nivoa rada.

Drago mi je da si uspešan u poslu, i nisam iznenađen, i želim ti još više interesantnih projekata.

Pozdrav.
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.dynamic.sbb.rs.

Sajt: mysql.rs


+2377 Profil

icon Re: Multitasking za omiljeni MCU21.08.2021. u 02:40 - pre 32 meseci
Citat:
korak
Inače sa multitaskingom sam se upoznao kada smo u firmi kupili San radnu stanicu sa MC68020 80-tih godina. Procesor je imao neku hardversku podršku za multitasking, već tada, i prklapanje procesa je tamo bilo zaista jednostavno i brzo. Danas je sve to još višestruko poboljšano.

ako se dobro secam imao je MMU koji se uspesno koristio ne za multitasking vec za multiprocess rad jer si mogao lakse da limitiras pristup memoriji razlicitim procesima, za sam multitasking nije imao nista specijalno sto pre njega nije bilo na ostalim masinama :) ...

Citat:
korak:
mora da ima i dobar razvojni sistem jer tu ima milion registara statusnih i kontrolnih bitova i tu dejta šitovi ne pomažu.


na zalost, da i ne... sve zavisi... ja za sve moje projekte koristi STM32 zato sto su se pokazali najbolji za male proizvodjace
- imaju jeftine razvojne alate
- kinezi su im ... tako da imas jos jeftinije fully functional klonirane alate + imas do jaja dobre kineske verzije najpopularnijih stm32 mikrokontrolera koji su jos i brzi i jeftiniji :D ... npr GigaDevice - vidi link za dobar text o tome
- uradili su ozbiljan dev sistem sa box + atolic
- imaju najmanje errata od svih ostalih mcu proizvodjaca tako da ne gubim vreme
- imaju ogroman raspon cipova za sve po ok ceni

ali sta mi to vredi kad mi dodje klijent i da gotovu razvijenu plocu da se uradi sw a na njoj FS32K144 .. i jbg, aj setapuj sve za NXP FS32K1xx pa da vidimo gde ce zabode i u kom po redu errata-u ce nadjemo zasto nesto ne radi kako pise da treba da radi :( ... volim ja to ko mikikg sve low level, sve fancy direkt po registrima, al ono klijent placa na sat, oce da bude gotovo juce i ne interesuje ga kako izgleda nego oce da radi :D tako da ako HAL ubrzava, teras HAL :D

problem je sto neki alati bas previse kostaju, za jednog klijenta smo radili u prastaroj IAR varijanti, novi IAR bi nam bas mnogo stvari olaksao ali jedna licenca tog %#$^#& kosta 10,000$, ako bi presli na novu verziju to je preko 200 licenci koje mora da se kupe, sve i da nam spuste cenu 50% .. zato ja volim sto za ARM postoji free GCC i uglavnom mozes da napravis svoj env. u kome mozes lepo da radis (posebno sa Visual Studio Code koji je stvarno pao sa neba) ali opet, sve to nasiljis i dodje klijent i kaze "ja ocu xyz studio v0.0001alfa-pre-dontuse" i jbg, vezes konja de ti gazda kaze

penzija je super, ja se nadam krajem godine da cu u neku "kvazi penziju", da mogu malo, najzad, da se posvetim sebi i deci :D

da se vratim na temu,

kao sto rekoh, za svoju dusu pravis sta god ti zgodno, iskreno, meni nikad ne bi bilo zabavno da pisem rtos, ni rudimentarni, kao hobi, ali sto da ne, 99.9% ljudi smatra moje hobije kompletno ludim tako da smo tu na istom... sa "simulatorima" na zalost imam bas dosta iskustva, ja bi licno to sto radis za lift uradio kao 2 potpuno odvojena projekta i hardwerski i softwerski ... jedan mcu + neki lep display sa animacijom pozicije lifta, stanja motora, ulaza, izlaza, sa svojim fizickim ulazima i izlazima kakav ima jedan lift sistem, i drugi sistem sa mcu koji se kaci na taj prvi sistem preko nekog multipin interfejsa i kaci se na sve "tastere", "signale", "stagod" na kome je pamet ... tako da umesto da to uguras na jedan mcu (svakako moze da stane ali sto bi), napravis fancy simulator lifta u jednom uredjaju i na njemu testiras razne izvedbe "pameti" sa drugog uredjaja :)
 
Odgovor na temu

korak
Nis

Član broj: 125522
Poruke: 622
*.exe-net.net.



+7 Profil

icon Re: Multitasking za omiljeni MCU21.08.2021. u 13:37 - pre 32 meseci
Baš kao što si napisao, tako smo napravili simulator lifta. Na njemu se birao pogon lifta (elektromotorni ili hidroulični) brzina kabine, broj stanica (spratova) položaj znački (čita ih kabina dok se kreće) vrsta vrata kabine (ručna poluautomatska automatska svetlosna zavesa) senzori u kabini i t. d. Uz to moglo se setovati i kvar nekog senzora ili kvar rid prekidača koji detektuje značke, spale značke sa svog položaja i još mnogo toga. Simulator je baš bio zamašan program jer je obuhvatao sve vrste liftova (klasične, industrijske i platforme) i sve vrste vrata spoljnih i unutrašnjih. Bez takvog simulatora ne bi napravili ništa.

Penzija je lepa stvar ako si još uvek jednom nogom u poslu. Sve odjednom postaje opuštenije.

Želim ti svu sreću.
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.com
Via: [es] mailing liste

Sajt: mysql.rs


+2377 Profil

icon Re: Multitasking za omiljeni MCU21.08.2021. u 15:05 - pre 32 meseci
pa to, ali ne vidim razlog sto bi to gurao u pola mcu-a da bi druga
polovina vrtela kontrolu, po meni je bolje da je to potpuno odvojeno :)

nadam se da ce ta "pemzija" da bude kako sam zamislio :D ... bas tako,
sa onoliko u poslu koliko zelis... nista preko toga
 
Odgovor na temu

korak
Nis

Član broj: 125522
Poruke: 622
*.exe-net.net.



+7 Profil

icon Re: Multitasking za omiljeni MCU21.08.2021. u 22:35 - pre 32 meseci
Da, čak nije bilo ni moguće. To je rađeno do 2010 dok je grad Niš učestvovao u finansirawu remonta starih liftova, a tada sam radi 8-o bitnim. Jednostavno oba koda ne bi stala u flash.

Ne zovu džabe Hrvati penziju mirovina. Sa godinama počunje da te mrzi da radiš, pa čekaš posebnu inspiraciju. Inače energija uma je ista, ali se snaga uma smanjuje, usporava se rad mozga. Radiš sporo, ali sigurno dobro.

Evo ja mesecima odugovlačim ugradnju step motora na slajder za kameru sinu koji se bavi snimanjem. Odavno sam napravio elektroniku, pa onda na tenane projektovao u solid vorksu 5 aluminijumska elementa i sada samo treba da odem da kupim aluminijum i da dam da se obradi na glodalici. Što sam bliže završetku posla češće me mrzi.
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.com
Via: [es] mailing liste

Sajt: mysql.rs


+2377 Profil

icon Re: Multitasking za omiljeni MCU21.08.2021. u 23:10 - pre 32 meseci
sve jasno :D ... doduse u nekim slucajevima nije problem sporo vec
prestane normalno da radi, samo ostane osecaj da je sve samo malo
usporeno a u stvari donose se odluke paklene... gledam mog caleta,
zadnjih 10 godina... uzas, resio sam da na vidnom mestu istetoviram
sebi, dok sam jos svestan nesto tipa "slusaj decu" posto kapiram da me
ceka slicna sudbina, ako uopste dozivim njegovih 80+ .. zez je samo sto
sam ja u "ocu u mirovinu" fazi vec par godina a nemam ni 50
 
Odgovor na temu

korak
Nis

Član broj: 125522
Poruke: 622
*.exe-net.net.



+7 Profil

icon Re: Multitasking za omiljeni MCU22.08.2021. u 14:54 - pre 32 meseci
Spram mene ti si u cvetu mladosti. Misli na penziju, koliko ćeš uplaćivati u PIO, imaš predispoziciju dugovečnosti (na oca) pa bolj da dugo uživaš nego dugo da se zlopatiš.

Srećno ti bilo.
 
Odgovor na temu

mikikg
System administrator
Srbija

Član broj: 3779
Poruke: 5059
*.dynamic.sbb.rs.

Sajt: yu3ma.net


+505 Profil

icon Re: Multitasking za omiljeni MCU22.08.2021. u 22:05 - pre 32 meseci
Nece skorije penzija ... :)

Da vidis na primer kada ti dodje custom Omnivision RTOS, 4xARM + 4 razlicita dodatna kooprocesora, jedan za Codec-e, drugi za nesto, treci za AI i neuronske mreze, cetvrti za neku matematiku, sendvic sa ugradjenim 0.5GB DDR-a u BGA kucistu i treba da povezes kameru direktno i da strimujes tamo negde ... :)

Sve je u zaglupu, i software i hardware, proizvodjaca ne tangira nista tu sad oni tebi da pomognu oko toga nesto, nema pojma, jedva se javljaju sa nekim korisnim informacijama, sve je closed-source nista nema otvoreno, ni dokumentacija niti code ...
Brale, imeplementacija tog RTOS ima 5000+5000 .c/.h skripti ... :)

Kad sve to skontas i stavis u funkciju koliko-toliko i kazes proizvodjacu, ok daj mi sad na primer 5000 komada procesora da napravim uredjaje, on kaze nema problema, upisi se na spisak za cekanje, vreme isporuke 40 do 80 NEDELJA, pa kad stigne ti ugradi, u medjuvremenu ljude posaljite na odmor ...
Site about Software Defined Radio – SDR
http://yu3ma.net/
https://github.com/yu3ma
On-line LM317 kalkulator
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.com
Via: [es] mailing liste

Sajt: mysql.rs


+2377 Profil

icon Re: Multitasking za omiljeni MCU22.08.2021. u 22:51 - pre 32 meseci
nedostatak cipova na trzistu je meni neobjasnjiv, ne kapiram sta se
desava, nije samo cipova, nema konektora nema skoro nicega, vreme
isporuke u godinama... nema teorije da to ima veze sa koronom
 
Odgovor na temu

mikikg
System administrator
Srbija

Član broj: 3779
Poruke: 5059
*.dynamic.sbb.rs.

Sajt: yu3ma.net


+505 Profil

icon Re: Multitasking za omiljeni MCU22.08.2021. u 23:14 - pre 32 meseci
Hehe, sta moze da bude jos crnje kod ovogo gore projekta, da pored Omnivision umesas i Qualcomm za BlueTooth, e to kad uradis onda je veseeeelooo na kvadrat!
Qualcomm je jos crnji po mnogim pitanjima, po ušima prvo pa onda mozes da pitas kako da iskoristis njihov neki debilni ne znam ni ja sta je nije linux nije rtos, neki custom stack sa dva (verovatno) ARM jezgra i dva DSP-a preko custom placenog prevodioca na Windows only sa njihovim GUI-e koji podseca na QT, eeee, ne znam sta da kazem a da ne opsujem :)
To je toliko zaguljeno sa BlueTooth da ustvari prvo CPU jezgro se samo time bavi i hendluje razne stvari dok je drugo CPU jezgro ostavljeno za korisnika koji sad treba da se upakuje u taj njihov postojeci setup.
Sve super divno kransno ali kad se uhvatis na primer I2C i sekvencionisanju nekih komandi jojjj kako to puca samo tako ako se ne ishendluje sve kako su ONI zamislili :)
Ima poseban njihov Qualcomm debugger, radi dobro ne bas savrseno, preko Python-a kuvaju u pozadini sa tim pa se i moze nekako namestiti.

Za Omnivision, verovali ili ne, proizvodjac mi je rekao da NE koriste JTAG konekciju na procesoru i ako postoji i ja je povezao, nisam mogao da verujem, pitao sam ponovo, kazu za taj kontroler nemamo nikakav support za JTAG i ne koristimo, "snalazi se kako znas", strasnoo ...
Site about Software Defined Radio – SDR
http://yu3ma.net/
https://github.com/yu3ma
On-line LM317 kalkulator
 
Odgovor na temu

mikikg
System administrator
Srbija

Član broj: 3779
Poruke: 5059
*.dynamic.sbb.rs.

Sajt: yu3ma.net


+505 Profil

icon Re: Multitasking za omiljeni MCU23.08.2021. u 00:09 - pre 32 meseci
Citat:
bogdan.kecman:
nedostatak cipova na trzistu je meni neobjasnjiv, ne kapiram sta se
desava, nije samo cipova, nema konektora nema skoro nicega, vreme
isporuke u godinama... nema teorije da to ima veze sa koronom


Kao nekad kada su se proizvodjaci žarulja "ujedinili" u monopolistickoj ideji tako isto i sada, svi se oni znaju medjusobno mnogo dobro, rade inace jedni sa drugima ovako ili onako, osetili su trenutak i hajde sad da vas razvalimo, imate da nas cekate, da nam kazete koje ce te delove unapred pa da se mi organizujemo, premesticemo proizvodnju odave-onde, prepakovace se i isporucice sve kolicine jer na kraju moraju da uzmu LOVE, bice to po ceni koji se taj IC-KARTEL dogovori, svi imaju da cekaju, i BMW i Tesla i IBM, sviiii dok se oni ne postave kako njima odgovara.

[Ovu poruku je menjao mikikg dana 23.08.2021. u 01:23 GMT+1]
Site about Software Defined Radio – SDR
http://yu3ma.net/
https://github.com/yu3ma
On-line LM317 kalkulator
 
Odgovor na temu

korak
Nis

Član broj: 125522
Poruke: 622
*.exe-net.net.



+7 Profil

icon Re: Multitasking za omiljeni MCU23.08.2021. u 13:54 - pre 32 meseci
Jpš pre 30 i više godina pričao sam kolegasma da je trend da se stvori jedna elita u našoj branši koja će praviti procesorske komponente i SW podršku. Da će posao ostalih da se svede na tipkanje po tastaturi i sklapanje kockica, a da mnogi od njih neće znati ni tranzistor da apliciraju. I to je dovoljno za jednostavne aplikacije, a za one prave profesionalce koji rade složenije aplikacije slede mnogi problemi od pristupačnosti pravim detaljnijim informacijama pa do isporuke komponenata.

Radni vek sam proveo u 8-o bitnom svetu, i tu je bilo mnogo lakše da sam napravim ono što mi treba, ali danas je sve 100 puta komplikovanije. Potpuno vas razumem, naročito zato što mi je muka da tražim "šta je pisac hteo da kaže" po raznim SW podrškama koje treba da mi olakšaju posao.

Pozdrav obojici.
 
Odgovor na temu

mikikg
System administrator
Srbija

Član broj: 3779
Poruke: 5059
*.dynamic.sbb.rs.

Sajt: yu3ma.net


+505 Profil

icon Re: Multitasking za omiljeni MCU24.08.2021. u 12:21 - pre 32 meseci
Hehe, nije ni to najgore :)
Jos jedan krajnje bezobrazan potez od Omnivision, kazu u specifikaciji da kamera+kontroler moze da radi u HD sa 60FPS, to je fino i ti krenes oko toga sve da uspostavljas i pravis i dodjes u situaciju da preko 24FPS ne mozes da izguras nikako!?
I sta je i sta je, nemas debuger, sve preko seriske veze butas, nahvatas parce code-a koje je odgovorno za to procesiranje i vidis da je to nesto vrlo specificno od Omnivision, neki deo SDK-a koji je povezan preko onih specialnih dodatnih kooprocesora za koji naravno nema ni trunka dokumentacije ...
Pa se onda zalis Omnivision, kuliraju te na 5 mejlova, kad toliko dignes frku da sam cimao i neke njihove direktore oni se jave nekako na support i daju ti PATCH da se to potera na 30FPS.
A jeli momci sta je sa 60FPS?
Aaa tooo, a to nismo jos napravili, nemamo za to jos SDK ...
Jeliii bre, koga vi radite??? Odlepio sam ...

Tu bezobrazluku nije kraj, ako krenes sam da pokusas to da nekako namestis, skontas da od 10.000 .c/.h skripti koje mozes da editujes postoji jedan .a fajl (znate sta je to?) i koji je igrom slucaja bas on zaduzen za to podesavanje oko FPS ... Prevedena biblioteka bez source, znaci ne mozes im nista, mogu da te vortaju kako god hoce a ti gledaj sta ces sa tim projektom gde je vec potroseno vise hiljada radnih sati ...

[Ovu poruku je menjao mikikg dana 24.08.2021. u 13:47 GMT+1]
Site about Software Defined Radio – SDR
http://yu3ma.net/
https://github.com/yu3ma
On-line LM317 kalkulator
 
Odgovor na temu

[es] :: Elektronika :: Mikrokontroleri :: Multitasking za omiljeni MCU

Strane: 1 2

[ Pregleda: 3535 | Odgovora: 29 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.