Перейти до вмісту

"Мій нікому нецікавий блоґ" або записки за UEFI.

GPT UEFI FAT

Повідомлень в темі: 142

#141 _Ex

    STATUS_OK

  • Користувачі
  • PipPipPipPipPipPipPipPipPipPip
  • 1731 повідомлень
  • Стать:Чоловік
  • Місто:Бахмут, Південна Слобожанщина, Україна

Відправлено 03.12.2017 – 01:08

нарешті приїхала з далекого Китаю моя плата, Banana PI M2 Ultra. :)
Тепер у мене шість цільових машин з яких 5 - ОПК (SBC) і 1 відроїдний сет топ бокс. останній нелегко включити в розробницький цикл навіть теоретично (не напаяно UART, не напаяно документації, навіть вихідні коди такого гмд як убут ще напаяно). це на потім. там 64 бітний армівський вісьмиядерник.
Тож зараз маємо:
  • 32 бітний ARM
    • Beagle Bone Black - TI Sitara AM3358 - 1x Cortex-A8, муран
    • Cubieboard 2 - Allwinner A20 - 2x Cortex-A7, аргон
    • Banana PI M2 Ultra - Allwinner R40 - 4x Cortex-A7, неон
  • 64 бітний ARM
    • Pine64+ 2GB - Allwinner A64 - 4x Cortex-A53, сосна
    • CSA90 - Rockchip RK3368 - 8x Cortex-A53, чортик
  • 32 бітний MIPS
    • Mips Creator CI20 - Ingenic JZ4780 - 2x XBurst (mips32r2), йод
Найслабшою за швидкостями і накачаністю платою є муран, найсильнішою є неон, за яким з невеликим відривом іде сосна і чортик. йод і аргон - посередині. всі машини за винятком мурана є багатопроцесорними, а чортик на додачу скаладється з двох чотириядерних кластерів. це для можливості втілювати багатопроцесорну ОС (SMP).
Після того як ми ось розворушимось з менеджментом памяти на йоді, підключатимемо 32-бітні армівські цілі. особливо заманливими виглядають обидві Allwinner'івські цілі, вони мають SATA контроллер, який начебто дотримується AHCI специфікації, було б так цікаво спробувати програмувати те чудо. Я, по сікрєту, від доброї людини, отримав кід ініціалізації SDRAM для сосни, це нам має помогти - Allwinner'івських машин у нас аж 3.
Коротко, нам треба імплементувати UEFI Boot Services, в Dxe, і сервіси керування памяттю - в першу чергу. а далі - т. зв. архітектуні протоколи, останні - якшо ми дотримуватимемось суворо Dxe, в уефі цього нема, ми можемо організувати внутрішню роботу по-своєму. наприклад як я вже казав, планується обробка переривань, це вносить цілком конкретні вимоги до системи. зрештою, в опшіх чіртах, наша система експонуватиме наружу уефі речі як і положено уефі ФВ, а внутрі ми тренуватимемось писати ОС. Тож після керування памяттю, нам треба подумати над 1) обєктним менеджером, і 2) менеджером В/В, це для драйверів! От тоді коли ці речі робитимуть, можна починати прикурчувати керування периферійними пристроями. Принаймні найважливішою їхньою підмножиною. контроллер переривань, таймери, сховище, дисплей, уарт, усб, мережа. сховище на ОПК - це переважно SD/MMC/NAND. рідкісні випадки - така звичайна для ПК SATA. Це високошвидкісний інтерфейс, так широковживаний, не дивно, чого ми накупували аж 2 плати з ним. Мається на увазі ... в той час коли вони так рідко зустрічаються на ОПК, у нас їх аж в 33% плат.)
Звичайно, це величезна робота, але ми просто побалакали за плани, навіяно надходженням нової плати в парк, (того він і неон, шо "новий").
Конкретніше, і приземленіше, ми працюємо над AllocatePages(), FreePages(), AllocatePool(), FreePool() та GetMemoryMap() уефі БС (бут сервіси), і підлеглими алгоритмами, структурами, ініціалізацією і розкроєм. Алогритми ми учимо по книзі Кнута. First Fit алгоритм з "in place" розміщенням інфи за вільні блоки, з тегуванням на краях, які звязані в двонаправлені списки. для алокацій в цьому середовищі - саме те, шо треба.

Повідомлення відредагував _Ex: 03.12.2017 – 01:22

  • 0

#142 antip

    Генеральний писар

  • Користувачі
  • PipPipPipPipPipPipPipPipPip
  • 537 повідомлень
  • Стать:Чоловік

Відправлено 03.12.2017 – 12:53

Пищь.
  • 0

#143 _Ex

    STATUS_OK

  • Користувачі
  • PipPipPipPipPipPipPipPipPipPip
  • 1731 повідомлень
  • Стать:Чоловік
  • Місто:Бахмут, Південна Слобожанщина, Україна

Відправлено 08.12.2017 – 00:39

Ото так прикол, два місяці тому качав компілятори для CI20 з офіційного сайту, все було ок, ну як - закинуте все, але як і було з власне 15-го року. А це приходю, а Creator CI20 просто зник з сайта Imagination, шо там - увесь MIPS зник, з конпіляторами. Я знав, шо саме Imagination купує хтось, і шось чув за їхній міпсівський підрозділ, але не звернув особливої уваги. А виявляється, в рамках оцього викупу, якимись китайцями, вони відкрутили MIPS підрозділ і продали його якомусь Tallwood там шось. Почитав в bloomberg шось там за трампа, шось він там знову заборонив продавати китайцям ... а при чому тут трамп, якшо Imagination англійська компанія? вопшім тепер MIPS знову MIPS і вернувся в сонячну Калифорнію. Не знаю, як це вплине на саму архітектуру, її розвиток, на сайті хрєн шо найдеш, ну ясно, дуже рано, не встигли ще нічого обставити. І міпс криейтор, ця маленька пурпурова плата, шо з нею буде? будуть ще продавати? чи може навіть випустять наступника? нічого не ясно. але принаймні Imagination давно забив на нього, це було ясно. А мені шо робити? :lol: Я ж uefi під неї пишу, шоб люди користувалися, не просто так. без розвитку (з подальшим розкручуванням, продаванням самої плати і випуском її наступних версій), у CI20 є всі шанси остаточно впасти в забуття. разом з моїм уефі під нього. я то ще маю тєлєгу армівських цілей, їм точно нічого не загрожує, але все ж, міпс такий прикольний, хотілось би і далі його підтримувати. міпсівські маршрутизатори то фігня, ця плата є труЬ міні ПК, з HDMI і SD-картками, а то таке, один етернет (нє, етернет це рулєз, я люблю етернет, я мав на увазі інше - маршрутизатори занадто обмежені (в памяті, процесорі)) і не дуже девелопер френдли, як і будь який консумерський пристрій). та й ядра там древні, навіть древніші за йодове. ех.

Повідомлення відредагував _Ex: 08.12.2017 – 00:49

  • 0



Кількість користувачів, що читають цю тему: 1

0 користувачів, 1 гостей, 0 анонімних