Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
低予算電子工作 ARMマイコンを使えるようにする
Search
Fadis
May 09, 2015
Technology
0
580
低予算電子工作 ARMマイコンを使えるようにする
LPC1114FN28を使ってmbedで書いたコードを実行できるようにするところまでを解説します
Fadis
May 09, 2015
Tweet
Share
More Decks by Fadis
See All by Fadis
ゲームの物理 剛体編
fadis
0
330
ゲームの物理
fadis
5
1.8k
バイラテラルアップサンプリング
fadis
4
940
Kernel/VM探検隊@関西 11回目 大阪駅から会場までの道のりマップ
fadis
0
270
C++でシェーダを書く
fadis
6
5.1k
ライトたくさんReSTIRを実装しよう
fadis
3
1.5k
コンピュータグラフィクスの空
fadis
8
2.8k
NNEFを読めるようになろう
fadis
0
1.1k
低レイヤーから始める GUI
fadis
18
12k
Other Decks in Technology
See All in Technology
初めてのDatabricks AI/BI Genie
taka_aki
0
110
意外とあった SQL Server 関連アップデート + Database Savings Plans
stknohg
PRO
0
310
直接メモリアクセス
koba789
0
290
OCI Oracle Database Services新機能アップデート(2025/09-2025/11)
oracle4engineer
PRO
1
120
Ruby で作る大規模イベントネットワーク構築・運用支援システム TTDB
taketo1113
1
270
エンジニアリングをやめたくないので問い続ける
estie
2
1.1k
世界最速級 memcached 互換サーバー作った
yasukata
0
340
【AWS re:Invent 2025速報】AIビルダー向けアップデートをまとめて解説!
minorun365
4
510
[CMU-DB-2025FALL] Apache Fluss - A Streaming Storage for Real-Time Lakehouse
jark
0
110
re:Invent 2025 ~何をする者であり、どこへいくのか~
tetutetu214
0
210
コミューンのデータ分析AIエージェント「Community Sage」の紹介
fufufukakaka
0
480
今からでも間に合う!速習Devin入門とその活用方法
ismk
1
670
Featured
See All Featured
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Building an army of robots
kneath
306
46k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
1
100
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.6k
Raft: Consensus for Rubyists
vanstee
141
7.2k
Building Applications with DynamoDB
mza
96
6.8k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.8k
A Modern Web Designer's Workflow
chriscoyier
698
190k
Facilitating Awesome Meetings
lara
57
6.7k
BBQ
matthewcrist
89
9.9k
How GitHub (no longer) Works
holman
316
140k
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Ͱ࡞ͬͨόΠφϦΛ࣮ߦͰ͖Δ