Slide 1

Slide 1 text

௿༧ࢉిࢠ޻࡞ "3.ϚΠίϯΛ࢖͑ΔΑ͏ʹ͢Δ Naomasa Matsubayashi

Slide 2

Slide 2 text

mbed ϒϥ΢β্Ͱಈ͘ARMϚΠίϯͷ౷߹։ൃ؀ڥ https://developer.mbed.org/

Slide 3

Slide 3 text

mbed mbedͰॻ͍ͨίʔυΛ ग़དྷΔ͚ͩ௿༧ࢉͰ࣮ߦ͢ΔࣄΛ໨ࢦ͢

Slide 4

Slide 4 text

mbedͱ͍͑͹͜͏͍͏ϋʔυ΢ΣΞ͕༗໊͚ͩͲߴ͍ NCFE-1$ ௨শ੨͍NCFE NCFE-1$6 ௨শԫ৭͍NCFE ԁ͔Β ԁ͘Β͍ ԁ͔Β ԁ͘Β͍

Slide 5

Slide 5 text

mbed LPC1114FN28ͳΒͪΐͬͱ͍҆ mbed LPC1114FN28 ԁ͔Β ԁ͘Β͍

Slide 6

Slide 6 text

ͭ͡͸্ʹࡌͬͯΔϚΠίϯ͚ͩͩͱ200ԁఔ ͜͜ʹࡌͬͯΔ DIPͷϚΠίϯ LPC1114FN28 ͚ͩ ϚϧπͰ220ԁ ڞཱͰ200ԁ ळ݄Ͱ140ԁ

Slide 7

Slide 7 text

ॻ͖ࠐΈ͑͞Կͱ͔͢Ε͹ϚΠίϯ͸200ԁఔͰࡁΉ Լʹ͍͍ͭͯΔͷ͸ 64#͔Β؆୯ʹ ॻ͖ࠐΉͨΊͷϋʔυ΢ΣΞ

Slide 8

Slide 8 text

LPC1114FN28 ARM Cortex-M0ϚΠίϯ ࠷େ48MHz(ΫϩοΫ಺ଂ) ಺ଂϑϥογϡ32KB (࣮ߦՄೳόΠφϦͷαΠζ͸32KB·Ͱ) ಺ଂRAM4KB (࣮ߦதʹ࢖͑ΔϝϞϦ͸4KB·Ͱ) 3.3VͰಈ͘ ϒϨουϘʔυʹͤ͞Δ UART͔Βॻ͖ࠐΊΔ

Slide 9

Slide 9 text

LPC1114FN28 ੨͍mbedͷΑ͏ͳ USBϗετ΍Ethernet͸ແ͍͕ I2C SPI PWM ADC UART౳ ϚΠίϯͰΑ͘࢖ΘΕΔI/O͸༗Δ

Slide 10

Slide 10 text

༻ҙ͢Δ΋ͷ

Slide 11

Slide 11 text

༻ҙ͢Δ΋ͷ 7ిݯ෇͖ϒϨουϘʔυ -1$'/ ԁ ॳճԁ ԁ ηοτ͋ͨΓԁ අ༻ͷΊ΍͢ ෦඼ ॳճʹඞཁͳඅ༻ԁ ॳճԁ δϟϯύϫΠϠຊ ԁ 7༻64#γϦΞϧίϯόʔλ λΫτεΠον ԁ

Slide 12

Slide 12 text

ಈ࡞֬ೝʹඞཁͳ΋ͷ

Slide 13

Slide 13 text

ಈ࡞֬ೝʹඞཁͳ΋ͷ ఆ֨N"ͷ-&% ఍߅Њ ݸͰԁ ݸͰԁ ߹ܭ ηοτลΓԁ අ༻ͷΊ΍͢ ෦඼ ॳճʹඞཁͳඅ༻ԁ δϟϯύϫΠϠຊ ԁ

Slide 14

Slide 14 text

C͔ΒHʹ-1$'/Λ઀ଓ ύοέʔδʹԜΈ͕͋Δํ͕ߦ໨ʹདྷΔΑ͏ʹ͢Δ

Slide 15

Slide 15 text

ϦηοτϘλϯ༻ͷλΫτεΠονΛ෇͚Δ ಈ࡞֬ೝ࣌ʹ෇͚Δ-&%౳ͱͿ͔ͭΒͳ͍ߦ໨Ҏ͕߱Φεεϝ

Slide 16

Slide 16 text

λΫτεΠονͷ୺ࢠͷҰํΛIʹ઀ଓ ΋͏ҰํΛͷిݯϨʔϯʹ઀ଓ

Slide 17

Slide 17 text

J͔ΒͷిݯϨʔϯʹδϟϯύϫΠϠΛ઀ଓ ಺ଂϑϥογϡॻ͖ࠐΈϞʔυʹೖΔҝͷઃఆ

Slide 18

Slide 18 text

K͔ΒͷిݯϨʔϯʹ઀ଓ ϚΠίϯͷ(/%

Slide 19

Slide 19 text

I͔ΒͷిݯϨʔϯʹ઀ଓ ϚΠίϯͷిݯ

Slide 20

Slide 20 text

64#γϦΞϧίϯόʔλͷ(/%ͱ5Y%ͱ3Y%ʹ δϟϯύϫΠϠΛ઀ଓ

Slide 21

Slide 21 text

64#γϦΞϧίϯόʔλͷ(/%ΛͷిݯϨʔϯʹ઀ଓ γϦΞϧίϯόʔλͱϒϨουϘʔυͷج४ిҐΛҰகͤ͞Δ

Slide 22

Slide 22 text

Jʹ64#γϦΞϧίϯόʔλͷ5Y%Λ઀ଓ

Slide 23

Slide 23 text

Kʹ64#γϦΞϧίϯόʔλͷ3Y%Λ઀ଓ

Slide 24

Slide 24 text

LPC1114FN28ʹॻ͖ࠐΉํ๏ σόοΨͰॻ͖ࠐΉ γϦΞϧͰॻ͖ࠐΉ σόοΨ͕ཁΔ 64#γϦΞϧίϯόʔλ౳͕ཁΔ ࠓճ͸ͬͪ͜ γϦΞϧ͔Βॻ͖ࠐΉҝͷ࢓૊Έ͸ σʔλγʔτͰ͸*O4ZTUFN1SPHSBNNJOH *41 ͱݺ͹ΕΔ

Slide 25

Slide 25 text

lpc21isp FlashMagic 8JOEPXT༻ͷ(6*ΞϓϦέʔγϣϯ /*9޲͚ͷίϚϯυϥΠϯπʔϧ ॻ͖ࠐΈʹ࢖͏ιϑτ΢ΣΞ ࠓճ͸ͬͪ͜ 8JOEPXTϢʔβͰ'MBTI.BHJDͰॻ͖͍ͨ৔߹͸͜ͷ΁Μࢀর IUUQXXXOYQMQDDPNEFWFMPQNFOUIUNM

Slide 26

Slide 26 text

lpc21isp *41ͷϓϩτίϧΛ஻ΔίϚϯυϥΠϯπʔϧ ͜ΕΛ࢖ͬͯॻ͖ࠐΉ IUUQTHJUIVCDPNDBQJNBOMQDJTQ

Slide 27

Slide 27 text

# LANG=C emerge -av lpc21isp! --- Invalid atom in /etc/portage/package.use/kde: kde-base/pykde4-4.10.5! ! * IMPORTANT: 28 news items need reading for repository 'gentoo'.! * Use eselect news to read news items.! ! * Last emerge --sync was 52d 2h 23m 42s ago.! ! These are the packages that would be merged, in order:! ! Calculating dependencies... done!! [ebuild N ~] dev-embedded/lpc21isp-1.85 54 KiB! ! Total: 1 package (1 new), Size of downloads: 54 KiB! ! Would you like to merge these packages? [Yes/No] Yes! ! >>> Verifying ebuild manifests! ! >>> Emerging (1 of 1) dev-embedded/lpc21isp-1.85::gentoo! >>> Downloading 'http://ftp.iij.ad.jp/pub/linux/gentoo/distfiles/lpc21isp_185.tar.gz'! --2015-05-02 22:29:39-- http://ftp.iij.ad.jp/pub/linux/gentoo/distfiles/lpc21isp_185.tar.gz! Resolving ftp.iij.ad.jp... 2001:240:bb8f:200::1:170, 202.232.140.170! Connecting to ftp.iij.ad.jp|2001:240:bb8f:200::1:170|:80... connected.! HTTP request sent, awaiting response... 200 OK! Length: 54735 (53K) [application/x-gzip]! Saving to: '/usr/portage/distfiles/lpc21isp_185.tar.gz'! ! /usr/portage/distfi 100%[=====================>] 53.45K --.-KB/s in 0.1s ! ! 2015-05-02 22:29:39 (385 KB/s) - '/usr/portage/distfiles/lpc21isp_185.tar.gz' saved [54735/54735]! ͍͚ͯΔ-JOVYσΟετϦϏϡʔγϣϯͩͱ ύοέʔδ͕༻ҙ͞Ε͍ͯΔࣄ΋͋Δ

Slide 28

Slide 28 text

ઌఔ૊ΈཱͯͨϘʔυʹి஑ΛೖΕͯ ϦηοτϘλϯΛԡ͢ MQDJTQͰσόΠεΛ୳͢ # lpc21isp -detectonly /dev/ttyUSB0 115200 48000! lpc21isp version 1.85! Synchronizing (ESC to abort). OK! Read bootcode version: 1! 7! Read part ID: LPC1114.../102, 32 kiB ROM / 4 kiB SRAM (0x1A40902B) ϦηοτϘλϯ ͜͜ͷσόΠε໊͸ ؀ڥʹΑͬͯҟͳΔ Մೳੑ͕͋Δ

Slide 29

Slide 29 text

# lpc21isp -detectonly /dev/ttyUSB0 115200 48000! lpc21isp version 1.85! Synchronizing (ESC to abort). OK! Read bootcode version: 1! 7! Read part ID: LPC1114.../102, 32 kiB ROM / 4 kiB SRAM (0x1A40902B) νοϓͷछྨ -1$ ུ ϑϥογϡϝϞϦ ,J# 3". ,J# ͜Μͳ෩ʹνοϓͷ৘ใ͕දࣔ͞ΕͨΒ੒ޭ ग़ͳ͍৔߹͸૊Έཱͯํ͕߹͍ͬͯΔ͔΋͏Ұ౓֬ೝ͠Α͏

Slide 30

Slide 30 text

ಈ࡞֬ೝ

Slide 31

Slide 31 text

mbedͷLED఺໓αϯϓϧΛಈ͔ͯ֬͠ೝ͢Δ https://developer.mbed.org/users/ytsuboi/notebook/getting-started-with-mbed-lpc1114/ ϓϩάϥϜ͕LED1ͷ࢖༻Λཁٻͨ࣌͠ mbed͸LPC1114FN28ͷ͜ͷϐϯʹ LED͕͍͍ͭͯΔ͜ͱΛظ଴͢Δ

Slide 32

Slide 32 text

൪ϐϯ ϒϨουϘʔυͷB ʹЊͷ఍߅Λ઀ଓ -&%ͷిྲ੍ྀݶ༻

Slide 33

Slide 33 text

఍߅ʹ-&%ͷΞϊʔυଆ ଍͕௕͍ํ Λ઀ଓ ͜ͷճ࿏͸ఆ֨N"ͷ-&%Λ૝ఆ͍ͯ͠Δ

Slide 34

Slide 34 text

-&%ͷΧιʔυଆΛͷిݯϨʔϯʹ઀ଓ

Slide 35

Slide 35 text

mbedʹϢʔβొ࿥ https://developer.mbed.org/account/signup/?next=%2F

Slide 36

Slide 36 text

mbedʹϩάΠϯͨ͠ΒCompilerΛબ୒ https://developer.mbed.org/ ͜Ε

Slide 37

Slide 37 text

mbed LPC1114FN28ʹͳ͍ͬͯΔ͜ͱΛ֬ೝ ͜Ε ΋͠ผͷϚΠίϯʹͳ͍ͬͯͨΒ ΫϦοΫͯ͠LPC1114FN28ʹมߋ

Slide 38

Slide 38 text

NewΛԡͯ͠৽͍͠ϓϩάϥϜΛ࡞੒ ͜Ε

Slide 39

Slide 39 text

Platform͕mbed LPC1114FN28ʹͳ͍ͬͯΔ͜ͱΛ֬ೝ ͜Ε NCFE-1$'/͕Ϧετʹແ͍৔߹͸μΠΞϩάΛ Ұ౓ดͯ͡ӈ্ͷϓϥοτϑΥʔϜબ୒͔Β௥Ճ͠Α͏ ϓϥοτϑΥʔϜબ୒

Slide 40

Slide 40 text

Template͕Blinky LED Hello Worldʹͳ͍ͬͯΔࣄΛ֬ೝ ͜Ε ͍ΘΏΔLνΧΛ͢ΔͨΊͷίʔυ͕࠷ॳ͔Β༻ҙ͞Ε͍ͯΔ

Slide 41

Slide 41 text

CompileΛΫϦοΫ͢Δ Ϗϧυ͕׬ྃ͢Δͱग़དྷ্͕ͬͨόΠφϦ͕μ΢ϯϩʔυ͞ΕΔ ͜Ε

Slide 42

Slide 42 text

# lpc21isp -bin mbed_blinky_LPC1114.bin /dev/ttyUSB0 115200 48000! lpc21isp version 1.85! File mbed_blinky_LPC1114.bin:! ! loaded...! ! image size : 10540! Image size : 10540! Synchronizing (ESC to abort). OK! Read bootcode version: 1! 7! Read part ID: LPC1114.../102, 32 kiB ROM / 4 kiB SRAM (0x1A40902B)! Will start programming at Sector 1 if possible, and conclude with Sector 0 to ensure that checksum is written last.! Erasing sector 0 first, to invalidate checksum. OK ! Sector 1: ...........................|.........................|.........................|............... ..........! Sector 2: ...........................|.........................|.........! Sector 0: ..........................|.........................|.........................|................ .........! Download Finished... taking 2 seconds! Now launching the brand new code μ΢ϯϩʔυͨ͠όΠφϦ ॻ͖ࠐΈ *41͕ಉظͰ͖Δͷ͸Ϧηοτޙճ͚ͩͳͷͰ ্ख͍͔͘ͳ͍ͱ͖͸ ϦηοτϘλϯΛԡ͔ͯ͠Β΋͏Ұ౓ࢼͯ͠ΈΑ͏

Slide 43

Slide 43 text

J͔ΒͷిݯϨʔϯʹܨ͕͍ͬͯΔδϟϯύϫΠϠΛ֎͢ ಺ଂϑϥογϡॻ͖ࠐΈϞʔυʹೖΒͳ͍Α͏ʹ͢Δ

Slide 44

Slide 44 text

ϦηοτϘλϯΛԡͯ͠-&%͕఺໓࢝͠ΊͨΒ੒ޭ

Slide 45

Slide 45 text

·ͱΊ 200ԁͷϚΠίϯͱγϦΞϧॻ͖ࠐΈͰ mbedͰ࡞ͬͨόΠφϦΛ࣮ߦͰ͖Δ