https://rust.connpass.com/event/133657/
ࣗ࡞ΩʔϘʔυͷ ϑΝʔϜΣΞΛ 3VTUͰॻ͘KOBA789
View Slide
,0#"w ΫοΫύουגࣜձٕࣾज़෦σʔλج൫άϧʔϓw ϝΠϯͷࣄେྔͷσʔλΛ͍͍ײ͡ʹ͢Δ͜ͱ ͱ͍͏͜ͱʹͳ͍ͬͯΔw ࣮ࡍ͓͠Ζͦ͏ͳ͜ͱΛͳΜͰ͍ͬͯΔw ݱࡏ৽ଔ
ࣗ࡞ΩʔϘʔυ
࠷ۙ<͍ͭ >ਓؾͳझຯ<ཁग़య>
https://techlife.cookpad.com/entry/2018/08/14/172130
ฐࣾʹͨ͘͞ΜͷѪՈ͕
Ͱɺ
https://internship.cookpad.com/2019/spring/
Πϯλʔϯγοϓࣗ࡞ΩʔϘʔυίʔε
څྉΒͬͯࣗ࡞ΩʔϘʔυΛ Δ͜ͱʹͳͬͯ͠·ͬͨ
͑Β͍ਓʮόζΒ͍ͤͨʯԶʮ͡Ό͋ΧϦΩϡϥϜաܹʹʯ
݁Ռ
wΜ͚ͩͪΖΜΔw؆୯ͳిࢠճ࿏ΔwϓϦϯτج൘ͷઃܭΔwϑΝʔϜΣΞ3VTUͰॻ͘
ϑΝʔϜΣΞ 3VTUͰॻ͘
1SP.JDSPhttps://www.switch-science.com/catalog/1623/ࣗ࡞ΩʔϘʔυͰҰൠత
1SP.JDSPͷੴ"5NFHB6"5NFHB6"73
3VTUͰ"73ͩΔ͍
ΈࠐΈ3VTU͓͢͢Ί$PSUFY.γϦʔζ "3.3*4$7͡Όͳͯ͘͝ΊΜͳ
௨শCMVFQJMMw 45.'$͕ͬͯΔw 45.'$$PSUFY.w 3".,#w $16$MPDLVQUP.)[w 'MBTI,# ࣮ࡍͳ͔ͥ,#https://wiki.stm32duino.com/index.php?title=File:STM32_Blue_Pill_perspective.jpg
௨শCMVFQJMM͓͍͘Βͩͱࢥ͍·͔͢ https://wiki.stm32duino.com/index.php?title=File:STM32_Blue_Pill_perspective.jpg
௨শCMVFQJMMhttps://wiki.stm32duino.com/index.php?title=File:STM32_Blue_Pill_perspective.jpg
։ൃͷͨΊͷπʔϧ
͍͍ͩͨ 5IF&NCFEEFE3VTU#PPL ʹॻ͍ͯ͋ΔͷͰলུ
ͱ͘ʹศརͳͷΛհ
#MBDL.BHJD1SPCFw 1SPHSBNNFS%FCVHHFSw ιϑτΣΞΦʔϓϯιʔεw ϋʔυΣΞCMVFQJMMͳͲ͕͑Δw ࢲCMBDLQJMMΛͬͯ࡞ͬͨw ϑϦεΫέʔεͰ͍͍ײ͡
cargo runͰ͖Δ ຊೋDemo
HEC͑ΔϒϨʔΫϙΠϯτషΕΔϝϞϦμϯϓͰ͖Δ
println!Ͱ͖ΔDemo
cortex_m_semihosting
ΈࠐΈϓϩάϥϛϯάͰ ආ͚ΒΕͳ͍ͷ
पลػثϖϦϑΣϥϧ
ϖϦϑΣϥϧͷػೳݺͼग़͠ ϨδελΞΫηε
ΞηϯϒϦ /P
JO$ϝʔΧʔ͕ϥΠϒϥϦΛఏڙJO3VTUศརΫϨʔτ͕͋Δ
TWESVTUwΈΜͳ͍͖ͩ͢ίʔυδΣωϨʔλwσόΠεఆٛϑΝΠϧTWE͔ΒwϨδελΞΫηεؔͷίʔυΛు͘
TUNGwTWESVTUͰు͔ΕͨίʔυΛw͍͍ײ͡ʹௐͨ͠ΫϨʔτwTUNGͰ͑Δ
-νΧͱ͔Ͱ͖Δ
͔͠͠ɺ
ΩʔϘʔυͳͷͰ64#)*%Λ ͠ΌΒͳ͍ͱ͍͚ͳ͍
ϨδελΛݸୟ͘͘Β͍Ͱ64#͠ΌΕͳ͍
ް͍64#ͷ༷ॻͱ ް͍64#)*%ͷ༷ॻͱ Ϋιް͍45.ͷ༷ॻΛಡΜͰదͳϨδελɾϝϞϦΛ ͨ͘͞ΜಡΈॻ͖͢ΔίʔυΛॻ͘ඞཁΞϦ
࣮͠·ͨ͠
64#)*%࣮Γ͔ͨw 64#ͷ༷ΛಡΉw 64#)*%$MBTTͷ༷ΛಡΉw 45.'ͷϚχϡΞϧΛಡΉw ͕ۭ݀͘΄ͲಡΉw MJCPQFODNͷίʔυΛࢀߟʹ͢Δw 3VTUͰॻ͘ˠϩδΞφͰݟΔˠ͢w ҎԼ܁Γฦ͠
ԶӦۀ͘Β͍͔͔ͬͨ
͜͜ͰϩδΞφDemo
3VTUؔͳ͍ؾ͕͢Δͳ
ίʔυยΛͪΐͬͱհ
64#ͷ௨৴Ͱ͏όοϑΝ
https://www.stmcu.jp/design/document/reference_manual/51428/IUUQTXXXTUNDVKQEFTJHOEPDVNFOUSFGFSFODF@NBOVBM
͜ΕΛ͍͍ײ͡ʹϞσϦϯά
VolatileCell
VolatileCellw ϝϞϦͷWPMBUJMFΞΫηεΛw ͍͍ײ͡ʹ͢ΔϥΠϒϥϦw std::ptr::read_volatileͱ͔unsafeͰࠔΔ
MJCPQFODNΛ ࢀߟʹ͕ͨ͠ʜʜ
3VTUಛ༗ͷ͠͞w ϓϩτίϧͷ࣮εςʔτϚγϯʹͳΓ͕ͪw εςʔτΛܕ҆શʹ͢Δͷͪΐͬͱίπ͕͍Δw งғؾͰߏ࡞Δͱ్தͰ٧Ήw ݩͷ࣮ΛಡΜͰ$ͷࡶ͞ʹΩϨΔ
͠Γ͖ΕͱΜ΅