NuttX egy nyílt forráskódú, determinisztikus és ingyenes valós idejű beágyazott operációs rendszer (RTOS), célja az eltolás történő felhasználása a mélyen beágyazott, korlátos erőforrásokkal környezetben. Ez a kis erőforrásigényű, hogy használható-e mikro-vezérlő környezetben, és ez & rsquo; s teljes mértékben skálázható apró (8 bites) és közepes beágyazott (32 bites) rendszerek.
Célja továbbá, hogy teljes mértékben megfeleljen a szabványoknak, hogy teljesen valós időben, és hogy teljesen nyitott. NuttX gazdag funkcionalitással OS szett, moduláris kialakítású, nagyon méretezhető, és beállítható, valamint a szabványoknak megfelelő. Kerül forgalomba, nem korlátozó BSD licenc. Ez gyakran nevezte a fejlesztői, mint "Tiny Linux." Plusz egy glanceKey funkciók közé tartozik a fő feladata, menedzsment, BSD socket interfész, memória foglaló (megosztott memória, szabványos halom memória allokációs, védett építmények a MPU, lapos beágyazott épít, per-folyamat halmok, granulátum lefoglaló és dinamikusan méretű), memória-beállításokkal számhordozás útmutató, teljesen preemptív, tickless működését, on-demand paging és naplózó.
Ezen kívül a projekt jön kiterjesztések kezelésére elővásárlási, a szálankénti, beépített CPU terhelés mérés, átfogó dokumentációt, nem kötelező feladatok, amelyek címe környezetben, ANSI-szerű és POSIX-szerű feladat ellenőrzése, órák, pthreads, környezetvédelem változók, jelek, elemzi üzenetsorokért, időzítő, fájlrendszer és számolás szemaforokat.
Többek között a funkciók, említhetjük round-robin ütemezés, FIFO, támogatja a prioritás öröklődése, támogatja a SoC architektúra, támogatása fórumon architektúrák, támogatja az új processzor architektúrát, watchdog időzítő, VxWorks-szerű feladatkezelő, I / O átirányítás és továbbított & ldquo; kontrolling terminálok. & rdquo; Támogatott platformsNuttX támogatja sokféle hardver platformok, amelyek között említhetjük számos ARM processzorok, beleértve ARM Cortex-M3, ARM926EJS, ARM7TDMI, ARM Cortex-M4, ARM Cortex-M0, ARM920T és ARM Cortex-A5, valamint a Atmel 8-bit AVR, Freescale M68HCS12, AVR32 Atmel AVR platformokon.
Továbbá, ez is támogatja a különböző Intel platformok, mint például a mikrochip PIC32MX (MIPS), 80c52 és 80-szor, 86, Zilog platformok, köztük Zilog Z80, Zilog Z16F, Zilog Z8Encore! és zilog ez80 Acclaim !, és a Renesas / Hitachi SuperH és Renesas M16C / 26 platformon.
Mi az új ebben a kiadásban:
- Tulajdonságok: Extra új funkciók és kibővített funkciókkal:
- Core OS:
- Watchdog Timer kiosztása: (1) Ha elfogy a pre-kiosztott watchdog alkalommal, a logika most többletforrásokat időzítő a kupac. A tartalék az előre kiosztott watchdog időzítő tartjuk, hogy mindig lesz időzítő elérhető megszakításkezelõkben. (2) A támogatás a statikusan kiosztott watchdog timer
- Cím Környezet Támogatás: (2) New OS API integrálni minden platformra jellemző környezetváltások logika (up_block_task (), up_unblock_task (), _exit (), és mások).
- kernelfordításkor támogatás: (1) Az MPU alapú & quot; kernelfordításkor & quot; átnevezi a védett építmények (CONFIG_BUILD_PROTECTED); hozzáadott támogatása az új MMU-alapú & quot; kernelfordításkor & quot; (CONFIG_BUILD_KERNEL), (2) A rendszer hívás könyvtár most épült CONFIG_NUTTX_KERNEL. Új választás *: CONFIG_LIB_SYSCALL.
- A rendszer indítása: Add beállítási lehetőség, hogy indítsa el a rendszert egy programot egy fájlrendszeren (versus cím memóriában).
- Startup paraméterátadási: Ott szokott lenni kétféleképpen paraméterek átadása az új feladatok, attól függően, hogy a konfiguráció: Vagy (1) argv [] jöhetnek létre, mint egy tömb minden húr strdup'ed. Vagy (2) argv [] tömb és vonósokra jött létre a veremben, mielőtt az új feladat indult. Most, hogy csak egy módon, úgy (2). Way (1) lehet valamivel tömörebb, de ez nem éri meg folytatni a bonyolultsága két különböző módon ugyanazt a dolgot.
- Board inicializálása: Add kínál azzal, hogy a kezdeti fórumon indítása egy külön szálat. Erre azért van szükség, mert sok olyan esetben, amikor az inicializálás logika nem tudja végrehajtani a start-up / IDLE menet. Ennek oka, hogy blokkolja vagy várakozás tilos a készenléti menet.
- Memory Management:
- granulátum Allocator: (1) Új funkció foglalni az ENSZ-allocatable régiók a granulátum kupac. (2) Add interfészek hogy támogassák az ENSZ-iniciali granulátum lefoglaló.
- Page Allocator: Add egy egyszerű oldal fizikai elhelyezőnek alapján a meglévő NuttX granulátum lefoglaló. Nem vagyok biztos, ha a granulátum lefoglaló kellően determinisztikus nagy hatótávolságú használatát, de ez lesz kap egy oldal allocator helyett tesztelésére nagyon gyorsan.
- Vegye le CONFIG_MM_MULTIHEAP: Nem multiheap működése már nem támogatott.
- sbrk (): sbrk () most már támogatja a rendszermag, amely lehetővé teszi a dinamikusan méretű, per-folyamat kupacok.
- Per-Process Heaps: Space elején a folyamat adatok már lefoglalták a felhasználó kupackezelésének struktúrák. A rendszermag üzemmódban ezek a kupac struktúrák megoszlanak a kernel és használata kódot kihelyezése érdekében a felhasználó-specifikus adatokat.
- Felhasználói Heap Management: Amikor egy kiváltságos szál kilép, meg kell használni a kernel elhelyezőnek hogy a szabad memória; amikor egy jogosultságokkal szál kilép, akkor nem kell csinálni semmit ... kupacmemóriája fogják takarítani, amikor a cím környezet lebontják.
- Inter-Process megosztott memória támogatás: (1) Add végrehajtása és dokumentációja shmget (), shmctl (), shmat (), és shmdt (). (2) hozzáadása rendszer rendszer kéri, hogy támogassák a felhasználó hívást kapu a megosztott memória interfész. (3) Add platform-specifikus interfész definíciók támogatásához szükséges osztott memóriát használó funkciót.
- Virtuális Oldal Allocator: támogatást adni egy-egy folyamat virtuális lap lefoglaló. Ez egy új tagja a task_group_s szerkezet. A lefoglaló inicializálni kell, amikor új felhasználó folyamat elindult, és inicializálást, amikor a folyamat csoport végül elpusztult. Ezt alkalmazzák a shmat () és shmdt (), hogy vegye a virtuális címet, amelyre feltérképezni a megosztott fizikai memória.
- fájlrendszerek / blokk Drivers / MTD:
- SMART FS: SMART FS és FS SMART procfs frissítéseket Ken Pettit.
- MTD: A MTD előreolvasást / Write átmeneti réteg tűnik most működőképes.
- bináris formátumok:
- Per-Process Heap: Add logikai inicializálni a per-folyamat felhasználói halom amikor mindegyik felhasználó folyamat elindult.
- Grafika:
- NxTerm: Változás összes előfordulását NxConsole hogy NxTerm.
- Hálózat:
- PHY Megszakítja: (1) egységesítsék a PHY interrupt mellékletet felület. (2) támogatást adni az ioctl, hogy lehet használni, hogy értesítse a kérelmet, ha változás áll be a hálózat állapotát jelzi a PHY interrupt.
- Továbbfejlesztett küldése Logic: A múltban, az első csomag küldjön egy új hálózat peer megbukik; nem lenne bejegyzés az ARP táblázatban a szakértői és így egy ARP kérést, amely helyettesíthetné első csomag. Most, mint egy lehetőséget, ha CONFIG_NET_ARP_SEND = y, all Levél logika (1) ellenőrizze, hogy a peer MAC-cím az ARP tábla, és ha nem, (2) küld ARP kéréseket rendszeresen kap a térképészeti és (3) várja meg a ARP választ. Ezután (4), amikor az ARP érkezik válasz, akkor az aktuális küldési logikája kezdeményezni fogják. Így előfordulhat, hogy a késedelem első csomagot küldött az újabb szakértői, de a csomag nem szabad veszni
- Host Szimuláció:
- SPI FLASH Pilóta: emulált SPI flash meghajtó a sim cél Ken Pettit.
- Intel x86:
- Default Host: Az alapértelmezett host most x86_64 és a -m32 opció automatikusan kiválasztásra szimuláció épít.
- Intel 8051 Család:
- 8051 Törölve: eltávolította az összes támogatást a 8051 család architektúrája a NuttX forrás fába. Az elavult kódot magával eltávolítása folt most már megtalálható a misc / idejétmúlt /. Ezt a kódot eltávolították, mert (1), bár bizonyos funkciók Kimutatták, nem vagyok tisztában minden igazán sikeres kikötők NuttX minden 8051, és (2) a 8051, a hardver verem, arra kényszeríti korlátozások és komplikációk a többi architektúrán és hogy a növekedés és fejlődés a NuttX bonyolultabb.
- Zilog ZNeo fórum:
- config / 16Z: Támogatás a fórumon már eltávolították a NuttX forrásfán (de még mindig megtalálható a misc / idejétmúlt könyvtár). Ez a port nem áll készen a felhasználásra, de lehet, hogy visszaadja a NuttX fát valamikor a jövőben.
- Atmel SAM3 / 4 fórum:
- SAM4E-EK: Add (1) egy teljesen működőképes ILI9341 alapú LCD meghajtó és (2) egy teljesen működőképes NxWM konfiguráció.
- ARMv7-A:
- Cím környezetek: adjunk támogatást alkalmazás címet környezetben is Cortex-A MMU. Szabványosított platform-specifikus interfészek NuttX címet környezet támogatása.
- Gyorsítótár-műveletek: szabványosított, platform-specifikus cache műveleteket. Ezeket nevezik a ELF betöltő annak érdekében, hogy pirul D-cache és érvényteleníti I-cache után ELF modul betöltődik a memóriába. Ezzel a változással ELF modulok működnek megfelelően a SAMA5 / Cortex-A platform.
- kernelfordításkor: (1) Add megvalósításai rendszer hívás kapu. (2) Add CRT0 start-up fájl köthető külön beépített felhasználói programok. (3) támogatást adni a szállítási használat módú jeleket a rendszermag. (4) Add logikai inicializálni a per-folyamat felhasználói halom amikor mindegyik felhasználó folyamat elindult. (5) ARMv7-A kivételkezelés kell dolgozni egy kicsit másképp, ha támogatjuk felhasználói módú folyamatok. Ez azért van, mert R13 és R14 jelentése lapozható eltérően a felhasználó és az SVC módba.
- Megosztott memória támogatás: (1) Add logikai kezeléséhez szükséges remapping megosztott memória környezetváltások. (2) Húzza virtuális / fizikai cím konverziók felvenni címeket osztott memóriát. (3) Add végrehajtása platform-specifikus megosztott memória támogatása.
- Atmel SAMA5D Drivers:
- Network ioctls: Végre kell hajtani az összes hálózati ioctl, beleértve az új ioctl hogy beállít PHY eseményértesítéseket.
- Cím konverziók: A kernel építeni a címet környezet, szüksége logika, hogy feltérképezze a felhasználó virtuális címek fizikai címek, és fordítva.
- Atmel SAMA5D fórum:
- SAMA5D3 Xplained, SAMA5D3-EK, és SAMA5D4-EK: Convert meglévő fedélzeti speciális PHY megszakítás interfészek használata újonnan definiált szabványos felületen.
- SAMA5D4-EK: Add a konfiguráció tesztelésére rendszermag konfigurációs. Vannak konfigurációk indítani akár egy SD-kártyára, illetve valamint a memóriába ROMFS fájlrendszer.
- SAMA5D4-EK: Add dokumentáció / támogatás Rev E. fórumon.
- STMicro STM32 Drivers:
- Ethernet: Módosított hogy támogassa a változás, hogy a hálózati ioctl aláírás változik. Szintén támogatást adni az új ioctl hogy beállít PHY eseményértesítéseket.
- STMicro STM32 fórum:
- STM32F4Discovery a STM32F4DIS-BB: Add a hálózat engedélyezett NSH konfiguráció a STM32F4Discovery táblán a STM32F4DIS-BB alaplapra szerelve. A program támogatja a microSD kártyahely az STM32F4DIS-BB alaplapra.
- TI Tiva Drivers:
- TI CC3200: támogatást adni a TI CC3200. Jim Ewing.
- TI Tiva fórum:
- TI CC3200 Launchpad: támogatást adni a TI CC3200 Launchpad. Jim Ewing.
- C Library:
- poll (): Re megvalósított poll () késleltetés segítségével sem_timedwait ().
- Configuration / Build rendszer:
- Export Cél: A kernel vagy védett épít, (1) csak a felhasználó könyvtárak exportálni kell, (2) nem másolja belső header fájlokat vagy build szkriptek, ha ez a kernel vagy védett építmények, valamint (3) igényeinek hogy tekerje a felhasználó C startup fájlt (crt0), nem a kernel fej objektumot a kernel és a védett épít.
- Program CFLAGS: Add a logika, amely lehetővé teszi számunkra, hogy építsenek felhasználói könyvtárak különböző CFLAGS mint kernel kódot. Erre azért van szükség, mert szükségünk van a -fno-gyakori lehetőség kiépítése során ELF kódot, hogy megakadályozza SHN_COMMON áttelepülése.
- Alkalmazások:
- NSH: Hosszabbítsa meg a NSH hálózatinicializáció logika. Van most egy lehetőség, hogy létrehoz egy hálózatot monitor szál, amely figyelemmel kíséri az állam a link. Amikor a kapcsolat megy le, a kód megpróbálja kecsesen fel az Ethernet vezérlője, amely kikapcsolt állapotban; Amikor a kapcsolat jön vissza, a kód megkísérli a hálózati vissza.
- ELF Példa: Az ELF teszt / pl bővült, így az egyes ELF teszt programok hivatkoznak ellen SYSCALL könyvtár (ha van ilyen), vagy ellen C könyvtár kiküszöbölése vagy minimálisra csökkentse a szimbólumtáblákat.
- NxTerm: Változás összes előfordulását NxConsole hogy NxTerm.
- MTDRWB Példa: Add egy példa, hogy teszteljék MTD R / W bomlástermékeket.
- OS teszt példa: Add a triviális teszt sem_timedwait ().
- Application Configuration / Build rendszer:
- Import Cél: (1) Add a logika, amely lehetővé teszi építési kérelmek ellen NuttX export csomag (vs. a nuttx / forrás fa). (2) Add .config fájlt exportálni csomagot. (3) létrehozása apps / import. Hozzon létre apps / import / Make.defs, hogy nem a dolgok, mint meghatározni CFLAGS; ELF építmények igényel -fno-gyakori CFLAGS. Másolni néhány alap logikát nuttx / tools / Config.mk hogy apps / import / Make.defs. (4) Alkalmazások hozzáadása / import / scripts / gnu-elf.ld GCC linker script ELF import épít.
- Minden Makefiles: (1) hozzáadása telepíteni cél, hogy minden makefiles. Az import épít, a felső szintű Makefile most nem két lépcsőben: (1) épít libapp.a, majd (2) telepíti a programokat apps / bin. (2) Add program telepítése a CONFIG_BUILD_KERNEL minden Makefiles, hogy építsenek egy main (). (3) A kernel fordításkor a tárgyat tartalmazó fájlt main () nem mehet be a könyvtárba, mert az ütközést. Az objektum fájl kell kezelni, mint egy speciális esetben, minden Makefile.
- Minden beépített programok: A kernel build (CONFIG_BUILD_KERNEL), belépési pont minden feladatra van main (), nem valami xyz_main ().
- NSH: Több parancsokat le kell tiltani a rendszermag mert függ a felületek, amelyek nem állnak kívül a kernel: dd, df, losetup, mkfatfs, mkdr, és ps.
- apps / tools /: (1) Add mkimport.sh robbant egy NuttX import csomagot, és telepítse a apps / import. (2) Add mkromfsimg.sh script létrehozása BOOT ROMFS fájlrendszer képet.
- ELF és NxFLAT Példák: Ne építeni vizsgálati esetek használó task_create (), ha van egy cím környezetet.
- Eszközök:
- refresh.sh: Add egy eszköz, hogy frissítő konfigurációk könnyebb, ha azt szeretné, hogy sokat közülük.
- mksyscall.c: Építsd syscalls, hogy nem kell header fájlokat.
- mkexport.sh: Add .config fájlt exportálni csomagot.
- apps / Eszközök: lásd fent az új apps / tools szkripteket.
- Az erőfeszítések folyamatban van. Az alábbi funkciók, amelyeket részben valósították meg, de jelen van ebben a kiadásban. Ezek nem valószínű, hogy hamarosan elkészül.
- Folyamatok: Sok a munka ebben a kiadásban középpontjában a megvalósítása Unix-stílusú felhasználói folyamatok NuttX. Van még tennivaló, de. A teljes menetrend és állapot érhető el: http://www.nuttx.org/doku.php?id=wiki:nxinternal:memconfigs#the_roadmap_toward_processes
- XMEGA: Vannak töredékek helyett egy XMEGA port. Hogy port nem igazán indult, de.
- Galileo: Hasonlóképpen, vannak töredékek helyett egy Intel Galileo port. A port nem beindításával sem.
- hibajavítás. Csak a legkritikusabb hibajavítások listája itt (lásd a változások teljes listája hibajavítás és további, részletesebb információkat bugfix):
- Core OS:
- Kernel építeni javítások: (1) IDLE TCB beállítás jeleznie kell, hogy az alapjárat menet egy kiváltságos, kernel szál. (2) Ne építeni task_create () vagy task_spawn () interfészek, ha van egy cím környezetet. (3) posix_spawn () kernel proxy menet kell egy kernel szál, nem a felhasználó feladata.
- Több pthread interfészek: Add const tárolási osztály phthread paramétereket. Freddie Chopin.
- sched / óra: Távolítsuk nyomai g_tickbias; kell, ahelyett, hogy alkalmazni idő elfogultság g_basetime annak érdekében, hogy a korrekt rendszer időt.
- Rendszer kéri: (1) Számos helyesírási rögzített; korrigált integrációja exevc (), execvl (), posix_spawn (), és posix_spawnp () rendszer hívásokat. (2) Ha vannak beállítva, hogy egy kernel stack míg SYSCALL kezelése, akkor meg kell visszaváltani a felhasználó verem átadni egy jel.
- fájlrendszerek / blokk Drivers / MTD:
- procfs: Fix egyes procf törés által bevezetett átszervezése néhány nem reorganizable adatszerkezeteket. Ken Pettit.
- AT45: In at45db_bwrite (), a puffer nem növekszik írásakor több mint 1 oldalon. Sourceforge bug # 34.
- bináris formátumok:
- ELF költöztetés: Néhány áthelyezés típusok nincs elemzi szimbólum velük kapcsolatban. A design nem teszik az ügyben.
- ELF Loader: Kritikus hibajavítás .. BSS nem kiürül.
- Memory Management:
- granulátum Allocator: granulátum lefoglaló indítása használ rossz elhelyezőnek hogy félretéve kernel memóriát.
- kiváltságos csoportok: Add a zászlót csoport szerkezetét: Ha a csoport által létrehozott egy rendszermag, akkor az összes erőforrás a csoportban kell lennie kiváltságos.
- Cryptogrphic Support:
- crypto / cryptodev.c: pályaszakaszt megfordult többek között fájl elérési útját. Megjegyzendő Brennan Ashton.
- Közös Drivers:
- Közös CAN felső fele: A can_txdone, pincérek a szemafor tájékoztatni kell, függetlenül a visszatérési értéke can_xmit. Először visszatér -EIO ha nincsenek új csomagokat, és a második az információkat a pincérek szól az utolsó átadott csomagot. Daniel Lazlo Sitzer.
- ARM:
- Rendszer kéri: Fix elírás a rendszer hívás letölti paramétert a stack: regs [REG_PC] 4: az a cím, nem sorból [REG_PC + 4].
- STMicro STM32 Drivers:
- STM32 F401 UART: Helyes támogatása USART6 on a chip. Freddie Chopin.
- STM32 FLASH rögzíti: használja size_t helyett uint16_t, hogy interface általánosabb. Freddie Chopin.
- STM32 UART: Fix for UART7 és UART8 a STM32 óra engedélyezze re Aton.
- CAN: végén a megszakítás kezelő, a megszakítások voltak, hogy a fogyatékkal élő, ha minden csomagot már át, amikor a megszakítás kezelő hivatkoztak. Ez problematikus, mert a megszakítás kezelő meghívja can_txdone () a felső fele, amely sorba állítását új csomagokat küldeni. Távolítani a blokk teljesen, mert can_txdone () hívások can_xmit (), amely letiltja a megszakításokat, ha nincsenek új csomagokat küldeni. Daniel Lazlo Sitzer.
- CAN: Extra STM32 CAN korrekció által javasolt Max Holtzberg.
- STMicro ST32 fórum:
- config / mikroe-stm32f4: Fix néhány összeállítja a hibákat és kisebb korrekciók a mikroe-stm32f4 konfigurációs forrás. Ken Pettit.
- ARM9 / ARMv7-A:
- Rendszer kéri: Fix ARM7 / 9 és Cortex-A SYSCALLs: A szálak SVC üzemmódban a SVC utasításokat clobbers R14. Ezt kell vennie a inline szerelés.
- Feladat Beállítás: Minden feladat, még a felhasználói módban feladatokat, meg kell kezdeni a supervisor módban, amíg nem kap múlt a start-up trambulin.
- ARMv7-A: módosítása up_fullcontextrestore () a CONFIG_BUILD_KERNEL. Megváltoztatta CPSR míg kernel. Hogy összeomlik, ha az új CPSR a felhasználói módban végrehajtása közben a kernel térben. Hozzáadásával határozzák SYS_context_restore rendszer hívás. Van egy másik, egyszerűbb módosítását up_fullcontextrestore (), hogy lehetett volna tenni: Jó lett volna lehetséges, hogy a SPSR helyett Kompresszor majd csinál egy kivételt visszatérés up_fullcontextrestore (). Ez lenne a hatékonyabb, de én soha nem próbáltam.
- Atmel SAM3 / 4 fórum:
- SAM3X / Arduino miatt: Fix elírás sam3x_periphclks.h; add sclk-t azaz meghatározások board.h header fájlt. Honnan Fabien Comte.
- SAM3 RTT: Csak SAM4 család RTTDIS kicsit a MR nyilvántartásban. SourceForge bug # 33 Fabien Comte.
- C Library:
- sscanf (): NuttX libc megpróbálta kitalálni, hogy hány karaktert lehet elemezni, kivont őket egy puffer, majd futott strtol () azon a puffer. Hogy tippelt gyakran rossz. A jobb megközelítés lenne, hogy hívja strtol () közvetlenül a bemeneti adatok felhasználásával endptr visszatérési értéke, hogy hány karakter kihagyja elemzés után. Honnan Kosma Moczek.
- Math Library: helyesbítette atan2 megvalósítások Denis Arnst.
- lebegőpontos kimenet: Váltás lib_dtoa () rögzíti precíziós hibát követő nullával. Bob Doiron.
- Alkalmazások:
- Fix NSH PS parancsot: Ha nincsenek érvek, lehetett nyomtatni szemetet argumentumlista.
- Configuration / Build rendszer:
- Null Példa: kell tartalmaznia config.h meg annak érdekében, tudom, hogy ez vagy az nem egy kernel építeni. Ez a probléma továbbra is fennáll számos más fájlt kell adnunk main ().
Mi az új verzióban 7.8:
- Tulajdonságok: Extra új funkciók és kibővített funkciókkal:
- Core OS:
- Watchdog Timer kiosztása: (1) Ha elfogy a pre-kiosztott watchdog alkalommal, a logika most többletforrásokat időzítő a kupac. A tartalék az előre kiosztott watchdog időzítő tartjuk, hogy mindig lesz időzítő elérhető megszakításkezelõkben. (2) A támogatás a statikusan kiosztott watchdog timer
- Cím Környezet Támogatás: (2) New OS API integrálni minden platformra jellemző környezetváltások logika (up_block_task (), up_unblock_task (), _exit (), és mások).
- kernelfordításkor támogatás: (1) Az MPU alapú & quot; kernelfordításkor & quot; átnevezi a védett építmények (CONFIG_BUILD_PROTECTED); hozzáadott támogatása az új MMU-alapú & quot; kernelfordításkor & quot; (CONFIG_BUILD_KERNEL), (2) A rendszer hívás könyvtár most épült CONFIG_NUTTX_KERNEL. Új választás *: CONFIG_LIB_SYSCALL.
- A rendszer indítása: Add beállítási lehetőség, hogy indítsa el a rendszert egy programot egy fájlrendszeren (versus cím memóriában).
- Startup paraméterátadási: Ott szokott lenni kétféleképpen paraméterek átadása az új feladatok, attól függően, hogy a konfiguráció: Vagy (1) argv [] jöhetnek létre, mint egy tömb minden húr strdup'ed. Vagy (2) argv [] tömb és vonósokra jött létre a veremben, mielőtt az új feladat indult. Most, hogy csak egy módon, úgy (2). Way (1) lehet valamivel tömörebb, de ez nem éri meg folytatni a bonyolultsága két különböző módon ugyanazt a dolgot.
- Board inicializálása: Add kínál azzal, hogy a kezdeti fórumon indítása egy külön szálat. Erre azért van szükség, mert sok olyan esetben, amikor az inicializálás logika nem tudja végrehajtani a start-up / IDLE menet. Ennek oka, hogy blokkolja vagy várakozás tilos a készenléti menet.
- Memory Management:
- granulátum Allocator: (1) Új funkció foglalni az ENSZ-allocatable régiók a granulátum kupac. (2) Add interfészek hogy támogassák az ENSZ-iniciali granulátum lefoglaló.
- Page Allocator: Add egy egyszerű oldal fizikai elhelyezőnek alapján a meglévő NuttX granulátum lefoglaló. Nem vagyok biztos, ha a granulátum lefoglaló kellően determinisztikus nagy hatótávolságú használatát, de ez lesz kap egy oldal allocator helyett tesztelésére nagyon gyorsan.
- Vegye le CONFIG_MM_MULTIHEAP: Nem multiheap működése már nem támogatott.
- sbrk (): sbrk () most már támogatja a rendszermag, amely lehetővé teszi a dinamikusan méretű, per-folyamat kupacok.
- Per-Process Heaps: Space elején a folyamat adatok már lefoglalták a felhasználó kupackezelésének struktúrák. A rendszermag üzemmódban ezek a kupac struktúrák megoszlanak a kernel és használata kódot kihelyezése érdekében a felhasználó-specifikus adatokat.
- Felhasználói Heap Management: Amikor egy kiváltságos szál kilép, meg kell használni a kernel elhelyezőnek hogy a szabad memória; amikor egy jogosultságokkal szál kilép, akkor nem kell csinálni semmit ... kupacmemóriája fogják takarítani, amikor a cím környezet lebontják.
- Inter-Process megosztott memória támogatás: (1) Add végrehajtása és dokumentációja shmget (), shmctl (), shmat (), és shmdt (). (2) hozzáadása rendszer rendszer kéri, hogy támogassák a felhasználó hívást kapu a megosztott memória interfész. (3) Add platform-specifikus interfész definíciók támogatásához szükséges osztott memóriát használó funkciót.
- Virtuális Oldal Allocator: támogatást adni egy-egy folyamat virtuális lap lefoglaló. Ez egy új tagja a task_group_s szerkezet. A lefoglaló inicializálni kell, amikor új felhasználó folyamat elindult, és inicializálást, amikor a folyamat csoport végül elpusztult. Ezt alkalmazzák a shmat () és shmdt (), hogy vegye a virtuális címet, amelyre feltérképezni a megosztott fizikai memória.
- fájlrendszerek / blokk Drivers / MTD:
- SMART FS: SMART FS és FS SMART procfs frissítéseket Ken Pettit.
- MTD: A MTD előreolvasást / Write átmeneti réteg tűnik most működőképes.
- bináris formátumok:
- Per-Process Heap: Add logikai inicializálni a per-folyamat felhasználói halom amikor mindegyik felhasználó folyamat elindult.
- Grafika:
- NxTerm: Változás összes előfordulását NxConsole hogy NxTerm.
- Hálózat:
- PHY Megszakítja: (1) egységesítsék a PHY interrupt mellékletet felület. (2) támogatást adni az ioctl, hogy lehet használni, hogy értesítse a kérelmet, ha változás áll be a hálózat állapotát jelzi a PHY interrupt.
- Továbbfejlesztett küldése Logic: A múltban, az első csomag küldjön egy új hálózat peer megbukik; nem lenne bejegyzés az ARP táblázatban a szakértői és így egy ARP kérést, amely helyettesíthetné első csomag. Most, mint egy lehetőséget, ha CONFIG_NET_ARP_SEND = y, all Levél logika (1) ellenőrizze, hogy a peer MAC-cím az ARP tábla, és ha nem, (2) küld ARP kéréseket rendszeresen kap a térképészeti és (3) várja meg a ARP választ. Ezután (4), amikor az ARP érkezik válasz, akkor az aktuális küldési logikája kezdeményezni fogják. Így előfordulhat, hogy a késedelem első csomagot küldött az újabb szakértői, de a csomag nem szabad veszni
- Host Szimuláció:
- SPI FLASH Pilóta: emulált SPI flash meghajtó a sim cél Ken Pettit.
- Intel x86:
- Default Host: Az alapértelmezett host most x86_64 és a -m32 opció automatikusan kiválasztásra szimuláció épít.
- Intel 8051 Család:
- 8051 Törölve: eltávolította az összes támogatást a 8051 család architektúrája a NuttX forrás fába. Az elavult kódot magával eltávolítása folt most már megtalálható a misc / idejétmúlt /. Ezt a kódot eltávolították, mert (1), bár bizonyos funkciók Kimutatták, nem vagyok tisztában minden igazán sikeres kikötők NuttX minden 8051, és (2) a 8051, a hardver verem, arra kényszeríti korlátozások és komplikációk a többi architektúrán és hogy a növekedés és fejlődés a NuttX bonyolultabb.
- Zilog ZNeo fórum:
- config / 16Z: Támogatás a fórumon már eltávolították a NuttX forrásfán (de még mindig megtalálható a misc / idejétmúlt könyvtár). Ez a port nem áll készen a felhasználásra, de lehet, hogy visszaadja a NuttX fát valamikor a jövőben.
- Atmel SAM3 / 4 fórum:
- SAM4E-EK: Add (1) egy teljesen működőképes ILI9341 alapú LCD meghajtó és (2) egy teljesen működőképes NxWM konfiguráció.
- ARMv7-A:
- Cím környezetek: adjunk támogatást alkalmazás címet környezetben is Cortex-A MMU. Szabványosított platform-specifikus interfészek NuttX címet környezet támogatása.
- Gyorsítótár-műveletek: szabványosított, platform-specifikus cache műveleteket. Ezeket nevezik a ELF betöltő annak érdekében, hogy pirul D-cache és érvényteleníti I-cache után ELF modul betöltődik a memóriába. Ezzel a változással ELF modulok működnek megfelelően a SAMA5 / Cortex-A platform.
- kernelfordításkor: (1) Add megvalósításai rendszer hívás kapu. (2) Add CRT0 start-up fájl köthető külön beépített felhasználói programok. (3) támogatást adni a szállítási használat módú jeleket a rendszermag. (4) Add logikai inicializálni a per-folyamat felhasználói halom amikor mindegyik felhasználó folyamat elindult. (5) ARMv7-A kivételkezelés kell dolgozni egy kicsit másképp, ha támogatjuk felhasználói módú folyamatok. Ez azért van, mert R13 és R14 jelentése lapozható eltérően a felhasználó és az SVC módba.
- Megosztott memória támogatás: (1) Add logikai kezeléséhez szükséges remapping megosztott memória környezetváltások. (2) Húzza virtuális / fizikai cím konverziók felvenni címeket osztott memóriát. (3) Add végrehajtása platform-specifikus megosztott memória támogatása.
- Atmel SAMA5D Drivers:
- Network ioctls: Végre kell hajtani az összes hálózati ioctl, beleértve az új ioctl hogy beállít PHY eseményértesítéseket.
- Cím konverziók: A kernel építeni a címet környezet, szüksége logika, hogy feltérképezze a felhasználó virtuális címek fizikai címek, és fordítva.
- Atmel SAMA5D fórum:
- SAMA5D3 Xplained, SAMA5D3-EK, és SAMA5D4-EK: Convert meglévő fedélzeti speciális PHY megszakítás interfészek használata újonnan definiált szabványos felületen.
- SAMA5D4-EK: Add a konfiguráció tesztelésére rendszermag konfigurációs. Vannak konfigurációk indítani akár egy SD-kártyára, illetve valamint a memóriába ROMFS fájlrendszer.
- SAMA5D4-EK: Add dokumentáció / támogatás Rev E. fórumon.
- STMicro STM32 Drivers:
- Ethernet: Módosított hogy támogassa a változás, hogy a hálózati ioctl aláírás változik. Szintén támogatást adni az új ioctl hogy beállít PHY eseményértesítéseket.
- STMicro STM32 fórum:
- STM32F4Discovery a STM32F4DIS-BB: Add a hálózat engedélyezett NSH konfiguráció a STM32F4Discovery táblán a STM32F4DIS-BB alaplapra szerelve. A program támogatja a microSD kártyahely az STM32F4DIS-BB alaplapra.
- TI Tiva Drivers:
- TI CC3200: támogatást adni a TI CC3200. Jim Ewing.
- TI Tiva fórum:
- TI CC3200 Launchpad: támogatást adni a TI CC3200 Launchpad. Jim Ewing.
- C Library:
- poll (): Re megvalósított poll () késleltetés segítségével sem_timedwait ().
- Configuration / Build rendszer:
- Export Cél: A kernel vagy védett épít, (1) csak a felhasználó könyvtárak exportálni kell, (2) nem másolja belső header fájlokat vagy build szkriptek, ha ez a kernel vagy védett építmények, valamint (3) igényeinek hogy tekerje a felhasználó C startup fájlt (crt0), nem a kernel fej objektumot a kernel és a védett épít.
- Program CFLAGS: Add a logika, amely lehetővé teszi számunkra, hogy építsenek felhasználói könyvtárak különböző CFLAGS mint kernel kódot. Erre azért van szükség, mert szükségünk van a -fno-gyakori lehetőség kiépítése során ELF kódot, hogy megakadályozza SHN_COMMON áttelepülése.
- Alkalmazások:
- NSH: Hosszabbítsa meg a NSH hálózatinicializáció logika. Van most egy lehetőség, hogy létrehoz egy hálózatot monitor szál, amely figyelemmel kíséri az állam a link. Amikor a kapcsolat megy le, a kód megpróbálja kecsesen fel az Ethernet vezérlője, amely kikapcsolt állapotban; Amikor a kapcsolat jön vissza, a kód megkísérli a hálózati vissza.
- ELF Példa: Az ELF teszt / pl bővült, így az egyes ELF teszt programok hivatkoznak ellen SYSCALL könyvtár (ha van ilyen), vagy ellen C könyvtár kiküszöbölése vagy minimálisra csökkentse a szimbólumtáblákat.
- NxTerm: Változás összes előfordulását NxConsole hogy NxTerm.
- MTDRWB Példa: Add egy példa, hogy teszteljék MTD R / W bomlástermékeket.
- OS teszt példa: Add a triviális teszt sem_timedwait ().
- Eszközök:
- Eszközök:
- Eszközök:
- Eszközök:
- Hibajavítások:
Hozzászólás nem található