NuttX

Programinė įranga Screenshot:
NuttX
Programinė detalės:
Versija: 7.9 Atnaujintas
Įkėlimo datą: 10 May 15
Kūrėjas: Gregory Nutt
Licencija: Nemokamai
Populiarumas: 53

Rating: 4.0/5 (Total Votes: 1)

NuttX yra atviro kodo, deterministinis ir be realaus laiko įterptųjų operacinę sistemą (Realaus laiko OS), skirta iš kompensuoti būtų galima pasinaudoti giliai įsišaknijęs, ribotų išteklių aplinkoje. Jis turi mažą pėdsaką, kad yra naudojama mikro-kontroleris aplinkoje, ir tai & rsquo; s visiškai keičiamo dydžio nuo mažyčio (8-bit) ir vidutinio sunkumo integruotas "(32 bitų) sistemas.
Taip pat siekiama, kad būtų visiškai suderinamas su standartais, turi būti visiškai realaus laiko, ir būti visiškai atviras. NuttX turi turtingą funkcija OS rinkinį, moduliniu dizainu, labai keičiamo dydžio ir konfigūruojama, taip pat atitinka standartus. Jis platinamas kartu su negriežta BSD licencija. Jis dažnai vadinamas jo kūrėjų kaip "Tiny" Linux "." Funkcijos iš glanceKey funkcijos apima pagrindinį uždavinį, valdymo, BSD lizdas sąsaja, atminties skirstytojai (bendrosios atminties, standartinis krūvos atminties paskirstymas, saugomą statyti kartu su MPU, butas įterptųjų statyti, už procesą krūvos, granulių paskirstytuvą ir dinamiškai dydžio), atminties konfigūracijos, perkėlimą vadovas, pilnai preemptible, tickless veikimo, on-demand ieškos ir sistema ruoša.
Be to, projektas ateina su plėtiniais valdyti pirmumo, už pokalbio, built-in CPU apkrovos matavimų išsamią dokumentaciją, pasirinktiniai užduotis, kurios sudėtyje adresų aplinką, ANSI, kaip ir POSIX panašūs užduočių kontrolę, laikrodžiai, pthreads, aplinkos kintamieji, signalai, pavadintas eilės pranešimų, laikmačiai, rinkmenų sistemą, skaičiavimo semafory.
Tarp kitų funkcijų, mes galime paminėti apskritojo Robin planavimas, FIFO, parama prioritetinės paveldėjimo, paramos SoC architektūra, parama valdybos architektūros, parama naujų procesorių architektūrų, watchdog laikmatis, VxWorks panašių užduočių valdymo, I / O peradresavimo ir perduodami & ldquo; kontroliuoti terminalus & rdquo;. Palaikomos platformsNuttX palaiko platų platformų, tarp kurių galima paminėti daug ARM procesorių, įskaitant ARM Cortex-M3, ARM926EJS, ARM7TDMI, ARM Cortex-M4, ARM Cortex-M0, ARM920T ir ARM Cortex-A5 ", taip pat Atmel 8 bitų AVR, Freescale M68HCS12, AVR32 Atmel AVR platformos.
Be to, ji taip pat palaiko įvairius Intel platformos, kaip antai mikroschema PIC32MX (MIPS), 80c52 ir 80 & kartus, 86, ZILOG platformų, įskaitant ZILOG Z80, ZILOG Z16F, ZILOG Z8Encore! ir Zilog eZ80 Pripažinimas !, ir Renesas / "Hitachi superh ir RENESAS M16C / 26 platformos

Kas naujo , šioje laidoje.

  • Įranga: Papildomos naujų funkcijų ir papildomas funkcijas: "
  • Core Operacinė sistema: "
  • "Watchdog Timer paskirstymas: (1) Jei mes paleisti iš anksto paskirta watchdog laikais, logika dabar skirti papildomų laikmačius iš krūvos. Iš anksto paskirta watchdog laikmatis rezervas yra prižiūrimi taip, kad visada bus laikmačiai, skirti pertraukti tvarkytojai. (2) papildoma parama statiškai paskirta watchdog laikmatis
  • Adresas aplinkos palaikymas: (2) Naujos OS API integruota į visą platformos specifiniame kontekste perjungimo logika (up_block_task (), up_unblock_task (), _exit () ir kiti);
  • .
  • Branduolio Sudėjimas palaikymas: (1) MPU pagrįstas & quot; branduolys statyti & quot; pervadinta į saugomą statyti (CONFIG_BUILD_PROTECTED); papildoma parama naują MMU pagrindu & quot; branduolys statyti & quot; (CONFIG_BUILD_KERNEL), (2) sistema skambutis biblioteka dabar gali būti pastatytas su CONFIG_NUTTX_KERNEL. Nauja pasirinkimas *:. CONFIG_LIB_SYSCALL
  • Sistemos paleidimas: Pridėti konfigūravimo parinktis pradėti sistemą iš dėl failų sistemos programą (palyginus su atminties adresą);
  • .
  • Paleidimas Parametrų Perdavimai: Yra naudojami būti du būdai išlaikyti parametrus su naujais uždaviniais, priklausomai nuo konfigūracijos: arba (1) argv [] taip sukurta kaip su kiekviena eilutė strdup'ed masyvo. Arba (2) argv [] masyvas ir styginiams buvo sukurta krūvos iki buvo pradėta nauja užduotis. Dabar, yra tik vienas būdas, būdas (2). Būdas (1), gali būti šiek tiek daugiau kompaktiškas, bet tai nėra verta atlikti dviejų skirtingų būdų, kaip daryti tą patį, ką kompleksiškumą.
  • Pagrindinis diskusijų Pradės: Pridėti sugebėjimą atlikti pradinį stalo iniciacijos ant atskiro darbuotojo pokalbio. Tai reikalinga, nes yra daug atvejų, kai iniciacijos logika negali atlikti dėl paleidimo į viršų / neveikiant pokalbio. Taip yra todėl, blokuoti arba laukti neleidžiama ant IDLE pokalbio.
  • Atminties valdymas:
  • Granulių paskirstytojo: (1) Pridėk naują funkciją rezervuoti JT paskirstytini regionus granulių krūvą. (2) Pridėk sąsajos remti JT Inicijuojama granulių paskirstytuvą.
  • Puslapio paskirstytojo: Pridėti paprastą fizinį puslapis paskirstytuvą remiantis esamos NuttX granulių paskirstymo kriterijumi. Nesu tikras, ar granulių paskirstytojo yra pakankamai deterministinis tolimo naudojimo, tačiau ji tampa gauti puslapio paskirstytuvą vietoje išbandyti labai greitai.
  • Pašalinti CONFIG_MM_MULTIHEAP: Ne multiheap operacija nebepalaiko "
  • .
  • sbrk (). Sbrk () dabar palaiko branduolio statyti leisti dinamiškai dydžio, už proceso krūvos,
  • už proceso Krūvos: Kosmosas ties proceso duomenų erdvėje pradžioje rezervuotas naudoti krūvos valdymo struktūras. Be branduolio statyti režimu, šios Heap struktūros pasidalija branduolys ir naudoti kodeksas, siekiant skirti konkretaus vartotojo duomenis.
  • Vartotojo vadybininko: Kai privilegijuoti siūlai išėjimai, mes turime naudoti branduolio paskirstytuvą į laisvos atminties; Kai Turintis siūlai išėjimai, mes neturime nieko daryti ... krūvos atminties bus valomi, kai adresas aplinka nugriauta.
  • Inter-procesas DINAMINĖ ATMINTIS palaikymas: (1) Pridėk įgyvendinimą ir dokumentus shmget (), shmctl (), shmat () ir shmdt (). (2) Pridėk sistemos sistemą ragina remti vartotojo skambučio vartai į bendrosios atminties sąsajos. (3) Pridėk platformos konkrečios sąsajos apibrėžimus, kurių reikia remiant bendrą atminties funkciją.
  • Virtualus tinklalapis paskirstytojo: Pridėti paramą už proceso virtualioje puslapio paskirstymo kriterijumi. Tai yra nauja narys task_group_s struktūrą. Paskirstytuvas turi būti inicijuoti, kai naujas vartotojas procesas yra pradėtas ir sužadinimą, kai procesas grupė yra galutinai sunaikinti. Jis naudojamas shmat () ir () shmdt pasirinkti virtualų adresą, į kurį į žemėlapį bendrą fizinę atmintį.
  • Failų sistemos / Block Vairuotojai / DTD: "
  • SMART FS: SMART FS ir protingas FS procfs atnaujinimus iš Ken Pettit
  • .
  • MTD:. Atrodo, MTD Skaityti priekį / rašymo buferio sluoksnis yra dabar funkcionalus,
  • Dvejetainiai formatai:
  • per procesą indą. Pridėti logika inicijuoti už proceso vartotojo krūvą, kai kiekvienas vartotojas procesas yra pradėtas,
  • Grafika: "
  • nxterm: Pakeisti visus NxConsole įvykių prie nxterm
  • .
  • Tinklas: "
  • PHY Pertraukimai: (1) standartizuoti PHY nutraukti tvirtinimo sąsaja. (2) Pridėk paramą už ioctl kuris gali būti naudojamas pranešti paraišką, kai yra tinklo statusą nurodžiusi PHY nutraukti pakeitimas.
  • Geresnis Siųsti logika: Anksčiau pirmasis paketas siųsti į naują tinklo peer trukdytų; nebūtų jokio ARP lentelę įrašas peer ir taip ARP prašymą galėtų pakeisti tą pirmąjį paketą. Dabar kaip alternatyva, jei CONFIG_NET_ARP_SEND = y all siųsti logika bus (1) patikrinti, ar kolegų MAC adresas yra ARP lentelę, o jei ne, (2) siųsti ARP prašymus periodiškai gauti žemėlapių ir (3) laukti ARP atsako. Tada (4) kai ARP atsakymo negaunama tada tikrasis siųsti logika bus pradėtas. Taigi gali būti vėluojama su pirmuoju paketu išsiųstas į naują peer, tačiau paketas neturėtų būti prarastas;
  • Priimančioji modeliavimas: "
  • "SPI FLASH Pilotas:. Imituojamas" SPI FLASH tvarkyklė sim tikslą Ken Pettit
  • "Intel x86"
  • Numatytasis Priimančioji: Numatytasis kompiuteris dabar x86_64 ir -m32 variantas bus automatiškai pasirinkta modeliavimas stato,
  • .
  • "Intel" 8051 šeima: "
  • 8051 Pašalinta: Pašalintas visas už 8051 šeimos architektūros iš NuttX kodo medį paramą. Pasenusi kodas kartu su šalinimo pleistras dabar galima rasti misc / pasenusi /. Šis kodas buvo pašalintas, nes (1), nors kai kurios funkcijos buvo įrodyta, aš esu nežino jokių tikrai sėkmingų uostuose NuttX į bet 8051 ir (2) 8051, su savo aparatūros kaminą, verčia apribojimus ir komplikacijų kitų architektūrų ir padaryti augimą ir vystymąsi NuttX sudėtingesnė.
  • ZILOG ZNeo forumai
  • configs / 16z: Parama šioje diskusijų lentoje buvo pašalintas iš NuttX kodo medį (bet dar galima rasti misc / pasenusi kataloge). Šis uostas yra nepasiruošęs naudojimo, bet gali grįžti į NuttX medį tam tikru momentu ateityje.
  • Atmel SAM3 / 4 forumai
  • SAM4E-EK. Įdėti (1) visiškai funkcionalus ILI9341 pagrindu LCD vairuotojui ir (2) visiškai funkcinis NxWM konfigūraciją;
  • ARMv7-: "
  • Adresas aplinka: Pridėti paramą taikymas adresas aplinkoje, naudojant Cortex-A MMU. Įgyvendinti standartizuotus platformos konkrečios sąsajos su NuttX adresas aplinkosaugos parama.
  • Cache operacijos: Įgyvendinti standartizuotus, platforma konkrečių talpyklos operacijas. Tai vadinama iš ELF loader siekiant praplauti D-talpyklą ir nustoti galioti I-cache po ELF modulis buvo pakrautas į atmintį. Su šia kaita, ELF moduliai veiktų tinkamai ant SAMA5 / Cortex-A platforma.
  • Branduolio Sudėjimas: (1) Pridėk realizacijomis sistema skambučius vartų. (2) Pridėk CRT0 paleidimo failas, kuris gali būti susijęs su atskirai pastatyta Vartotojo programas. (3) Pridėk paramą pristatymo naudojimo režimo signalus branduolio statyti. (4) Pridėk logika inicijuoti už proceso vartotojo krūvą, kai kiekvienas vartotojas procesas yra pradėtas. (5) ARMv7-išimtis tvarkymas turi dirbti tiek kitaip, jei mes remti vartotojo režime procesus. Taip yra todėl, R13 ir R14 yra gaviklį skirtingai nuo vartotojo ir SVC režimu.
  • DINAMINĖ ATMINTIS palaikymas: (1) Pridėk logiką, reikalingą dirbti remapping bendros atminties konteksto jungikliai. (2) išplėsti virtualios / fizinis adresas konversijas įtraukti adresus bendros atminties. (3) Pridėk įgyvendinimą platformos konkrečių bendros atminties paramą.
  • Atmel SAMA5D Vairuotojai:
  • Tinklo Ioctls. Įgyvendinti visas tinklo ioctls, įskaitant naujųjų ioctl sukonfigūruoti PHY pranešimų apie įvykius,
  • Adresas transformaciją. Branduolio statyti kartu su adresų aplinką, reikia logika žemėlapį Vartotojų virtualius adresus fizinių adresus, ir atvirkščiai;
  • Atmel SAMA5D forumai
  • SAMA5D3 Xplained, SAMA5D3-Ek, ir SAMA5D4-EK: konvertuoti esamas atskirąsias lenta PHY pertraukimais sąsajas naudoti naujai apibrėžtą standartinę sąsają,
  • .
  • SAMA5D4-EK: Pridėti konfigūraciją išbandyti branduolio statyti konfigūraciją. Yra konfigūracijos paleisti arba iš SD kortelės arba iš ir į atminties ROMFS failų sistema.
  • SAMA5D4-EK: Pridėti dokumentų / paramą Versija E. lentos
  • .
  • STMicro STM32 Vairuotojai:
  • Ethernet ": modifikuota palaikyti prie tinklo ioctl parašo pokyčių kaita. Taip pat įtraukti paramą už naują ioctl sukonfigūruoti PHY įvykių pranešimų.
  • STMicro STM32 forumai
  • STM32F4Discovery su STM32F4DIS-BB: Pridėti tinklą įjungtas NSH konfigūraciją už STM32F4Discovery lentos su STM32F4DIS-BB bazinės valdybos įdiegta. Apima paramą "microSD" kortelės lizdą STM32F4DIS-BB bazinės lentos.
  • TI TIVA Vairuotojai:
  • TI CC3200: Pridėti paramą TI CC3200. Nuo Jim Ewing.
  • TI TIVA forumai
  • TI CC3200 Launchpad: Pridėti paramą TI CC3200 Launchpad. Nuo Jim Ewing.
  • Biblioteka, C: "
  • apklausa (). Re įgyvendinti apklausa () vėlavimas naudojant sem_timedwait ();
  • Sąranka / Build System: "
  • Eksporto Tikslas: branduolyje arba apsaugoti stato, (1) vien tik vartotojų bibliotekose turėtų būti eksportuojami (2), nekopijuokite vidaus antraštės failai ar statyti scenarijus, jei tai yra branduolių arba apsaugoti statyti ir (3) poreikiai pluoštas iki vartotojo, C paleisties failą (crt0), o ne branduolio galvos objektą branduolio ir saugomi stato.
  • Programos CFLAGS: Pridėti logiką, kuris leistų mums kurti naudotojo bibliotekas su skirtingais CFLAGS nei branduolio kodą. Tai reikalinga, nes mes turime -fno-bendrą variantą statant ELF kodą išvengti SHN_COMMON perkėlimo.
  • Programos: "
  • NSH: Pratęsti NSH tinklo iniciacijos logiką. Šiuo metu galimybė, kad bus sukurti tinklo monitoriaus gija, kuri stebės nuorodos būklę. Kai ryšys krinta, kodas bandys grakščiai įdėti Ethernet vairuotojui žemyn būklę; Kai ryšys grįžta, kodas bandys pareikšti tinklą atgal.
  • ELF Pavyzdys:. ELF testas / pavyzdys buvo pratęstas tiek individualūs ELF bandymų programos gali susieti prieš syscall bibliotekoje (jei jis yra) arba prieš C biblioteką pašalinti arba sumažinti skirtą simbolis lentelių poreikį;
  • nxterm: Pakeisti visus NxConsole įvykių prie nxterm
  • .
  • MTDRWB Pavyzdys:. Pridėti pavyzdį išbandyti MTD R / W buferio,
  • OS testas Pavyzdys: Pridėti trivialus testas sem_timedwait ();
  • .
  • Prašymas konfigūravimas / Build System: "
  • Importas Tikslas: (1) Pridėk logika, kuri leis kurti programas dėl jam NuttX eksporto paketo (vs nuttx / kodo medį). (2) Pridėk config failą eksportuoti paketą. (3) Sukurti apps / importo. Sukurti Apps / importo / Make.defs, kad tai tokius dalykus kaip apibrėžti CFLAGS; ELF statyti reikia -fno-common CFLAGS. Kopijuoti šiek tiek bazinę logika iš nuttx / Įrankiai / Config.mk į apps / importo / Make.defs. (4) Pridėk apps / importo / skriptus / GNU elf.ld Persijos įlankos jungtį scenarijų ELF importo stato.
  • Visi Makefiles: (1) Pridėti įdiegti tikslą visiems Makefiles. Dėl importo statyti, aukščiausio lygio Makefile dabar daro du leidimai: (1) stato libapp.a, tada (2) įdiegia į apps / bin programas. (2) Pridėk programos diegimą už CONFIG_BUILD_KERNEL visų Makefiles kad statyti pagrindinė (). (3) Dėl branduolio statyti, objektas failas, kuriame yra pagrindinė () negali eiti į dėl pavadinimo susidūrimų bibliotekoje. Objektas byla turi būti tvarkoma kaip speciali atveju kiekvienas Makefile.
  • Visi Built-in Programos: Su branduolio statyti (CONFIG_BUILD_KERNEL), įvažiavimo į visas užduotis yra pagrindinis (), o ne kai xyz_main ();
  • .
  • NSH: Keli komandos turi būti išjungtas "branduolio statyti, nes jie priklauso nuo sąsajos, kurių nėra už branduolio. Dd, df, losetup, mkfatfs, mkdr ir PS
  • Apps / Įrankiai /: (1) Pridėk mkimport.sh sprogti žinutę NuttX importo paketą ir įdiegti apps / importo. (2) Pridėk mkromfsimg.sh scenarijų sukurti įkrovos ROMFS failų sistemos įvaizdį.
  • ELF ir NxFLAT pavyzdžiai:. Negalima statyti testinius atvejus, kurie naudoja task_create (), jei yra adresas aplinka,
  • Įrankiai
  • refresh.sh:. Pridėti nuorodą padaryti gaivinančių konfigūracijas lengviau, kai jūs norite padaryti daug jų;
  • mksyscall.c: Sudėjimas syscalls kad nereikia antraštės failai,
  • .
  • mkexport.sh:. Pridėti config failą eksportuoti paketą
  • apps / įrankiai: Žr naujų apps / įrankiai scenarijus,
  • .
  • pastangas pažangą. Toliau funkcijos, kurios yra iš dalies įgyvendinta, bet ir šiame spaudai. Jie nėra tikėtina, kad bus baigtas greičiau.
  • Procesai: Didžioji dalis šioje versijoje darbą yra sutelktas į UNIX stiliaus Vartotojo procesų NuttX realizavimo. Yra daugiau turi būti padaryta, tačiau. Pilnas planas ir statusas galima rasti adresu: http://www.nuttx.org/doku.php?id=wiki:nxinternal:memconfigs#the_roadmap_toward_processes
  • XMEGA: Yra keletas vietoje fragmentai už XMEGA uostą. Tai uostas tikrai ne prasidėjo, tačiau.
  • Galileo ": Panašiai yra fragmentai įdiegtos" Intel "Galileo uostą. Uosto nebuvo pradėta rimtai arba.
  • Klaidų ištaisymas. Tik svarbiausi pataisymai yra išvardyti čia (žr ChangeLog už pilną sąrašą pataisymų ir papildomai ir detaliau BUGFIX informacija): "
  • Core Operacinė sistema: "
  • Branduolio statyti pataisymai: (1) IDLE TCB sąranka turi nurodyti, kad IDLE sriegis yra privilegijuota, branduolio sriegis. (2) Negalima statyti task_create () arba task_spawn () sąsajas, jei yra adresas aplinka. (3) posix_spawn () branduolys Proxy siūlai turėtų būti branduolys sriegis, o ne vartotojas užduotis.
  • Keletas pthread sąsajos: Pridėti const saugojimo klasė phthread parametrus. Nuo Freddie Chopin.
  • sched / laikrodis: Pašalinti liekanos g_tickbias; reikia, vietoj to, taikyti laiko poslinkį g_basetime siekiant užtikrinti teisingą sistemos laiką.
  • Sistema skambučiai: (1) Keletas rašybos fiksuotas; ištaisyti integracija exevc (), execvl (), posix_spawn () ir posix_spawnp () sistemos skambučiai.
  • (2) Jeigu mes sukonfigūruotas naudoti branduolio kamino o syscall tvarkymo, tada mes turime grįžti prie vartotojo kamino pristatyti signalą.
  • Failų sistemos / Block Vairuotojai / DTD: "
  • procfs: Nustatyti tam tikrą procf lūžimo pristatė reorganizuojant kai ne reorganizable duomenų struktūras. Ken Pettit.
  • AT45: Be at45db_bwrite (), buferis nepadidėjo rašant daugiau nei 1 psl. Sourceforge klaidą # 34.
  • Dvejetainiai formatai:
  • ELF perkėlimas: kai perkėlimo rūšys neturi pavadintas simbolį, susijusį su jais. Dizainas neapskaitė toje byloje.
  • ELF krautuvas:. Kritinis Ištaisyta .. BSS nebuvo formalumus;
  • Atminties valdymas:
  • Granulių paskirstytojo: Granulių paskirstytojo iniciacijos naudoja klaidingą paskirstytuvą į atidedant branduolio atminties,
  • .
  • Privilegijuoti Grupės: Pridėti vėliava grupės struktūrą: Jei grupė yra sukurtas branduolio temoje, tada visi grupės ištekliai turi būti privilegijuota "
  • .
  • Cryptogrphic palaikymas: "
  • šifravimo / cryptodev.c: Kelias segmentai atstatomi įtraukti failo kelią. Pažymėjo Brennan Ashton.
  • Bendrosios Vairuotojai:
  • Bendra CAN viršutinė pusė: Be can_txdone, padavėjai semaforas turi būti informuojami, neatsižvelgiant į grįžimo vertės can_xmit. Pirmiausia ji grįžta -EIO jei nėra naujų paketų, ir, antra iš padavėjų informacija apie paskutinį perduodamo paketo. Nuo Daniel Lazlo Sitzer.
  • ARM: "
  • Sistema skambučiai: Fix sistemoje skambučio typo kai žavingas parametrą iš kamino: reguliatoriai [REG_PC] 4 yra adresas, o ne reguliatoriai [REG_PC +4]
  • .
  • STMicro STM32 Vairuotojai:
  • STM32 F401 UART: Teisingas parama USART6 šiame luste. Nuo Freddie Chopin.
  • STM32 FLASH nustato: naudokite size_t vietoj uint16_t, kad sąsaja daugiau bendrinis. Nuo Freddie Chopin.
  • STM32 UART. Pataisos UART7 ir UART8 ant STM32 parą galima iš Atono
  • CAN: Tuo nutraukti prižiūrėtojas pabaigoje pertraukia metu buvo išjungta, jei visi paketai buvo perduoti kai nutraukti prižiūrėtojas buvo remiamasi. Tai yra problemiškas, nes nutraukti prižiūrėtojas ragina can_txdone () iš viršutinės, kuris gali į eilę naujų paketus siųsti. Pašalinta blokas apskritai, nes can_txdone () ragina can_xmit (), kuris išjungia pertraukia jei nėra naujų paketai išsiųsti. Nuo Daniel Lazlo Sitzer.
  • CAN. Papildoma STM32 CAN korekcija pasiūlė Max Holtzberg
  • STMicro ST32 forumai
  • configs / mikroe-stm32f4: Nustatyti keli kaupia klaidas ir nedidelius pataisymus mikroe-stm32f4 konfigūracijos šaltinį. Ken Pettit.
  • ARM9 / ARMv7-: "
  • Sistema skambučiai: Nustatyti ARM7 / 9 ir Cortex-A SYSCALLs: Dėl siūlų SVC režimu SVC instrukcijos clobbers R14. Tai turi būti atsižvelgta į inline surinkimas.
  • Užduotis sąranka: Visi užduotys, net vartotojo režime užduotis, turi prasidėti vadovui režimu tol, kol jie saves palikti paleidimo batuto;
  • .
  • ARMv7-: Modifikuoti up_fullcontextrestore (), kad CONFIG_BUILD_KERNEL. Jis pakeitė CPSR o branduolį. Tai bus katastrofos, jei naujas CPSR yra vartotojo režime, vykdydama branduolio erdvėje. Fiksuoto pridedant SYS_context_restore sistemos skambutį. Yra alternatyva, paprastesnis pakeitimas up_fullcontextrestore (), kad galėjo būti padaryta: Tai galėjo būti įmanoma naudoti vietoj CPRSR SPSR ir tada padaryti išimtį grąžą up_fullcontextrestore (). Tai būtų efektyvesnis, bet aš niekada bandė jį.
  • Atmel SAM3 / 4 forumai
  • SAM3X / Arduino Dėl: Nustatyti Typo į sam3x_periphclks.h; pridėti SCLK apibrėžimai board.h antraštės failą. Nuo Fabien Comte.
  • SAM3 RTT: Tik SAM4 šeima turi RTTDIS tiek į MR registre. SourceForge klaidą # 33 iš Fabien Comte.
  • Biblioteka, C: "
  • sscanf (): NuttX libc bandė atspėti kiek simbolių išanalizuoti, išgauti juos į buferį, tada bėgo strtol () tą buferį. Tai spėjimas dažnai klydau. Geriau būtų skambinti strtol () tiesiogiai įvesties duomenų, naudojant endptr grąžos vertę, siekiant nustatyti, kiek simbolių praleisti po apdorojant. Nuo KOSMA Moczek.
  • Matematika biblioteka:. Pataisyta atan2 diegimas iš Denis Arnst
  • slankiojo kablelio išvestis: Pakeisti į lib_dtoa () nustatyti tikslumo klaida, besidriekiančiomis nuliais. Nuo Bob Doiron.
  • Programos: "
  • Nustatyti NSH PS komandą. Jei nėra argumentų, tai gali spausdinti šiukšles už argumentų sąrašo,
  • Sąranka / Build System: "
  • NULL Pavyzdys: reikia įtraukti config.h tai kad žinoti, jei tai yra arba nėra branduolio statyti. Ši problema vis dar egzistuoja keliose kitose failą, gali reikėti nustatyti pagrindinis ().

Kas naujo versijos 7.8:

  • Savybės: Papildomos naujų funkcijų ir papildomas funkcijas:
  • Core Operacinė sistema: "
  • "Watchdog Timer paskirstymas: (1) Jei mes paleisti iš anksto paskirta watchdog laikais, logika dabar skirti papildomų laikmačius iš krūvos. Iš anksto paskirta watchdog laikmatis rezervas yra prižiūrimi taip, kad visada bus laikmačiai, skirti pertraukti tvarkytojai. (2) papildoma parama statiškai paskirta watchdog laikmatis
  • Adresas aplinkos palaikymas: (2) Naujos OS API integruota į visą platformos specifiniame kontekste perjungimo logika (up_block_task (), up_unblock_task (), _exit () ir kiti);
  • .
  • Branduolio Sudėjimas palaikymas: (1) MPU pagrįstas & quot; branduolys statyti & quot; pervadinta į saugomą statyti (CONFIG_BUILD_PROTECTED); papildoma parama naują MMU pagrindu & quot; branduolys statyti & quot; (CONFIG_BUILD_KERNEL), (2) sistema skambutis biblioteka dabar gali būti pastatytas su CONFIG_NUTTX_KERNEL. Nauja pasirinkimas *:. CONFIG_LIB_SYSCALL
  • Sistemos paleidimas: Pridėti konfigūravimo parinktis pradėti sistemą iš dėl failų sistemos programą (palyginus su atminties adresą);
  • .
  • Paleidimas Parametrų Perdavimai: Yra naudojami būti du būdai išlaikyti parametrus su naujais uždaviniais, priklausomai nuo konfigūracijos: arba (1) argv [] taip sukurta kaip su kiekviena eilutė strdup'ed masyvo. Arba (2) argv [] masyvas ir styginiams buvo sukurta krūvos iki buvo pradėta nauja užduotis. Dabar, yra tik vienas būdas, būdas (2). Būdas (1), gali būti šiek tiek daugiau kompaktiškas, bet tai nėra verta atlikti dviejų skirtingų būdų, kaip daryti tą patį, ką kompleksiškumą.
  • Pagrindinis diskusijų Pradės: Pridėti sugebėjimą atlikti pradinį stalo iniciacijos ant atskiro darbuotojo pokalbio. Tai reikalinga, nes yra daug atvejų, kai iniciacijos logika negali atlikti dėl paleidimo į viršų / neveikiant pokalbio. Taip yra todėl, blokuoti arba laukti neleidžiama ant IDLE pokalbio.
  • Atminties valdymas:
  • Granulių paskirstytojo: (1) Pridėk naują funkciją rezervuoti JT paskirstytini regionus granulių krūvą. (2) Pridėk sąsajos remti JT Inicijuojama granulių paskirstytuvą.
  • Puslapio paskirstytojo: Pridėti paprastą fizinį puslapis paskirstytuvą remiantis esamos NuttX granulių paskirstymo kriterijumi. Nesu tikras, ar granulių paskirstytojo yra pakankamai deterministinis tolimo naudojimo, tačiau ji tampa gauti puslapio paskirstytuvą vietoje išbandyti labai greitai.
  • Pašalinti CONFIG_MM_MULTIHEAP: Ne multiheap operacija nebepalaiko "
  • .
  • sbrk (). Sbrk () dabar palaiko branduolio statyti leisti dinamiškai dydžio, už proceso krūvos,
  • už proceso Krūvos: Kosmosas ties proceso duomenų erdvėje pradžioje rezervuotas naudoti krūvos valdymo struktūras. Be branduolio statyti režimu, šios Heap struktūros pasidalija branduolys ir naudoti kodeksas, siekiant skirti konkretaus vartotojo duomenis.
  • Vartotojo vadybininko: Kai privilegijuoti siūlai išėjimai, mes turime naudoti branduolio paskirstytuvą į laisvos atminties; Kai Turintis siūlai išėjimai, mes neturime nieko daryti ... krūvos atminties bus valomi, kai adresas aplinka nugriauta.
  • Inter-procesas DINAMINĖ ATMINTIS palaikymas: (1) Pridėk įgyvendinimą ir dokumentus shmget (), shmctl (), shmat () ir shmdt (). (2) Pridėk sistemos sistemą ragina remti vartotojo skambučio vartai į bendrosios atminties sąsajos. (3) Pridėk platformos konkrečios sąsajos apibrėžimus, kurių reikia remiant bendrą atminties funkciją.
  • Virtualus tinklalapis paskirstytojo: Pridėti paramą už proceso virtualioje puslapio paskirstymo kriterijumi. Tai yra nauja narys task_group_s struktūrą. Paskirstytuvas turi būti inicijuoti, kai naujas vartotojas procesas yra pradėtas ir sužadinimą, kai procesas grupė yra galutinai sunaikinti. Jis naudojamas shmat () ir () shmdt pasirinkti virtualų adresą, į kurį į žemėlapį bendrą fizinę atmintį.
  • Failų sistemos / Block Vairuotojai / DTD: "
  • SMART FS: SMART FS ir protingas FS procfs atnaujinimus iš Ken Pettit
  • .
  • MTD:. Atrodo, MTD Skaityti priekį / rašymo buferio sluoksnis yra dabar funkcionalus,
  • Dvejetainiai formatai:
  • per procesą indą. Pridėti logika inicijuoti už proceso vartotojo krūvą, kai kiekvienas vartotojas procesas yra pradėtas,
  • Grafika: "
  • nxterm: Pakeisti visus NxConsole įvykių prie nxterm
  • .
  • Tinklas: "
  • PHY Pertraukimai: (1) standartizuoti PHY nutraukti tvirtinimo sąsaja. (2) Pridėk paramą už ioctl kuris gali būti naudojamas pranešti paraišką, kai yra tinklo statusą nurodžiusi PHY nutraukti pakeitimas.
  • Geresnis Siųsti logika: Anksčiau pirmasis paketas siųsti į naują tinklo peer trukdytų; nebūtų jokio ARP lentelę įrašas peer ir taip ARP prašymą galėtų pakeisti tą pirmąjį paketą. Dabar kaip alternatyva, jei CONFIG_NET_ARP_SEND = y all siųsti logika bus (1) patikrinti, ar kolegų MAC adresas yra ARP lentelę, o jei ne, (2) siųsti ARP prašymus periodiškai gauti žemėlapių ir (3) laukti ARP atsako. Tada (4) kai ARP atsakymo negaunama tada tikrasis siųsti logika bus pradėtas. Taigi gali būti vėluojama su pirmuoju paketu išsiųstas į naują peer, tačiau paketas neturėtų būti prarastas;
  • Priimančioji modeliavimas: "
  • "SPI FLASH Pilotas:. Imituojamas" SPI FLASH tvarkyklė sim tikslą Ken Pettit
  • "Intel x86"
  • Numatytasis Priimančioji: Numatytasis kompiuteris dabar x86_64 ir -m32 variantas bus automatiškai pasirinkta modeliavimas stato,
  • .
  • "Intel" 8051 šeima: "
  • 8051 Pašalinta: Pašalintas visas už 8051 šeimos architektūros iš NuttX kodo medį paramą. Pasenusi kodas kartu su šalinimo pleistras dabar galima rasti misc / pasenusi /. Šis kodas buvo pašalintas, nes (1), nors kai kurios funkcijos buvo įrodyta, aš esu nežino jokių tikrai sėkmingų uostuose NuttX į bet 8051 ir (2) 8051, su savo aparatūros kaminą, verčia apribojimus ir komplikacijų kitų architektūrų ir padaryti augimą ir vystymąsi NuttX sudėtingesnė.
  • ZILOG ZNeo forumai
  • configs / 16z: Parama šioje diskusijų lentoje buvo pašalintas iš NuttX kodo medį (bet dar galima rasti misc / pasenusi kataloge). Šis uostas yra nepasiruošęs naudojimo, bet gali grįžti į NuttX medį tam tikru momentu ateityje.
  • Atmel SAM3 / 4 forumai
  • SAM4E-EK. Įdėti (1) visiškai funkcionalus ILI9341 pagrindu LCD vairuotojui ir (2) visiškai funkcinis NxWM konfigūraciją;
  • ARMv7-: "
  • Adresas aplinka: Pridėti paramą taikymas adresas aplinkoje, naudojant Cortex-A MMU. Įgyvendinti standartizuotus platformos konkrečios sąsajos su NuttX adresas aplinkosaugos parama.
  • Cache operacijos: Įgyvendinti standartizuotus, platforma konkrečių talpyklos operacijas. Tai vadinama iš ELF loader siekiant praplauti D-talpyklą ir nustoti galioti I-cache po ELF modulis buvo pakrautas į atmintį. Su šia kaita, ELF moduliai veiktų tinkamai ant SAMA5 / Cortex-A platforma.
  • Branduolio Sudėjimas: (1) Pridėk realizacijomis sistema skambučius vartų. (2) Pridėk CRT0 paleidimo failas, kuris gali būti susijęs su atskirai pastatyta Vartotojo programas. (3) Pridėk paramą pristatymo naudojimo režimo signalus branduolio statyti. (4) Pridėk logika inicijuoti už proceso vartotojo krūvą, kai kiekvienas vartotojas procesas yra pradėtas. (5) ARMv7-išimtis tvarkymas turi dirbti tiek kitaip, jei mes remti vartotojo režime procesus. Taip yra todėl, R13 ir R14 yra gaviklį skirtingai nuo vartotojo ir SVC režimu.
  • DINAMINĖ ATMINTIS palaikymas: (1) Pridėk logiką, reikalingą dirbti remapping bendros atminties konteksto jungikliai. (2) išplėsti virtualios / fizinis adresas konversijas įtraukti adresus bendros atminties. (3) Pridėk įgyvendinimą platformos konkrečių bendros atminties paramą.
  • Atmel SAMA5D Vairuotojai:
  • Tinklo Ioctls. Įgyvendinti visas tinklo ioctls, įskaitant naujųjų ioctl sukonfigūruoti PHY pranešimų apie įvykius,
  • Adresas transformaciją. Branduolio statyti kartu su adresų aplinką, reikia logika žemėlapį Vartotojų virtualius adresus fizinių adresus, ir atvirkščiai;
  • Atmel SAMA5D forumai
  • SAMA5D3 Xplained, SAMA5D3-Ek, ir SAMA5D4-EK: konvertuoti esamas atskirąsias lenta PHY pertraukimais sąsajas naudoti naujai apibrėžtą standartinę sąsają,
  • .
  • SAMA5D4-EK: Pridėti konfigūraciją išbandyti branduolio statyti konfigūraciją. Yra konfigūracijos paleisti arba iš SD kortelės arba iš ir į atminties ROMFS failų sistema.
  • SAMA5D4-EK: Pridėti dokumentų / paramą Versija E. lentos
  • .
  • STMicro STM32 Vairuotojai:
  • Ethernet ": modifikuota palaikyti prie tinklo ioctl parašo pokyčių kaita. Taip pat įtraukti paramą už naują ioctl sukonfigūruoti PHY įvykių pranešimų.
  • STMicro STM32 forumai
  • STM32F4Discovery su STM32F4DIS-BB: Pridėti tinklą įjungtas NSH konfigūraciją už STM32F4Discovery lentos su STM32F4DIS-BB bazinės valdybos įdiegta. Apima paramą "microSD" kortelės lizdą STM32F4DIS-BB bazinės lentos.
  • TI TIVA Vairuotojai:
  • TI CC3200: Pridėti paramą TI CC3200. Nuo Jim Ewing.
  • TI TIVA forumai
  • TI CC3200 Launchpad: Pridėti paramą TI CC3200 Launchpad. Nuo Jim Ewing.
  • Biblioteka, C: "
  • apklausa (). Re įgyvendinti apklausa () vėlavimas naudojant sem_timedwait ();
  • Sąranka / Build System: "
  • Eksporto Tikslas: branduolyje arba apsaugoti stato, (1) vien tik vartotojų bibliotekose turėtų būti eksportuojami (2), nekopijuokite vidaus antraštės failai ar statyti scenarijus, jei tai yra branduolių arba apsaugoti statyti ir (3) poreikiai pluoštas iki vartotojo, C paleisties failą (crt0), o ne branduolio galvos objektą branduolio ir saugomi stato.
  • Programos CFLAGS: Pridėti logiką, kuris leistų mums kurti naudotojo bibliotekas su skirtingais CFLAGS nei branduolio kodą. Tai reikalinga, nes mes turime -fno-bendrą variantą statant ELF kodą išvengti SHN_COMMON perkėlimo.
  • Programos: "
  • NSH: Pratęsti NSH tinklo iniciacijos logiką. Šiuo metu galimybė, kad bus sukurti tinklo monitoriaus gija, kuri stebės nuorodos būklę. Kai ryšys krinta, kodas bandys grakščiai įdėti Ethernet vairuotojui žemyn būklę; Kai ryšys grįžta, kodas bandys pareikšti tinklą atgal.
  • ELF Pavyzdys:. ELF testas / pavyzdys buvo pratęstas tiek individualūs ELF bandymų programos gali susieti prieš syscall bibliotekoje (jei jis yra) arba prieš C biblioteką pašalinti arba sumažinti skirtą simbolis lentelių poreikį;
  • nxterm: Pakeisti visus NxConsole įvykių prie nxterm
  • .
  • MTDRWB Pavyzdys:. Pridėti pavyzdį išbandyti MTD R / W buferio,
  • OS testas Pavyzdys: Pridėti trivialus testas sem_timedwait ();
  • .
  • Įrankiai









































  • Įrankiai




  • Įrankiai
























































































  • Įrankiai


























  • Klaidų ištaisymas: "






































































































Panaši programinė įranga

Komentarai NuttX

Komentarai nerastas
Pridėti komentarą
Pasukite ant paveikslėlio!