Case Study: Hacking the Lego Mindstorms EV3 Andreas Grapentin - - PowerPoint PPT Presentation

case study hacking the lego mindstorms ev3
SMART_READER_LITE
LIVE PREVIEW

Case Study: Hacking the Lego Mindstorms EV3 Andreas Grapentin - - PowerPoint PPT Presentation

1 Case Study: Hacking the Lego Mindstorms EV3 Andreas Grapentin Operating Systems and Middleware Group 2018-11-28 2 The Mission Control a simple real-time task on the Lego Mindstorms EV3 > without using the installed Operating System 3


slide-1
SLIDE 1

1

Case Study: Hacking the Lego Mindstorms EV3

Andreas Grapentin

Operating Systems and Middleware Group

2018-11-28

slide-2
SLIDE 2

2

The Mission

Control a simple real-time task on the Lego Mindstorms EV3 >without using the installed Operating System

slide-3
SLIDE 3

3

The Mission https://www.youtube.com/watch?v=-t5TSZjHqMg

slide-4
SLIDE 4

4

The Mission

Control a simple real-time task on the Lego Mindstorms EV3 without using the installed Operating System

slide-5
SLIDE 5

5

The Mission

slide-6
SLIDE 6

6

The Beaten Path

slide-7
SLIDE 7

7

Step 1: Establish Communication

slide-8
SLIDE 8

8

Establish Communication

slide-9
SLIDE 9

9

Establish Communication

EV3 i n i t i a l i z a t i o n passed ! Booting EV3 EEprom Boot Loader EEprom Version : 0.60 EV3 Flashtype : N25Q128A13B [ . . . ]

slide-10
SLIDE 10

10

Step 2: Gather Information

slide-11
SLIDE 11

11

Gather Information

EV3 i n i t i a l i z a t i o n passed ! Booting EV3 EEprom Boot Loader EEprom Version : 0.60 EV3 Flashtype : N25Q128A13B [ . . . ] Hit ’ l ’ to stop autoboot : [ . . . ]

slide-12
SLIDE 12

12

Gather Information

U- Boot > printenv bootcmd=i f mmc rescan 0; then i f run loadbootscr ; then run \ b o o t s c r i p t ; e l s e i f run loadimage ; then run mmcargs ; run \ mmcboot ; e l s e run f l a s h a r g s ; run f la sh boo t ; f i ; f i ; e l s e \ run f l a s h a r g s ; run f la shb oo t ; f i loadbootscr=f a t l o a d mmc 0 ${ bootscraddr } boot . scr b o o t s c r i p t=source ${ bootscraddr } loadimage=f a t l o a d mmc 0 ${ loadaddr } uImage mmcboot=bootm ${ loadaddr } [ . . . ]

slide-13
SLIDE 13

13

Gather Information

i f sd card i s i n s e r t e d i f boot . scr f i l e e x i s t s

  • n sd card

load and source boot . scr e l s e i f uImage f i l e e x i s t s

  • n sd card

load and boot from sd card e l s e load and boot from f l a s h f i f i e l s e load and boot from f l a s h f i

slide-14
SLIDE 14

14

Step 3: Hello, World!

slide-15
SLIDE 15

15

Hello, World!

lms2012/open_fjrst/Makefjle: $ (UBOOT)/u - boot . bin : $ (MAKE)

  • C $ (UBOOT) CROSS_COMPILE=$ (CROSS_COMPILE)\

da850_omapl138_evm_config $ (MAKE)

  • C $ (UBOOT) CROSS_COMPILE=$ (CROSS_COMPILE)

a l l

slide-16
SLIDE 16

16

Further Reading

◮ https://github.com/mindboards/ev3sources ◮ https://publishup.uni-potsdam.de/opus4-ubp/frontdoor/deliver/index/docId/ 7063/file/tbhpi90.pdf ◮ https://github.com/ninjastorms/ninjastorms ◮ https://github.com/ninjastorms/toolchain-generator ◮ http://botbench.com/blog/2013/08/15/ev3-creating-console-cable/ ◮ https://www.lego.com/de-de/mindstorms/downloads