Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
低予算電子工作 ARMマイコンを使えるようにする
Search
Fadis
May 09, 2015
Technology
600
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
低予算電子工作 ARMマイコンを使えるようにする
LPC1114FN28を使ってmbedで書いたコードを実行できるようにするところまでを解説します
Fadis
May 09, 2015
More Decks by Fadis
See All by Fadis
3Dシーンの圧縮
fadis
1
850
Kernel/VM探検隊@関西 12回目 イベント会場から懇親会会場までの道のりマップ
fadis
0
97
安いハードウェアでVulkan
fadis
1
1.2k
ゲームの物理 剛体編
fadis
1
650
ゲームの物理
fadis
5
2.2k
バイラテラルアップサンプリング
fadis
4
1.2k
Kernel/VM探検隊@関西 12回目 大阪駅から会場までの道のりマップ
fadis
0
430
C++でシェーダを書く
fadis
6
5.3k
ライトたくさんReSTIRを実装しよう
fadis
3
1.7k
Other Decks in Technology
See All in Technology
LLM・AIエージェントシステムベストプラクティス
shibuiwilliam
6
1.2k
その“隠したつもり”が命取り ── 自前と平文をやめて「正解」に委ねる
kuroneko13
0
120
Webアクセシビリティ入門 2026
recruitengineers
PRO
3
570
クラウドセキュリティ入門 ~安全なクラウド利用のための基礎知識~
lhazy
13
11k
TypeScript入門 2026
recruitengineers
PRO
3
580
ボトムアップ文化が強い組織で セキュリティをどう根付かせていくかの現在進行形の話 / Making Security Stick in a Bottom-Up Organization
yamaguchitk333
0
220
事業価値と Engineering 2026年度版
recruitengineers
PRO
49
23k
ブラウザ研修 2026
recruitengineers
PRO
6
990
関東Kaggler会発表資料
takoi
1
230
『三匹の子ぶた』から学ぶネットワークセキュリティの昔と今 / Network Security: Then and Now Through the Lens of The Three Little Pigs
nttcom
1
4.6k
社内の7割が使うデータ基盤を、 データチーム2人で回すためにやったこと
koh_yoshi
4
1.3k
モバイルアプリ開発概論2026
recruitengineers
PRO
5
590
Featured
See All Featured
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
340
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
The Language of Interfaces
destraynor
162
27k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
290
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
A Soul's Torment
seathinner
6
3.4k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
2.3k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
940
Paper Plane
katiecoart
PRO
2
53k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
540
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.8k
The Curse of the Amulet
leimatthew05
2
14k
Transcript
༧ࢉిࢠ࡞ "3.ϚΠίϯΛ͑ΔΑ͏ʹ͢Δ Naomasa Matsubayashi
mbed ϒϥβ্Ͱಈ͘ARMϚΠίϯͷ౷߹։ൃڥ https://developer.mbed.org/
mbed mbedͰॻ͍ͨίʔυΛ ग़དྷΔ͚ͩ༧ࢉͰ࣮ߦ͢ΔࣄΛࢦ͢
mbedͱ͍͑͜͏͍͏ϋʔυΣΞ͕༗໊͚ͩͲߴ͍ NCFE-1$ ௨শ੨͍NCFE NCFE-1$6 ௨শԫ৭͍NCFE ԁ͔Β ԁ͘Β͍ ԁ͔Β ԁ͘Β͍
mbed LPC1114FN28ͳΒͪΐͬͱ͍҆ mbed LPC1114FN28 ԁ͔Β ԁ͘Β͍
্ͭ͡ʹࡌͬͯΔϚΠίϯ͚ͩͩͱ200ԁఔ ͜͜ʹࡌͬͯΔ DIPͷϚΠίϯ LPC1114FN28 ͚ͩ ϚϧπͰ220ԁ ڞཱͰ200ԁ ळ݄Ͱ140ԁ
ॻ͖ࠐΈ͑͞Կͱ͔͢ΕϚΠίϯ200ԁఔͰࡁΉ Լʹ͍͍ͭͯΔͷ 64#͔Β؆୯ʹ ॻ͖ࠐΉͨΊͷϋʔυΣΞ
LPC1114FN28 ARM Cortex-M0ϚΠίϯ ࠷େ48MHz(ΫϩοΫଂ) ଂϑϥογϡ32KB (࣮ߦՄೳόΠφϦͷαΠζ32KB·Ͱ) ଂRAM4KB (࣮ߦதʹ͑ΔϝϞϦ4KB·Ͱ) 3.3VͰಈ͘ ϒϨουϘʔυʹͤ͞Δ
UART͔Βॻ͖ࠐΊΔ
LPC1114FN28 ੨͍mbedͷΑ͏ͳ USBϗετEthernetແ͍͕ I2C SPI PWM ADC UART ϚΠίϯͰΑ͘ΘΕΔI/O༗Δ
༻ҙ͢Δͷ
༻ҙ͢Δͷ 7ిݯ͖ϒϨουϘʔυ -1$'/ ԁ ॳճԁ ԁ ηοτ͋ͨΓԁ අ༻ͷΊ͢ ෦ ॳճʹඞཁͳඅ༻ԁ
ॳճԁ δϟϯύϫΠϠຊ ԁ 7༻64#γϦΞϧίϯόʔλ λΫτεΠον ԁ
ಈ࡞֬ೝʹඞཁͳͷ
ಈ࡞֬ೝʹඞཁͳͷ ఆ֨N"ͷ-&% ߅Њ ݸͰԁ ݸͰԁ ߹ܭ ηοτลΓԁ අ༻ͷΊ͢ ෦ ॳճʹඞཁͳඅ༻ԁ
δϟϯύϫΠϠຊ ԁ
C͔ΒHʹ-1$'/Λଓ ύοέʔδʹԜΈ͕͋Δํ͕ߦʹདྷΔΑ͏ʹ͢Δ
ϦηοτϘλϯ༻ͷλΫτεΠονΛ͚Δ ಈ࡞֬ೝ࣌ʹ͚Δ-&%ͱͿ͔ͭΒͳ͍ߦҎ͕߱Φεεϝ
λΫτεΠονͷࢠͷҰํΛIʹଓ ͏ҰํΛͷిݯϨʔϯʹଓ
J͔ΒͷిݯϨʔϯʹδϟϯύϫΠϠΛଓ ଂϑϥογϡॻ͖ࠐΈϞʔυʹೖΔҝͷઃఆ
K͔ΒͷిݯϨʔϯʹଓ ϚΠίϯͷ(/%
I͔Β ͷిݯϨʔϯʹଓ ϚΠίϯͷిݯ
64#γϦΞϧίϯόʔλͷ(/%ͱ5Y%ͱ3Y%ʹ δϟϯύϫΠϠΛଓ
64#γϦΞϧίϯόʔλͷ(/%ΛͷిݯϨʔϯʹଓ γϦΞϧίϯόʔλͱϒϨουϘʔυͷج४ిҐΛҰகͤ͞Δ
Jʹ64#γϦΞϧίϯόʔλͷ5Y%Λଓ
Kʹ64#γϦΞϧίϯόʔλͷ3Y%Λଓ
LPC1114FN28ʹॻ͖ࠐΉํ๏ σόοΨͰॻ͖ࠐΉ γϦΞϧͰॻ͖ࠐΉ σόοΨ͕ཁΔ 64#γϦΞϧίϯόʔλ͕ཁΔ ࠓճͬͪ͜ γϦΞϧ͔Βॻ͖ࠐΉҝͷΈ σʔλγʔτͰ*O4ZTUFN1SPHSBNNJOH *41 ͱݺΕΔ
lpc21isp FlashMagic 8JOEPXT༻ͷ(6*ΞϓϦέʔγϣϯ /*9͚ͷίϚϯυϥΠϯπʔϧ ॻ͖ࠐΈʹ͏ιϑτΣΞ ࠓճͬͪ͜ 8JOEPXTϢʔβͰ'MBTI.BHJDͰॻ͖͍ͨ߹͜ͷΜࢀর IUUQXXXOYQMQDDPNEFWFMPQNFOUIUNM
lpc21isp *41ͷϓϩτίϧΛΔίϚϯυϥΠϯπʔϧ ͜ΕΛͬͯॻ͖ࠐΉ IUUQTHJUIVCDPNDBQJNBOMQDJTQ
# 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σΟετϦϏϡʔγϣϯͩͱ ύοέʔδ͕༻ҙ͞Ε͍ͯΔࣄ͋Δ
ઌఔΈཱͯͨϘʔυʹిΛೖΕͯ ϦηοτϘλϯΛԡ͢ 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) ϦηοτϘλϯ ͜͜ͷσόΠε໊ ڥʹΑͬͯҟͳΔ Մೳੑ͕͋Δ
# 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# ͜Μͳ෩ʹνοϓͷใ͕දࣔ͞ΕͨΒޭ ग़ͳ͍߹Έཱͯํ͕߹͍ͬͯΔ͔͏Ұ֬ೝ͠Α͏
ಈ࡞֬ೝ
mbedͷLED໓αϯϓϧΛಈ͔ͯ֬͠ೝ͢Δ https://developer.mbed.org/users/ytsuboi/notebook/getting-started-with-mbed-lpc1114/ ϓϩάϥϜ͕LED1ͷ༻Λཁٻͨ࣌͠ mbedLPC1114FN28ͷ͜ͷϐϯʹ LED͕͍͍ͭͯΔ͜ͱΛظ͢Δ
൪ϐϯ ϒϨουϘʔυͷB ʹЊͷ߅Λଓ -&%ͷిྲ੍ྀݶ༻
߅ʹ-&%ͷΞϊʔυଆ ͕͍ํ Λଓ ͜ͷճ࿏ఆ֨N"ͷ-&%Λఆ͍ͯ͠Δ
-&%ͷΧιʔυଆΛͷిݯϨʔϯʹଓ
mbedʹϢʔβొ https://developer.mbed.org/account/signup/?next=%2F
mbedʹϩάΠϯͨ͠ΒCompilerΛબ https://developer.mbed.org/ ͜Ε
mbed LPC1114FN28ʹͳ͍ͬͯΔ͜ͱΛ֬ೝ ͜Ε ͠ผͷϚΠίϯʹͳ͍ͬͯͨΒ ΫϦοΫͯ͠LPC1114FN28ʹมߋ
NewΛԡͯ͠৽͍͠ϓϩάϥϜΛ࡞ ͜Ε
Platform͕mbed LPC1114FN28ʹͳ͍ͬͯΔ͜ͱΛ֬ೝ ͜Ε NCFE-1$'/͕Ϧετʹແ͍߹μΠΞϩάΛ Ұดͯ͡ӈ্ͷϓϥοτϑΥʔϜબ͔ΒՃ͠Α͏ ϓϥοτϑΥʔϜબ
Template͕Blinky LED Hello Worldʹͳ͍ͬͯΔࣄΛ֬ೝ ͜Ε ͍ΘΏΔLνΧΛ͢ΔͨΊͷίʔυ͕࠷ॳ͔Β༻ҙ͞Ε͍ͯΔ
CompileΛΫϦοΫ͢Δ Ϗϧυ͕ྃ͢Δͱग़དྷ্͕ͬͨόΠφϦ͕μϯϩʔυ͞ΕΔ ͜Ε
# 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͕ಉظͰ͖ΔͷϦηοτޙճ͚ͩͳͷͰ ্ख͍͔͘ͳ͍ͱ͖ ϦηοτϘλϯΛԡ͔ͯ͠Β͏Ұࢼͯ͠ΈΑ͏
J͔ΒͷిݯϨʔϯʹܨ͕͍ͬͯΔδϟϯύϫΠϠΛ֎͢ ଂϑϥογϡॻ͖ࠐΈϞʔυʹೖΒͳ͍Α͏ʹ͢Δ
ϦηοτϘλϯΛԡͯ͠-&%͕໓࢝͠ΊͨΒޭ
·ͱΊ 200ԁͷϚΠίϯͱγϦΞϧॻ͖ࠐΈͰ mbedͰ࡞ͬͨόΠφϦΛ࣮ߦͰ͖Δ