NuttX

Software screenshot:
NuttX
Software ətraflı:
Version: 7.9 Yenil?nib
Tarixi Upload: 10 May 15
Geliştirici: Gregory Nutt
Lisenziya: Pulsuz
Məşhurluq: 115

Rating: 4.0/5 (Total Votes: 1)

NuttX dərin əlaqədar, resurs mecbur mühitlərdə istifadə üçün ofset nəzərdə açıq mənbə, deterministic və real-vaxt əlaqədar əməliyyat sistemi (RTOS) edir. Bu mikro-nəzarətçi mühitlərdə istifadə kiçik bir iz var və bu, & rsquo; (32-bit) sistemləri əlaqədar orta kiçik (8-bit) tam ölçeklenebilir s.
O, həmçinin, standartlara tam uyğun olmaq üçün tam real vaxt olduğu və tamamilə açıq olmaq. NuttX Bu uyğun yüksək ölçeklenebilir və yapılandırılabilir, həmçinin standartları, bir zəngin xüsusiyyət OS dəsti, modul dizayn var. Bu qeyri-məhdud BSD lisenziya ilə bölüşdürülür. Bu tez-tez kimi developers tərəfindən dublyaj olunur "Tiny Linux". Xüsusiyyətlər glanceKey xüsusiyyətləri başına prosesi əsas tapşırıq idarə, BSD yuva interface, yaddaş allocators (paylaşılan yaddaş, standart yığın yaddaş ayrılması, MPU ilə qorunan qurmaq, mənzil əlaqədar qurmaq daxildir vaxt, qranula allocator və dinamik ölçülü), yaddaş konfiqurasiyaları, Hesabatlarının guide, tam preemptible, tickless əməliyyat, on-demand yaddaşını və sistem giriş.
Bundan əlavə, layihə başına mövzu önleyicilik, daxili CPU load ölçmələr, hərtərəfli sənədlərin, ünvan mühit, ANSI kimi və POSIX kimi tapşırıq nəzarət, saatlar, PThreads ehtiva isteğe vəzifələri, ətraf mühit idarə etmək üçün uzantıları ilə gəlir dəyişənlər, siqnalları adlı mesaj sıralarında, timers, fayl və hesablama semaphores.
Digər xüsusiyyətləri arasında, biz qeyd edə bilərsiniz dəyirmi robin planlaşdırma, FIFO, prioritet miras, SoC memarlıq dəstək, board arxitekturaları üçün dəstək, yeni prosessor memarlıq dəstək, təhlükəsizlik timers, vxworks kimi vəzifə idarə, I / O yönlendirme üçün dəstək və ötürülən & ldquo; terminal nəzarət & rdquo;. platformsNuttX dəstəkləyən biz ARM Cortex-M3, ARM926EJS, ARM7TDMI, ARM Cortex-M4, ARM Cortex-M0, ARM920T və ARM, o cümlədən çoxsaylı ARM prosessorları qeyd edə bilər ki, arasında aparat platformaları müxtəlif dəstəkləyir Cortex-A5, eləcə də Atmel 8-bit AVR, Freescale M68HCS12, AVR32 Atmel AVR platformaları.
86, Zilog Z80, Zilog Z16F, Zilog Z8Encore o cümlədən Zilog platformaları; Bundan əlavə, bu da belə mikroçip PIC32MX (MIPS) 80c52 və 80 & dəfə müxtəlif Intel platformalar dəstəkləyir! və Zilog eZ80 Acclaim !, və Renesas / Hitachi SuperH və Renesas M16C / 26 platformalar

Bu azad Yeni nədir.

  • Features: Əlavə yeni funksiyalar və uzun funksionallığı:
  • Core OS:
  • Watchdog Timer ayrılması: biz əvvəlcədən ayrılmış nəzarət dəfə tükenirse (1), məntiq indi yığın əlavə timers ayıracaq. Həmişə interrupt işleyicileri üçün mövcud timers olacaq ki, pre-ayrılan təhlükəsizlik timers bir ehtiyat saxlanılır. (2) statik ayrılmış nəzarət timer
  • üçün əlavə dəstək
  • Ünvan Environment Support: (2) Yeni OS API (up_block_task () up_unblock_task (), _exit (), və s) məntiq keçid bütün platforma xüsusi kontekstində inteqrasiya
  • .
  • Kernel dəstək Build: (1) MPU əsasında & quot; kernel build & quot; qorunan build (CONFIG_BUILD_PROTECTED) adını; üçün dəstək əlavə yeni MMU-based & quot; kernel build & quot; (CONFIG_BUILD_KERNEL), (2) sistem kitabxana indi CONFIG_NUTTX_KERNEL ilə inşa edilə bilər. New seçimi *. CONFIG_LIB_SYSCALL
  • System Startup: (yaddaşında bir ünvan qarşı) bir fayl sistemi bir proqram sistemi başlamaq üçün konfiqurasiya variantları əlavə et
  • .
  • Başlanğıc Parametr keçən: var konfiqurasiya asılı olaraq yeni vəzifələri parametrləri keçmək üçün iki yolları, olmaq üçün istifadə: Ya (1) argv [] strdup'ed hər simli ilə bir sıra kimi yaradılmışdır kimi. Yeni vəzifə başlandı əvvəl və ya (2) argv [] array və strings yığını yaradılmışdır. İndi, yol, yalnız bir yol var (2). (1) yol bir az daha yığcam ola bilər, lakin bu eyni şey bunu iki müxtəlif yollarla mürəkkəbliyi keçirmək lazım deyil.
  • Board Başlatma: ayrı-ayrı işçi mövzu haqqında ilkin board başlatma çıxış etmək imkanı əlavə edin. Başlatma məntiq start-up / IDLE mövzu haqqında icra edə bilər bir çox hallarda var, çünki bu tələb olunur. Blok və ya gözləmə IDLE mövzu icazə verilmir görədir.
  • Memory Management:
  • Granül Allocator: (1) qranula yığın qeyri-allocatable bölgələrə ehtiyat üçün yeni funksiya əlavə edin. (2) qeyri-başlatılıyor bir qranula Allocator.
  • dəstək interfeys əlavə
  • Səhifə Allocator: mövcud NuttX qranula Allocator əsasında sadə fiziki səhifə Allocator əlavə edin. Qranula allocator uzunmüddətli istifadə üçün kifayət qədər deterministic əgər mən müəyyən deyiləm, lakin bu, çox tez test üçün yerdə səhifə Allocator almaq olur.
  • CONFIG_MM_MULTIHEAP Sil: Qeyri-multiheap əməliyyat artıq dəstəklənir
  • .
  • sbrk (). Sbrk () indi dinamik ölçülü başına proses vaxt icazə kernel qurmaq dəstəklənir
  • Per-prosesi Heaps: Proses data kosmik əvvəlində Space indi istifadəçi yığın idarəetmə strukturlarının qorunur. Kernel build rejimində bu yığın strukturları istifadəçi xüsusi məlumat ayrılması üçün kernel və istifadə kodu arasında paylaşılır.
  • İstifadəçi Heap Management: bir imtiyazlı mövzu çıxışları, biz pulsuz yaddaş kernel Allocator istifadə etmək lazımdır zaman; bir imtiyazsız mövzu çıxışları, biz bir şey yoxdur zaman ... yığın yaddaş ünvan mühit aşağı cırıq zaman təmizlənmiş olacaq.
  • Inter-Proses Paylaşılan Yaddaş Support: (1) shmget üçün həyata keçirilməsi və sənədlərin et (), shmctl () Shmat () və shmdt (). (2) sistem sistemi əlavə edin paylaşılan yaddaş interfeys üçün istifadəçi zəng qapısı dəstək çağırır. (3) birgə yaddaş sistemini dəstəkləmək üçün lazım olan platforma xüsusi interface anlayışlar əlavə edin.
  • Virtual Səhifə Allocator: a başına prosesi virtual səhifə Allocator üçün dəstək əlavə edin. Bu task_group_s strukturunun yeni üzvüdür. Yeni bir istifadəçi proses başlayan zaman allocator başlatılmış lazımdır və uninitialize proses qrup nəhayət məhv edilir. Bu paylaşılan fiziki yaddaş xəritəsi üzərində virtual ünvan seçin Shmat () və shmdt () istifadə olunur.
  • Fayl Systems / Block Drivers / MTD:
  • SMART FS: SMART FS və SMART FS Ken Pettit yenilikləri procfs
  • .
  • MTD. MTD Read irəli / yaz bufer qat görünür artıq funksional
  • Binary Formatlar:
  • Per-prosesi Heap. Hər bir istifadəçi prosesi başladı zaman başına prosesi istifadəçi yığın başlamaq üçün məntiq əlavə edin
  • Graphics:
  • NxTerm: NxTerm üçün NxConsole bütün hadisələr dəyişdirin
  • .
  • Şəbəkə
  • PHY interrupts: (1) PHY interrupt əlavə interface standartlaşdırılması. Bir PHY interrupt ilə işarə şəbəkə statusu bir dəyişiklik olduqda (2) ərizə bildirmek üçün istifadə edilə bilər bir IOCTL üçün dəstək əlavə edin.
  • Təkmilləşdirilmiş göndər Məntiq: Keçmişdə, ilk paket uğursuz ki, yeni şəbəkə peer göndər; orada peer üçün ARP masa heç bir giriş olacaq və belə bir ARP tələb edir ki, birinci paket əvəz edə bilər. CONFIG_NET_ARP_SEND = y İndi bir seçim olaraq, bütün əgər məntiq (1) (2) mapping almaq üçün vaxtaşırı ARP sorğu və (3) gözləmək, peer MAC ünvan ARP masa olub olmadığını kontrol edəcək və göndərmək ARP cavab. Sonra (4) ARP cavab sonra qəbul faktiki göndərmək məntiq təşəbbüsü olunacaq. Belə ki, orada yeni peer göndərilən ilk paket ilə bir gecikme ola bilər, lakin paket
  • itirmək olmaz
  • Host Simulation:
  • SPI FLASH Driver:. Ken Pettit olan sim hədəf üçün Emulated SPI FLASH sürücü
  • Intel x86:
  • Default Host: default host artıq x86_64 və -m32 seçimi avtomatik qurur simulyasiya üçün seçiləcək
  • .
  • Intel 8051 Family:
  • 8051 silindi: NuttX mənbə ağacı 8051 ailə memarlıq bütün dəstəyi silindi. aradan qaldırılması patch ilə birlikdə obsoleted kodu indi misc / obsoleted / əldə edə bilərsiniz. Bu kod bəzi işlevselliği nümayiş etdirilib baxmayaraq (1), mən hər hansı bir 8051 üçün NuttX hər hansı həqiqətən uğurlu limanları xəbərdar deyiləm çünki silindi, və (2) 8051, onun hardware yığını ilə, digər memarlıq üçün məhdudiyyətlər və fəsadların məcbur edildi və daha mürəkkəb NuttX inkişafı edir.
  • ZiLOG ZNeo Forumlar
  • configs / 16z: bu board üçün Support NuttX mənbə ağac qaldırıldı (lakin hələ də misc / obsoleted kataloq bilər). Bu port istifadə üçün hazır deyil, gələcəkdə müəyyən məqamda NuttX ağac qayıda bilər.
  • Atmel SAM3 / 4 Boards:
  • SAM4E-EK:. (1) tam funksional ILI9341-based LCD sürücü və (2) tam funksional NxWM konfiqurasiya əlavə edin
  • ARMv7-A:
  • Ünvan Alanlar: Cortex-A MMU istifadə edərək, ərizə ünvan mühit üçün dəstək əlavə edin. NuttX ünvan mühit dəstək standart platform-xüsusi interfeys həyata keçirir.
  • Cache əməliyyatlar: standart, platforma xüsusi cache əməliyyatları həyata keçirir. Bu D-cache qızarmaq və ELF modul yaddaş instantly sonra I-cache qüvvədən üçün ELF loader olan deyilir. Bu dəyişikliklə, ELF modulları SAMA5 / Cortex-A platformasında düzgün iş.
  • Kernel Build: (1) sistem qapısı tətbiq edin. (2) ayrı-ayrı inşa istifadəçi proqramları ilə bağlı ola bilər CRT0 start-up fayl əlavə edin. (3) kernel build istifadə rejimi siqnalların çatdırılması üçün dəstək əlavə edin. (4) Hər bir istifadəçi prosesi başladı zaman başına prosesi istifadəçi yığın başlamaq üçün məntiq əlavə edin. (5) ARMv7-A istisna user biz istifadəçi rejimi prosesləri dəstəkləmək əgər fərqli bir az işləmək lazımdır. R13 və R14 istifadəçi və SVC rejimi arasında fərqli disk, çünki bu.
  • Paylaşılan Yaddaş Support: (1) kontekstində açarları paylaşılan yaddaş remapping idarə etmək üçün lazım olan məntiq əlavə edin. (2) ortaq yaddaş ünvanları daxil virtual / fiziki ünvan dönüşüm genişləndirilməsi. (3) platforma xüsusi paylaşılan yaddaş dəstəyi həyata keçirilməsini əlavə edin.
  • Atmel SAMA5D Drivers:
  • Network Ioctls. Quraşdırma PHY hadisə reports yeni IOCTL daxil olmaqla, bütün şəbəkə ioctls, həyata
  • Ünvan Dönüşümler:. Kernel ünvan ətraf mühit ilə qurmaq ki, əksinə fiziki ünvanlara istifadəçi virtual ünvanları xəritəsi məntiq lazımdır, və
  • Atmel SAMA5D Forumlar
  • SAMA5D3 Xplained, SAMA5D3-EK, və SAMA5D4-EK: yeni müəyyən standart interfeys istifadə etmək board xüsusi PHY interrupt interfeys mövcud Convert
  • .
  • SAMA5D4-EK: kernel build konfiqurasiya test üçün konfiqurasiya əlavə edin. ROMFS fayl sistemi bir SD kart və ya və in-yaddaş və ya açılış konfiqurasiyaları var.
  • SAMA5D4-EK: Rev E. board üçün sənədlər / dəstək əlavə et
  • .
  • STMicro STM32 Drivers:
  • Ethernet: şəbəkə IOCTL imza dəyişikliklər dəyişiklik dəstək Modified. Həmçinin quraşdırma PHY hadisə reports yeni IOCTL üçün dəstək əlavə edin.
  • STMicro STM32 Forumlar
  • STM32F4DIS-BB ilə STM32F4Discovery: şəbəkə əlavə quraşdırılmış STM32F4DIS-BB baza board ilə STM32F4Discovery board üçün NSH konfiqurasiya imkan. STM32F4DIS-BB baza board microSD kart üçün dəstək daxildir.
  • TI Tiva Drivers:
  • TI CC3200: TI CC3200 üçün dəstək əlavə edin. Jim Ewing.
  • TI Tiva Forumlar
  • TI CC3200 Launchpad: TI CC3200 Launchpad üçün dəstək əlavə edin. Jim Ewing.
  • C Kitabxana:
  • poll (). Re-həyata poll () gecikmə sem_timedwait istifadə ()
  • Konfiqurasiya / sistemi qurmaq:
  • Export Hədəf: qurur kernel və ya qorunan (1) yalnız istifadəçi kitabxana ixrac edilməlidir (2) daxili mövzu faylları surəti yoxdur və ya bu kernel və ya qorunan build və (3) ehtiyacları olduqda scripts yaratmaq istifadəçi C başlanğıc faylı (crt0) kernel üçün deyil, kernel baş obyekt qablamaq və mühafizə qurur.
  • Program CFLAGS: kernel kodu fərqli CFLAGS istifadəçi kitabxana qurmaq üçün bizə imkan verəcək ki, məntiq əlavə edin. SHN_COMMON köçürülməsini qarşısını almaq üçün ELF kodu bina zaman -fno-adi seçimi lazımdır, çünki bu tələb olunur.
  • Proqramlar
  • NSH: NSH şəbəkə başlatma məntiq genişləndirilməsi. Link dövlət nəzarət edəcək şəbəkə monitor mövzu yaradacaq bir seçim artıq var. Link aşağı gedir zaman, kodu qəşəng bir aşağı vəziyyətdə Ethernet sürücü qoymaq üçün cəhd edəcək; Link geri gəldiyi zaman, kodu geri şəbəkə gətirmək üçün cəhd edəcək.
  • ELF Məsələn:. ELF test / misal aradan qaldırılması və ya simvolu masalar ehtiyac minimuma endirmək üçün (mövcud olduqda) fərdi ELF test proqramları SYSCALL kitabxana qarşı keçid edə bilərsiniz, belə ki, uzadılmış və ya C kitabxana qarşı edilmiş
  • NxTerm: NxTerm üçün NxConsole bütün hadisələr dəyişdirin
  • .
  • MTDRWB Məsələn:. MTD R / W buffering test üçün nümunə əlavə edin
  • OS Test Məsələn: sem_timedwait bir mənasız test () əlavə edin
  • .
  • Application Konfiqurasiya / sistemi qurmaq:
  • Import Hədəf: (1) (nuttx / source ağac vs) bir NuttX ixrac paketinə qarşı bina applications imkan verir məntiq əlavə edin. (2) paket ixrac Config faylı əlavə edin. (3) apps / idxal yaradın. Yaratmaq apps / idxal / CFLAGS müəyyən kimi şeylər yoxdur Make.defs; ELF build CFLAGS in -fno-adi tələb edir. Nuttx / tools / Config.mk apps / idxal / Make.defs bəzi baza məntiq kopyalayın. ELF idxal qurur (4) apps / idxal / scripts / GNU-elf.ld GCC linker script əlavə edin.
  • Bütün makefiles: (1) bütün Makefiles bir yüklemek hədəf əlavə edin. Idxal qurmaq üçün yüksək səviyyəli Makefile iki keçdikcə edir: (1) (2) apps / bin daxil proqramları quraşdırır, sonra libapp.a qurur. (2) main () qurmaq bütün Makefiles da CONFIG_BUILD_KERNEL proqramı quraşdırılması əlavə edin. (3) kernel qurmaq üçün əsas olan obyekt fayl () çünki adı toqquşma kitabxana daxil getmək bilməz. obyekt fayl hər Makefile xüsusi hal kimi baxılmalıdır.
  • Bütün Ankastre Programs: kernel build ilə (CONFIG_BUILD_KERNEL), bütün vəzifələri giriş nöqtəsi) (əsas, bəzi xyz_main () var
  • .
  • NSH: onlar kernel kənarda mövcud deyil interfeys asılıdır, çünki bir neçə əmrləri kernel qurmaq aradan olmalıdır. Dd, df, losetup, mkfatfs, mkdr, və ps
  • apps / tools / (1) NuttX idxal paketi partlatmağı və apps / idxal yüklemek üçün mkimport.sh əlavə edin. (2) BOOT ROMFS fayl image yaratmaq üçün mkromfsimg.sh script əlavə edin.
  • ELF və NxFLAT Nümunələr:. Bir ünvan mühit olduqda) (task_create istifadə testi qurmaq etməyin
  • Tools:
  • refresh.sh:. Siz onların bir çox etmək istədiyiniz zaman asan sərinləşdirici konfiqurasiyaları etmək üçün bir vasitə əlavə edin
  • mksyscall.c: header faylları ehtiyac yoxdur syscalls Build
  • .
  • mkexport.sh. Paketi ixrac Config faylı əlavə et
  • apps / tools: yeni apps / tools scripts üçün yuxarıda baxın
  • .
    Davam
  • səylər. Aşağıdakı qismən həyata lakin bu azad mövcuddur xüsusiyyətləri var. Onlar başa ehtimalı deyil.
  • Prosesləri: bu azad iş çox NuttX Unix-stil istifadəçi proseslərin həyata keçirilməsinə yönəldilib. Ediləcək daha, lakin var. tam yol xəritəsi və statusu mövcuddur: http://www.nuttx.org/doku.php?id=wiki:nxinternal:memconfigs#the_roadmap_toward_processes
  • XMega: bir XMega port üçün yer bir fraqmentləri var. Bu port həqiqətən, lakin başlamayıb.
  • Galileo: Eyni şəkildə, Intel Galileo port üçün yer fraqmentləri var. port və ya ciddi başlanılıb deyil.
  • Bugfixes. Yalnız ən kritik bugfixes (əlavə, daha ətraflı bugfix məlumat bugfixes tam siyahısı üçün və Değişiklikler bax) burada verilmişdir
  • Core OS:
  • Kernel düzeltmelerini qurmaq: (1) IDLE TCB quraşdırma IDLE mövzu imtiyazlı, kernel mövzu olduğunu ifadə etmək lazımdır. Bir ünvan mühit olduqda (2)) interfeys task_create () və ya task_spawn (qurmaq etməyin. (3) posix_spawn () kernel proxy mövzu bir kernel mövzu deyil, bir istifadəçi vəzifəsi olmalıdır.
  • neçə pthread interfeys: parametrləri phthread üçün const saxlama sinif əlavə edin. Freddie Şopen From.
  • Sched / saat: g_tickbias izi aradan qaldırılması; əvəzinə, doğru sistem vaxt təmin etmək üçün g_basetime üçün vaxt təmayüllü müraciət etmək lazımdır.
  • System Zənglər: (1) bir neçə hatası sabit; exevc düzəldilir inteqrasiya (), execvl () posix_spawn () və posix_spawnp () sistem zənglər. (2) Biz SYSCALL user, sonra biz bir siqnal çatdırmaq üçün istifadəçi yığını geri keçmək lazımdır isə kernel yığın istifadə üçün yapılandırılmış varsa.
  • Fayl Systems / Block Drivers / MTD:
  • procfs: bəzi qeyri-reorganizable data strukturları yenidən təqdim bəzi procf qırılması Fix. Ken Pettit From.
  • AT45: çox 1 səhifə yazarkən at45db_bwrite () ki, bufer artmışdır deyil. Sourceforge bug # 34.
  • Binary Formatlar:
  • ELF köçürmələr: Bəzi köçürülməsi növləri onlarla bağlı adına simvolu yoxdur. dizayn bu halda hesabını etmədi.
  • ELF Loader. Critical bugfix .. BSS tip deyil
  • Memory Management:
  • Granül Allocator: Granül allocator başlatma kernel yaddaş ləğv səhv Allocator istifadə edir
  • .
  • İmtiyazlı Groups: qrup strukturu bir bayraq əlavə qrup kernel mövzu yaratdığı, onda qrup bütün resursları imtiyazlı olmalıdır
  • .
  • Cryptogrphic Support:
  • kripto / cryptodev.c: tərsinə Path seqmentləri fayl yolunu daxildir. Brennan Ashton qeyd.
  • Ümumi Drivers:
  • Common yuxarı yarım bilərsiniz: can_txdone ildə semafor haqqında waiters can_xmit qaytarılması dəyəri asılı olmayaraq məlumat verilməlidir. Yeni paket var, əgər ilk -EIO qaytarır, və ikinci waiters məlumat son transfer paket edir. Daniel Lazlo Sitzer edir.
  • ARM:
  • System Zənglər: yığını parametri alma zaman sistem zəng bir typo Fix: Regs [REG_PC] +4 ünvan deyil Regs var [REG_PC + 4]
  • .
  • STMicro STM32 Drivers:
  • STM32 F401 UART: bu chip USART6 üçün düzgün dəstək. Freddie Şopen From.
  • STM32 FLASH giderir: interface daha ümumi etmək əvəzinə uint16_t və size_t istifadə edin. Freddie Şopen From.
  • STM32 UART. Ato olan imkan STM32 saat UART7 və UART8 üçün Fix
  • CAN: interrupt handler çağırıldığı zaman bütün paket verilmişdir əgər interrupt handler sonunda interrupts, əlil olan edilmişdir. Interrupt handler göndərmək üçün yeni paket enqueue bilər yuxarı yarısında can_txdone () zənglər, çünki bu, problemlidir. Can_txdone () () göndərmək üçün heç bir yeni paket olduqda interrupts aradan verən can_xmit çağırır, çünki blok tamamilə silindi. Daniel Lazlo Sitzer edir.
  • CAN. Max Holtzberg təklif əlavə STM32 CAN düzəliş
  • STMicro ST32 Forumlar
  • configs / mikroe-stm32f4: bir neçə mikroe-stm32f4 konfiqurasiya mənbə hataları və kiçik düzəlişlər tərtib Fix. Ken Pettit From.
  • ARM9 / ARMv7-A:
  • System Zənglər: ARM7 / 9 Cortex-A SYSCALLs Fix: SVC rejimində mövzuları üçün SVC təlimat R14 clobbers. Bu inline toplantıda hesab alınmalıdır.
  • Task Setup: onlar start-up trambolin keçmiş almaq qədər bütün vəzifələr, hətta istifadəçi rejimi vəzifələri, nəzarətçi rejimində başlamaq lazımdır
  • .
  • ARMv7-A: CONFIG_BUILD_KERNEL üçün up_fullcontextrestore () dəyişdirin. Bu kernel isə CPSR dəyişdi. Kernel məkanında həyata isə yeni CPSR istifadəçi rejimi əgər qəza edəcək. Bir SYS_context_restore sistem zəng əlavə Sabit. Etmiş ola bilər up_fullcontextrestore () alternativ, sadə modifikasiyası var: əvəzinə CPRSR bir SPSR istifadə etmək mümkün olmuşdur və sonra up_fullcontextrestore bir istisna qaytarılması nə ola bilər (). Bu daha səmərəli olardı, lakin mən bunu cəhd heç vaxt.
  • Atmel SAM3 / 4 Boards:
  • SAM3X / Arduino səbəbiylə: sam3x_periphclks.h da typo Fix; header fayl board.h üçün SCLK anlayışlar əlavə edin. Fabien Comte From.
  • SAM3 RTT: Yalnız SAM4 ailə MR reyestrində RTTDIS az var. Fabien Comte olan SourceForge bug # 33.
  • C Kitabxana:
  • sscanf (): NuttX libc sonra bufer onları hasil analiz neçə simvol tapmaq üçün cəhd bufer haqqında () strtol qaçdı. Bu tahmin tez-tez səhv idi. Daha yaxşı yanaşma təhlil sonra keçmək üçün neçə simvol müəyyən etmək üçün endptr qaytarılması dəyəri istifadə edərək, input data birbaşa) strtol (zəng olardı. Kosma Moczek From.
  • Math Library:. Denis Arnst olan tətbiq atan2 dəqiqləşdirilmiş
  • üzən Point Çıxış: lib_dtoa () Change arxada zeroes olan dəqiq səhv düzeltmek üçün. Bob Doiron From.
  • Proqramlar
  • Fix NSH PS komanda. Heç bir dəlilləri varsa, bu arqument siyahısı üçün zibil çap edə bilər
  • Konfiqurasiya / sistemi qurmaq:
  • Null Məsələn: bu və ya kernel build deyil config.h Bu sifariş bilmək daxil lazımdır. Bu problem hələ də (əsas müəyyən etmək lazım ola bilər bir neçə digər fayl) var.

versiyası 7.8 yeni nədir:

  • Features: Əlavə yeni funksiyalar və uzun funksionallığı:
  • Core OS:
  • Watchdog Timer ayrılması: biz əvvəlcədən ayrılmış nəzarət dəfə tükenirse (1), məntiq indi yığın əlavə timers ayıracaq. Həmişə interrupt işleyicileri üçün mövcud timers olacaq ki, pre-ayrılan təhlükəsizlik timers bir ehtiyat saxlanılır. (2) statik ayrılmış nəzarət timer
  • üçün əlavə dəstək
  • Ünvan Environment Support: (2) Yeni OS API (up_block_task () up_unblock_task (), _exit (), və s) məntiq keçid bütün platforma xüsusi kontekstində inteqrasiya
  • .
  • Kernel dəstək Build: (1) MPU əsasında & quot; kernel build & quot; qorunan build (CONFIG_BUILD_PROTECTED) adını; üçün dəstək əlavə yeni MMU-based & quot; kernel build & quot; (CONFIG_BUILD_KERNEL), (2) sistem kitabxana indi CONFIG_NUTTX_KERNEL ilə inşa edilə bilər. New seçimi *. CONFIG_LIB_SYSCALL
  • System Startup: (yaddaşında bir ünvan qarşı) bir fayl sistemi bir proqram sistemi başlamaq üçün konfiqurasiya variantları əlavə et
  • .
  • Başlanğıc Parametr keçən: var konfiqurasiya asılı olaraq yeni vəzifələri parametrləri keçmək üçün iki yolları, olmaq üçün istifadə: Ya (1) argv [] strdup'ed hər simli ilə bir sıra kimi yaradılmışdır kimi. Yeni vəzifə başlandı əvvəl və ya (2) argv [] array və strings yığını yaradılmışdır. İndi, yol, yalnız bir yol var (2). (1) yol bir az daha yığcam ola bilər, lakin bu eyni şey bunu iki müxtəlif yollarla mürəkkəbliyi keçirmək lazım deyil.
  • Board Başlatma: ayrı-ayrı işçi mövzu haqqında ilkin board başlatma çıxış etmək imkanı əlavə edin. Başlatma məntiq start-up / IDLE mövzu haqqında icra edə bilər bir çox hallarda var, çünki bu tələb olunur. Blok və ya gözləmə IDLE mövzu icazə verilmir görədir.
  • Memory Management:
  • Granül Allocator: (1) qranula yığın qeyri-allocatable bölgələrə ehtiyat üçün yeni funksiya əlavə edin. (2) qeyri-başlatılıyor bir qranula Allocator.
  • dəstək interfeys əlavə
  • Səhifə Allocator: mövcud NuttX qranula Allocator əsasında sadə fiziki səhifə Allocator əlavə edin. Qranula allocator uzunmüddətli istifadə üçün kifayət qədər deterministic əgər mən müəyyən deyiləm, lakin bu, çox tez test üçün yerdə səhifə Allocator almaq olur.
  • CONFIG_MM_MULTIHEAP Sil: Qeyri-multiheap əməliyyat artıq dəstəklənir
  • .
  • sbrk (). Sbrk () indi dinamik ölçülü başına proses vaxt icazə kernel qurmaq dəstəklənir
  • Per-prosesi Heaps: Proses data kosmik əvvəlində Space indi istifadəçi yığın idarəetmə strukturlarının qorunur. Kernel build rejimində bu yığın strukturları istifadəçi xüsusi məlumat ayrılması üçün kernel və istifadə kodu arasında paylaşılır.
  • İstifadəçi Heap Management: bir imtiyazlı mövzu çıxışları, biz pulsuz yaddaş kernel Allocator istifadə etmək lazımdır zaman; bir imtiyazsız mövzu çıxışları, biz bir şey yoxdur zaman ... yığın yaddaş ünvan mühit aşağı cırıq zaman təmizlənmiş olacaq.
  • Inter-Proses Paylaşılan Yaddaş Support: (1) shmget üçün həyata keçirilməsi və sənədlərin et (), shmctl () Shmat () və shmdt (). (2) sistem sistemi əlavə edin paylaşılan yaddaş interfeys üçün istifadəçi zəng qapısı dəstək çağırır. (3) birgə yaddaş sistemini dəstəkləmək üçün lazım olan platforma xüsusi interface anlayışlar əlavə edin.
  • Virtual Səhifə Allocator: a başına prosesi virtual səhifə Allocator üçün dəstək əlavə edin. Bu task_group_s strukturunun yeni üzvüdür. Yeni bir istifadəçi proses başlayan zaman allocator başlatılmış lazımdır və uninitialize proses qrup nəhayət məhv edilir. Bu paylaşılan fiziki yaddaş xəritəsi üzərində virtual ünvan seçin Shmat () və shmdt () istifadə olunur.
  • Fayl Systems / Block Drivers / MTD:
  • SMART FS: SMART FS və SMART FS Ken Pettit yenilikləri procfs
  • .
  • MTD. MTD Read irəli / yaz bufer qat görünür artıq funksional
  • Binary Formatlar:
  • Per-prosesi Heap. Hər bir istifadəçi prosesi başladı zaman başına prosesi istifadəçi yığın başlamaq üçün məntiq əlavə edin
  • Graphics:
  • NxTerm: NxTerm üçün NxConsole bütün hadisələr dəyişdirin
  • .
  • Şəbəkə
  • PHY interrupts: (1) PHY interrupt əlavə interface standartlaşdırılması. Bir PHY interrupt ilə işarə şəbəkə statusu bir dəyişiklik olduqda (2) ərizə bildirmek üçün istifadə edilə bilər bir IOCTL üçün dəstək əlavə edin.
  • Təkmilləşdirilmiş göndər Məntiq: Keçmişdə, ilk paket uğursuz ki, yeni şəbəkə peer göndər; orada peer üçün ARP masa heç bir giriş olacaq və belə bir ARP tələb edir ki, birinci paket əvəz edə bilər. CONFIG_NET_ARP_SEND = y İndi bir seçim olaraq, bütün əgər məntiq (1) (2) mapping almaq üçün vaxtaşırı ARP sorğu və (3) gözləmək, peer MAC ünvan ARP masa olub olmadığını kontrol edəcək və göndərmək ARP cavab. Sonra (4) ARP cavab sonra qəbul faktiki göndərmək məntiq təşəbbüsü olunacaq. Belə ki, orada yeni peer göndərilən ilk paket ilə bir gecikme ola bilər, lakin paket
  • itirmək olmaz
  • Host Simulation:
  • SPI FLASH Driver:. Ken Pettit olan sim hədəf üçün Emulated SPI FLASH sürücü
  • Intel x86:
  • Default Host: default host artıq x86_64 və -m32 seçimi avtomatik qurur simulyasiya üçün seçiləcək
  • .
  • Intel 8051 Family:
  • 8051 silindi: NuttX mənbə ağacı 8051 ailə memarlıq bütün dəstəyi silindi. aradan qaldırılması patch ilə birlikdə obsoleted kodu indi misc / obsoleted / əldə edə bilərsiniz. Bu kod bəzi işlevselliği nümayiş etdirilib baxmayaraq (1), mən hər hansı bir 8051 üçün NuttX hər hansı həqiqətən uğurlu limanları xəbərdar deyiləm çünki silindi, və (2) 8051, onun hardware yığını ilə, digər memarlıq üçün məhdudiyyətlər və fəsadların məcbur edildi və daha mürəkkəb NuttX inkişafı edir.
  • ZiLOG ZNeo Forumlar
  • configs / 16z: bu board üçün Support NuttX mənbə ağac qaldırıldı (lakin hələ də misc / obsoleted kataloq bilər). Bu port istifadə üçün hazır deyil, gələcəkdə müəyyən məqamda NuttX ağac qayıda bilər.
  • Atmel SAM3 / 4 Boards:
  • SAM4E-EK:. (1) tam funksional ILI9341-based LCD sürücü və (2) tam funksional NxWM konfiqurasiya əlavə edin
  • ARMv7-A:
  • Ünvan Alanlar: Cortex-A MMU istifadə edərək, ərizə ünvan mühit üçün dəstək əlavə edin. NuttX ünvan mühit dəstək standart platform-xüsusi interfeys həyata keçirir.
  • Cache əməliyyatlar: standart, platforma xüsusi cache əməliyyatları həyata keçirir. Bu D-cache qızarmaq və ELF modul yaddaş instantly sonra I-cache qüvvədən üçün ELF loader olan deyilir. Bu dəyişikliklə, ELF modulları SAMA5 / Cortex-A platformasında düzgün iş.
  • Kernel Build: (1) sistem qapısı tətbiq edin. (2) ayrı-ayrı inşa istifadəçi proqramları ilə bağlı ola bilər CRT0 start-up fayl əlavə edin. (3) kernel build istifadə rejimi siqnalların çatdırılması üçün dəstək əlavə edin. (4) Hər bir istifadəçi prosesi başladı zaman başına prosesi istifadəçi yığın başlamaq üçün məntiq əlavə edin. (5) ARMv7-A istisna user biz istifadəçi rejimi prosesləri dəstəkləmək əgər fərqli bir az işləmək lazımdır. R13 və R14 istifadəçi və SVC rejimi arasında fərqli disk, çünki bu.
  • Paylaşılan Yaddaş Support: (1) kontekstində açarları paylaşılan yaddaş remapping idarə etmək üçün lazım olan məntiq əlavə edin. (2) ortaq yaddaş ünvanları daxil virtual / fiziki ünvan dönüşüm genişləndirilməsi. (3) platforma xüsusi paylaşılan yaddaş dəstəyi həyata keçirilməsini əlavə edin.
  • Atmel SAMA5D Drivers:
  • Network Ioctls. Quraşdırma PHY hadisə reports yeni IOCTL daxil olmaqla, bütün şəbəkə ioctls, həyata
  • Ünvan Dönüşümler:. Kernel ünvan ətraf mühit ilə qurmaq ki, əksinə fiziki ünvanlara istifadəçi virtual ünvanları xəritəsi məntiq lazımdır, və
  • Atmel SAMA5D Forumlar
  • SAMA5D3 Xplained, SAMA5D3-EK, və SAMA5D4-EK: yeni müəyyən standart interfeys istifadə etmək board xüsusi PHY interrupt interfeys mövcud Convert
  • .
  • SAMA5D4-EK: kernel build konfiqurasiya test üçün konfiqurasiya əlavə edin. ROMFS fayl sistemi bir SD kart və ya və in-yaddaş və ya açılış konfiqurasiyaları var.
  • SAMA5D4-EK: Rev E. board üçün sənədlər / dəstək əlavə et
  • .
  • STMicro STM32 Drivers:
  • Ethernet: şəbəkə IOCTL imza dəyişikliklər dəyişiklik dəstək Modified. Həmçinin quraşdırma PHY hadisə reports yeni IOCTL üçün dəstək əlavə edin.
  • STMicro STM32 Forumlar
  • STM32F4DIS-BB ilə STM32F4Discovery: şəbəkə əlavə quraşdırılmış STM32F4DIS-BB baza board ilə STM32F4Discovery board üçün NSH konfiqurasiya imkan. STM32F4DIS-BB baza board microSD kart üçün dəstək daxildir.
  • TI Tiva Drivers:
  • TI CC3200: TI CC3200 üçün dəstək əlavə edin. Jim Ewing.
  • TI Tiva Forumlar
  • TI CC3200 Launchpad: TI CC3200 Launchpad üçün dəstək əlavə edin. Jim Ewing.
  • C Kitabxana:
  • poll (). Re-həyata poll () gecikmə sem_timedwait istifadə ()
  • Konfiqurasiya / sistemi qurmaq:
  • Export Hədəf: qurur kernel və ya qorunan (1) yalnız istifadəçi kitabxana ixrac edilməlidir (2) daxili mövzu faylları surəti yoxdur və ya bu kernel və ya qorunan build və (3) ehtiyacları olduqda scripts yaratmaq istifadəçi C başlanğıc faylı (crt0) kernel üçün deyil, kernel baş obyekt qablamaq və mühafizə qurur.
  • Program CFLAGS: kernel kodu fərqli CFLAGS istifadəçi kitabxana qurmaq üçün bizə imkan verəcək ki, məntiq əlavə edin. SHN_COMMON köçürülməsini qarşısını almaq üçün ELF kodu bina zaman -fno-adi seçimi lazımdır, çünki bu tələb olunur.
  • Proqramlar
  • NSH: NSH şəbəkə başlatma məntiq genişləndirilməsi. Link dövlət nəzarət edəcək şəbəkə monitor mövzu yaradacaq bir seçim artıq var. Link aşağı gedir zaman, kodu qəşəng bir aşağı vəziyyətdə Ethernet sürücü qoymaq üçün cəhd edəcək; Link geri gəldiyi zaman, kodu geri şəbəkə gətirmək üçün cəhd edəcək.
  • ELF Məsələn:. ELF test / misal aradan qaldırılması və ya simvolu masalar ehtiyac minimuma endirmək üçün (mövcud olduqda) fərdi ELF test proqramları SYSCALL kitabxana qarşı keçid edə bilərsiniz, belə ki, uzadılmış və ya C kitabxana qarşı edilmiş
  • NxTerm: NxTerm üçün NxConsole bütün hadisələr dəyişdirin
  • .
  • MTDRWB Məsələn:. MTD R / W buffering test üçün nümunə əlavə edin
  • OS Test Məsələn: sem_timedwait bir mənasız test () əlavə edin
  • .
  • Tools:









































  • Tools:




  • Tools:
























































































  • Tools:


























  • Bugfixes:






































































































Oxşar proqram

Şərh NuttX

Şərhlər tapılmadı
Şərh əlavə
Images yandırın!