Slide 1

Slide 1 text

Kernel/VM online part 4 LT @puhitaku

Slide 2

Slide 2 text

Takumi Sueda @puhitaku NICT 
 HOMMA Inc. 
 Twitter 


Slide 3

Slide 3 text

SHARP Brain SHARP Windows CE 
 CE exe (PE) 2011 TOSHIBA TMPA 9 10 CRAXBG (armv 5 tej) + 64 MiB DRAM Windows CE 2012 2020 NXP i.MX 2 83 (armv 5 tej) + 12 8 MiB DRAM Windows CE 2021 ??? SHARP Brain 3 https://jp.sharp/edictionary/products/pwsh 1 _overviiew.html

Slide 4

Slide 4 text

SHARP Brain 2019 2020 SHARP Brain PW-SH 1 Linux + i.MX 283 Raspberry Pi Brain Linux SD Brain Linux 4 https://jp.sharp/edictionary/products/pwsh 1 _overviiew.html

Slide 5

Slide 5 text

2021 1 Brain

Slide 6

Slide 6 text

Brain https://jp.sharp/edictionary/topics/ 6

Slide 7

Slide 7 text

Brain https://brain-library.com/ 7

Slide 8

Slide 8 text

Brain OS 
 SoC i.MX 283 8

Slide 9

Slide 9 text

Brain 9

Slide 10

Slide 10 text

Brain 10

Slide 11

Slide 11 text

Brain 11

Slide 12

Slide 12 text

Brain SoC NXP i.MX 7 ULP i.MX 7 ULP = Cortex-A 7 + Cortex-M 4 12

Slide 13

Slide 13 text

Brain (Windows CE PE) OS 13

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text


 objdump 0 Arm 15

Slide 16

Slide 16 text


 as ELF .text 16

Slide 17

Slide 17 text

17

Slide 18

Slide 18 text

resource hog 18 


Slide 19

Slide 19 text

_start return 19

Slide 20

Slide 20 text

20

Slide 21

Slide 21 text

0x 00 0000 00 
 21

Slide 22

Slide 22 text

return 0 x 0 00000 0 0 22

Slide 23

Slide 23 text

U-Boot

Slide 24

Slide 24 text

U-Boot 1 . MMU 2 . MMU U-Boot U-Boot 24

Slide 25

Slide 25 text

U-Boot & OS API JTAG UART TX UART 
 I/O 25

Slide 26

Slide 26 text

U-Boot 
 
 1bit 26

Slide 27

Slide 27 text

U-Boot 1 MMU

Slide 28

Slide 28 text

U-Boot MMU MMU mrc SCTSR MMU mcr MMU 28 SCTSR

Slide 29

Slide 29 text

U-Boot MMU mrc 
 29

Slide 30

Slide 30 text

U-Boot MMU 30

Slide 31

Slide 31 text

U-Boot MMU mrc SCTSR return 31

Slide 32

Slide 32 text

U-Boot 2 U-Boot

Slide 33

Slide 33 text

U-Boot U-Boot U-Boot MMU 
 U-Boot 3 : 1 . Brain 2 . DRAM 1. 1. 3 . 2. 64 KiB (large page) 1. U-Boot 33

Slide 34

Slide 34 text

U-Boot 2 U-Boot 1

Slide 35

Slide 35 text

U-Boot U-Boot 1 35 Brain 1 MiB NOP mov pc, lr NOP = mov r0, r0

Slide 36

Slide 36 text

U-Boot U-Boot 1 36 1 5 MiB Brain 15 MiB 1 ( 4 Bytes) 1 5 MiB DRAM 128 MiB 11.7%

Slide 37

Slide 37 text

U-Boot 2 U-Boot 2 


Slide 38

Slide 38 text

U-Boot U-Boot 38 NOP MMU NOP 1 NOP 6 4 KiB NOP NOP ……… 2 1

Slide 39

Slide 39 text

U-Boot U-Boot 2 39 Virtual 
 Memory 1 5 MiB 1 MMU Physical 
 Memory MMU

Slide 40

Slide 40 text

U-Boot U-Boot 2 40 1 Physical 
 Memory 0 x 6000 000 0 0 x 6800 000 0 1 
 !"#$ %&'( !"#$ 1

Slide 41

Slide 41 text

U-Boot U-Boot 2 41 1 Physical 
 Memory 0 x 6 78000 0 0 DRAM 15 MiB 
 %&'( 0 x 6000 000 0 0 x 6800 000 0

Slide 42

Slide 42 text

U-Boot 2 U-Boot 3 


Slide 43

Slide 43 text

U-Boot U-Boot 43 2 
 MMU NOP NOP 6 4 KiB NOP 3 1 NOP NOP NOP NOP

Slide 44

Slide 44 text

U-Boot U-Boot 44 112 64 KiB NOP NOP 6 4 KiB 3 1 NOP NOP NOP NOP 112 …

Slide 45

Slide 45 text

U-Boot U-Boot 1 . ✅ U-Boot 2 . ✅ MMU 3 . ✅ MMU U-Boot 1 5 MiB 0x 7 0 0 0 0 0 u-boot.bin 
 0x 67 800000 U-Boot U-Boot 45

Slide 46

Slide 46 text

U-Boot

Slide 47

Slide 47 text

U-Boot i.MX 7 ULP con fi g 
 47

Slide 48

Slide 48 text

U-Boot 48

Slide 49

Slide 49 text

U-Boot U-Boot shell 49

Slide 50

Slide 50 text

Linux

Slide 51

Slide 51 text

Linux U-Boot Image printk UART Linux 51

Slide 52

Slide 52 text

Linux @pepepper_cpp Mailbox Unit Linux MU NXP upstream MU merge 52

Slide 53

Slide 53 text

Linux Linux Linux 53

Slide 54

Slide 54 text

No content

Slide 55

Slide 55 text

μITRON RTOS I/O I/O 55

Slide 56

Slide 56 text

& Speakerdeck 56