Linux bekendgestel op die Atari Jaguar-speletjiekonsole

Na die oordrag Linux Die Sega MegaDrive het nou die vermoë om die kern te laat loop Linux met die Busybox-nutspakket op die Atari Jaguar-speletjiekonsole, wat in 1993 vrygestel is. Die konsole het 'n Motorola 68000-SVE, 2 MB RAM, en kon kassette tot 6 MB vir permanente berging gebruik. Die toestel was toegerus met twee koverwerkers: Tom (’n 32-bis RISC GPU, 64-bis videoverwerker en 64-bis logikaverwerker) en Jerry (’n 32-bis RISC DSP vir klank).

Soortgelyk aan die Sega MegaDrive-poort vir kernuitvoering Linux Op die Motorola 68000 SVE, wat nie 'n hardeware geheuebestuurseenheid (MMU) het nie, is die standaard 7.2.0-rc1-kern saamgestel in die "NOMMU"-modus wat vir mikrobeheerders gebruik word, wat 'n plat geheuemodel met 'n lineêre adresruimte moontlik maak. (Vroeër is die ontwikkelings vir werk sonder 'n MMU ontwikkel in 'n vurk van die uClinux-kern, maar is later in die hoofkern as die "NOMMU"-opsie aangeneem.) Die probleem van onvoldoende RAM is anders aangespreek deur die gebruik van die uitvoer-in-plek (XIP) meganisme, wat direkte uitvoering van kernkode vanaf ROM moontlik maak sonder om dit na RAM te kopieer.

Die RAM op die toestel word weerspieël by die adres 0x000000, en die ROM (patroon) is onderskeidelik by die adres 0x80000, die kernkomponente. Linux Die onderbrekingsvektortabelle is in twee afsonderlike geheueareas verdeel: die .rodata- en .text-afdelings, wat konstantes en kode bevat, was op die patroon geleë, terwyl die .data- en .bss-afdelings, wat veranderlike data bevat, in RAM geleë was. Aangesien die 68000 SVE na die onderbrekingsvektortabel by adres 0x0 soek, en die kern eintlik op die patroon geleë is, waarvan die inhoud by adres 0x80000 weerspieël word, is 'n bykomende truuk gebruik om die onderbrekingsvektore na RAM te kopieer.

Die ontbrekende tydteller in die Motorola 68000 SVE is opgelos deur die tydtellers te gebruik wat in die DSP vir klanksintese gebruik word. Hierdie tydtellers is gebruik om onderbrekings te genereer om die taakskeduleerder te aktiveer. 'n Afsonderlike konsole-drywer is geskryf om kernboodskappe tydens opstart te vertoon, wat 'n parallelle poort via die TXD- en RXD-penne simuleer, wat deur die DSP-verwerker beheer word.

Om die gebruikersruimtekomponente saam te stel, is die Buildroot-gereedskapskis met kolle van die projek gebruik. LinuxMD. Om geheue te bespaar tydens initialisering, is die "/bin/busybox sh"-opdragskulp direk aangeroep, die malloc-funksie in die uClibc-biblioteek is vervang met 'n vereenvoudigde weergawe, malloc-simple, wat nie bykomende metadata stoor nie, en in plaas van 'n volwaardige selflaaiprogram soos U-Boot, is beheer direk na die kern oorgedra met behulp van die "jmp $80000"-opdrag.



Bron: opennet.ru
Koop betroubare hosting vir werwe met DDoS-beskerming, VPS VDS-bedieners 🔥 Koop betroubare webwerfhosting met DDoS-beskerming, VPS VDS-bedieners | ProHoster