Submit Search
Upload
【学習メモ#1st】12ステップで作る組込みOS自作入門
•
7 likes
•
10,026 views
S
sandai
Follow
12ステップで作る組込みOS自作入門 http://www.amazon.co.jp/dp/4877832394/ 坂井 弘亮(著) カットシステム
Read less
Read more
Technology
Report
Share
Report
Share
1 of 28
Download now
Download to read offline
Recommended
【学習メモ#8th】12ステップで作る組込みOS自作入門
【学習メモ#8th】12ステップで作る組込みOS自作入門
sandai
さわってみようTOPPERS/SSP
さわってみようTOPPERS/SSP
NSaitoNmiri
アプリ開発検証はLXC+Ansibleで楽ちんにやろう!
アプリ開発検証はLXC+Ansibleで楽ちんにやろう!
Mutsumi IWAISHI
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Masahito Zembutsu
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
Mr. Vengineer
OCIランタイムの筆頭「runc」を俯瞰する
OCIランタイムの筆頭「runc」を俯瞰する
Kohei Tokunaga
OS入門
OS入門
Shuntaro Saiba
協働ロボットCOROの開発における形式的仕様記述KMLの開発と適用
協働ロボットCOROの開発における形式的仕様記述KMLの開発と適用
Life Robotics
Recommended
【学習メモ#8th】12ステップで作る組込みOS自作入門
【学習メモ#8th】12ステップで作る組込みOS自作入門
sandai
さわってみようTOPPERS/SSP
さわってみようTOPPERS/SSP
NSaitoNmiri
アプリ開発検証はLXC+Ansibleで楽ちんにやろう!
アプリ開発検証はLXC+Ansibleで楽ちんにやろう!
Mutsumi IWAISHI
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Masahito Zembutsu
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
Mr. Vengineer
OCIランタイムの筆頭「runc」を俯瞰する
OCIランタイムの筆頭「runc」を俯瞰する
Kohei Tokunaga
OS入門
OS入門
Shuntaro Saiba
協働ロボットCOROの開発における形式的仕様記述KMLの開発と適用
協働ロボットCOROの開発における形式的仕様記述KMLの開発と適用
Life Robotics
プロセスとコンテキストスイッチ
プロセスとコンテキストスイッチ
Kazuki Onishi
【学習メモ#3rd】12ステップで作る組込みOS自作入門
【学習メモ#3rd】12ステップで作る組込みOS自作入門
sandai
PG-REXで学ぶPacemaker運用の実例
PG-REXで学ぶPacemaker運用の実例
kazuhcurry
ゼロから始める自作 CPU 入門
ゼロから始める自作 CPU 入門
Hirotaka Kawata
Seastar:高スループットなサーバアプリケーションの為の新しいフレームワーク
Seastar:高スループットなサーバアプリケーションの為の新しいフレームワーク
Takuya ASADA
10分で分かるLinuxブロックレイヤ
10分で分かるLinuxブロックレイヤ
Takashi Hoshino
リアルタイムOSの必要性とTOPPERS/SSPの紹介
リアルタイムOSの必要性とTOPPERS/SSPの紹介
NSaitoNmiri
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
Etsuji Nakai
GPU仮想化最前線 - KVMGTとvirtio-gpu -
GPU仮想化最前線 - KVMGTとvirtio-gpu -
zgock
【学習メモ#7th】12ステップで作る組込みOS自作入門
【学習メモ#7th】12ステップで作る組込みOS自作入門
sandai
10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化
Takuya ASADA
CRDT in 15 minutes
CRDT in 15 minutes
Shingo Omura
2011年度 新3年生向け
2011年度 新3年生向け
Yuki Takahashi
ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門
Fixstars Corporation
単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介
AdvancedTechNight
DPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキング
Tomoya Hibi
Dockerクイックツアー
Dockerクイックツアー
Etsuji Nakai
プログラマ目線から見たRDMAのメリットとその応用例について
プログラマ目線から見たRDMAのメリットとその応用例について
Masanori Itoh
Intro to SVE 富岳のA64FXを触ってみた
Intro to SVE 富岳のA64FXを触ってみた
MITSUNARI Shigeo
Onieで遊んでみようとした話
Onieで遊んでみようとした話
Masaru Oki
【学習メモ#6th】12ステップで作る組込みOS自作入門
【学習メモ#6th】12ステップで作る組込みOS自作入門
sandai
C++でできる!OS自作入門
C++でできる!OS自作入門
uchan_nos
More Related Content
What's hot
プロセスとコンテキストスイッチ
プロセスとコンテキストスイッチ
Kazuki Onishi
【学習メモ#3rd】12ステップで作る組込みOS自作入門
【学習メモ#3rd】12ステップで作る組込みOS自作入門
sandai
PG-REXで学ぶPacemaker運用の実例
PG-REXで学ぶPacemaker運用の実例
kazuhcurry
ゼロから始める自作 CPU 入門
ゼロから始める自作 CPU 入門
Hirotaka Kawata
Seastar:高スループットなサーバアプリケーションの為の新しいフレームワーク
Seastar:高スループットなサーバアプリケーションの為の新しいフレームワーク
Takuya ASADA
10分で分かるLinuxブロックレイヤ
10分で分かるLinuxブロックレイヤ
Takashi Hoshino
リアルタイムOSの必要性とTOPPERS/SSPの紹介
リアルタイムOSの必要性とTOPPERS/SSPの紹介
NSaitoNmiri
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
Etsuji Nakai
GPU仮想化最前線 - KVMGTとvirtio-gpu -
GPU仮想化最前線 - KVMGTとvirtio-gpu -
zgock
【学習メモ#7th】12ステップで作る組込みOS自作入門
【学習メモ#7th】12ステップで作る組込みOS自作入門
sandai
10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化
Takuya ASADA
CRDT in 15 minutes
CRDT in 15 minutes
Shingo Omura
2011年度 新3年生向け
2011年度 新3年生向け
Yuki Takahashi
ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門
Fixstars Corporation
単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介
AdvancedTechNight
DPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキング
Tomoya Hibi
Dockerクイックツアー
Dockerクイックツアー
Etsuji Nakai
プログラマ目線から見たRDMAのメリットとその応用例について
プログラマ目線から見たRDMAのメリットとその応用例について
Masanori Itoh
Intro to SVE 富岳のA64FXを触ってみた
Intro to SVE 富岳のA64FXを触ってみた
MITSUNARI Shigeo
Onieで遊んでみようとした話
Onieで遊んでみようとした話
Masaru Oki
What's hot
(20)
プロセスとコンテキストスイッチ
プロセスとコンテキストスイッチ
【学習メモ#3rd】12ステップで作る組込みOS自作入門
【学習メモ#3rd】12ステップで作る組込みOS自作入門
PG-REXで学ぶPacemaker運用の実例
PG-REXで学ぶPacemaker運用の実例
ゼロから始める自作 CPU 入門
ゼロから始める自作 CPU 入門
Seastar:高スループットなサーバアプリケーションの為の新しいフレームワーク
Seastar:高スループットなサーバアプリケーションの為の新しいフレームワーク
10分で分かるLinuxブロックレイヤ
10分で分かるLinuxブロックレイヤ
リアルタイムOSの必要性とTOPPERS/SSPの紹介
リアルタイムOSの必要性とTOPPERS/SSPの紹介
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
GPU仮想化最前線 - KVMGTとvirtio-gpu -
GPU仮想化最前線 - KVMGTとvirtio-gpu -
【学習メモ#7th】12ステップで作る組込みOS自作入門
【学習メモ#7th】12ステップで作る組込みOS自作入門
10GbE時代のネットワークI/O高速化
10GbE時代のネットワークI/O高速化
CRDT in 15 minutes
CRDT in 15 minutes
2011年度 新3年生向け
2011年度 新3年生向け
ARM CPUにおけるSIMDを用いた高速計算入門
ARM CPUにおけるSIMDを用いた高速計算入門
単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介
DPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキング
Dockerクイックツアー
Dockerクイックツアー
プログラマ目線から見たRDMAのメリットとその応用例について
プログラマ目線から見たRDMAのメリットとその応用例について
Intro to SVE 富岳のA64FXを触ってみた
Intro to SVE 富岳のA64FXを触ってみた
Onieで遊んでみようとした話
Onieで遊んでみようとした話
Viewers also liked
【学習メモ#6th】12ステップで作る組込みOS自作入門
【学習メモ#6th】12ステップで作る組込みOS自作入門
sandai
C++でできる!OS自作入門
C++でできる!OS自作入門
uchan_nos
組込みOSを作ってみよう!(オープンソースカンファレンス内セミナー資料)
組込みOSを作ってみよう!(オープンソースカンファレンス内セミナー資料)
kozossakai
【学習メモ#9th】12ステップで作る組込みOS自作入門
【学習メモ#9th】12ステップで作る組込みOS自作入門
sandai
【学習メモ#5th】12ステップで作る組込みOS自作入門
【学習メモ#5th】12ステップで作る組込みOS自作入門
sandai
【学習メモ#4th】12ステップで作る組込みOS自作入門
【学習メモ#4th】12ステップで作る組込みOS自作入門
sandai
30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば
30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば
Hirotaka Kawata
やってよかったOS作り
やってよかったOS作り
Hidemi Kawai
低レイヤー入門
低レイヤー入門
demuyan
アセンブラ漢文
アセンブラ漢文
kozossakai
【2000行弱!】x86用自作カーネルの紹介
【2000行弱!】x86用自作カーネルの紹介
Yuma Ohgami
ハッキング実演
ハッキング実演
Ken Ogura
RoadAR v.2.3 english
RoadAR v.2.3 english
Евгений Никольский
バイナリで遊ぼう(オープンソースカンファレンス2014 Tokyo/Fall ライトニングトーク)
バイナリで遊ぼう(オープンソースカンファレンス2014 Tokyo/Fall ライトニングトーク)
kozossakai
コンピュータビジョン 1章
コンピュータビジョン 1章
motimune
数理的に組み込みソフトを開発する方法入門
数理的に組み込みソフトを開発する方法入門
Toshiyuki Fujikura
【学習メモ#11th】12ステップで作る組込みOS自作入門
【学習メモ#11th】12ステップで作る組込みOS自作入門
sandai
組込みにおけるHTML5
組込みにおけるHTML5
Tomo Watanabe
オープンアーキテクチャ,オープンソースソフトウェア時代の標準化フレームワークを使用したプロジェクトマネジメント
オープンアーキテクチャ,オープンソースソフトウェア時代の標準化フレームワークを使用したプロジェクトマネジメント
Daisuke Nishino
OSC東京(2014年10月)
OSC東京(2014年10月)
joeswebhosting
Viewers also liked
(20)
【学習メモ#6th】12ステップで作る組込みOS自作入門
【学習メモ#6th】12ステップで作る組込みOS自作入門
C++でできる!OS自作入門
C++でできる!OS自作入門
組込みOSを作ってみよう!(オープンソースカンファレンス内セミナー資料)
組込みOSを作ってみよう!(オープンソースカンファレンス内セミナー資料)
【学習メモ#9th】12ステップで作る組込みOS自作入門
【学習メモ#9th】12ステップで作る組込みOS自作入門
【学習メモ#5th】12ステップで作る組込みOS自作入門
【学習メモ#5th】12ステップで作る組込みOS自作入門
【学習メモ#4th】12ステップで作る組込みOS自作入門
【学習メモ#4th】12ステップで作る組込みOS自作入門
30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば
30日でできない!コンピューター自作入門 - カーネル/VM探検隊@つくば
やってよかったOS作り
やってよかったOS作り
低レイヤー入門
低レイヤー入門
アセンブラ漢文
アセンブラ漢文
【2000行弱!】x86用自作カーネルの紹介
【2000行弱!】x86用自作カーネルの紹介
ハッキング実演
ハッキング実演
RoadAR v.2.3 english
RoadAR v.2.3 english
バイナリで遊ぼう(オープンソースカンファレンス2014 Tokyo/Fall ライトニングトーク)
バイナリで遊ぼう(オープンソースカンファレンス2014 Tokyo/Fall ライトニングトーク)
コンピュータビジョン 1章
コンピュータビジョン 1章
数理的に組み込みソフトを開発する方法入門
数理的に組み込みソフトを開発する方法入門
【学習メモ#11th】12ステップで作る組込みOS自作入門
【学習メモ#11th】12ステップで作る組込みOS自作入門
組込みにおけるHTML5
組込みにおけるHTML5
オープンアーキテクチャ,オープンソースソフトウェア時代の標準化フレームワークを使用したプロジェクトマネジメント
オープンアーキテクチャ,オープンソースソフトウェア時代の標準化フレームワークを使用したプロジェクトマネジメント
OSC東京(2014年10月)
OSC東京(2014年10月)
Similar to 【学習メモ#1st】12ステップで作る組込みOS自作入門
NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成
NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成
Izumi Tsutsui
ASP.NET vNextの全貌
ASP.NET vNextの全貌
A AOKI
RTミドルウェアによるロボットプログラミング技術 2.プログラミングの基礎
RTミドルウェアによるロボットプログラミング技術 2.プログラミングの基礎
Noriaki Ando
20230128.pptx
20230128.pptx
ssuserdad311
OpenCV2.2 Install Guide ver.0.5
OpenCV2.2 Install Guide ver.0.5
Tsukasa Sugiura
サーバー設定自動化は経営課題
サーバー設定自動化は経営課題
Maho Takara
Newcomer2020 Docker研修
Newcomer2020 Docker研修
Suguru Yazawa
もろもろの AI ツールを Windows のローカル環境にインストールする手順
もろもろの AI ツールを Windows のローカル環境にインストールする手順
Hide Koba
Nseg20120825
Nseg20120825
hiro345
CMake multiplatform build-tool
CMake multiplatform build-tool
Naruto TAKAHASHI
ソフトウェア工学2023 14 ビルド
ソフトウェア工学2023 14 ビルド
Toru Tamaki
Building production server on docker
Building production server on docker
Hiroshi Miura
Building production server on docker
Building production server on docker
Hiroshi Miura
Windows Azure PHP Tips
Windows Azure PHP Tips
Microsoft Openness Japan
はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入
Yu Nobuoka
第一回コンテナ情報交換会@関西
第一回コンテナ情報交換会@関西
Masahide Yamamoto
Yocto Project ハンズオン / 参加者用資料
Yocto Project ハンズオン / 参加者用資料
Nobuhiro Iwamatsu
181106 02
181106 02
openrtm
Cell/B.E. プログラミング事始め
Cell/B.E. プログラミング事始め
You&I
Docker ComposeでMastodonが必要なものを梱包する話
Docker ComposeでMastodonが必要なものを梱包する話
Masahito Zembutsu
Similar to 【学習メモ#1st】12ステップで作る組込みOS自作入門
(20)
NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成
NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成
ASP.NET vNextの全貌
ASP.NET vNextの全貌
RTミドルウェアによるロボットプログラミング技術 2.プログラミングの基礎
RTミドルウェアによるロボットプログラミング技術 2.プログラミングの基礎
20230128.pptx
20230128.pptx
OpenCV2.2 Install Guide ver.0.5
OpenCV2.2 Install Guide ver.0.5
サーバー設定自動化は経営課題
サーバー設定自動化は経営課題
Newcomer2020 Docker研修
Newcomer2020 Docker研修
もろもろの AI ツールを Windows のローカル環境にインストールする手順
もろもろの AI ツールを Windows のローカル環境にインストールする手順
Nseg20120825
Nseg20120825
CMake multiplatform build-tool
CMake multiplatform build-tool
ソフトウェア工学2023 14 ビルド
ソフトウェア工学2023 14 ビルド
Building production server on docker
Building production server on docker
Building production server on docker
Building production server on docker
Windows Azure PHP Tips
Windows Azure PHP Tips
はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入
第一回コンテナ情報交換会@関西
第一回コンテナ情報交換会@関西
Yocto Project ハンズオン / 参加者用資料
Yocto Project ハンズオン / 参加者用資料
181106 02
181106 02
Cell/B.E. プログラミング事始め
Cell/B.E. プログラミング事始め
Docker ComposeでMastodonが必要なものを梱包する話
Docker ComposeでMastodonが必要なものを梱包する話
Recently uploaded
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
Recently uploaded
(9)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
【学習メモ#1st】12ステップで作る組込みOS自作入門
1.
12ステップで作る組込みOS自作入門
1stステップ @sandai
2.
【参考書籍】 12ステップで作る組込みOS自作入門 【内容】 1ステップずつ、実際に動かしながらプログラムを発展さ せていく方式で無理なく学べる。OSやハードウェアに詳 しくない方にも理解できるよう に十分な説明を提供 坂井 弘亮(著) カットシステム(2010/5) 【税込価格】 4,410円 【サポートページ】 http://kozos.jp/books/makeos/
3.
もくじ 1.開発環境の構築 for MacOSX
– ハード編 – ソフト編 2.Hello Worldの表示 3.まとめ
4.
1. 開発環境の構築 for
Mac OSX
5.
ハード編 ●
MacBook airならこれだけ必要
6.
用意するもの ●
MacBook air : OSX Lion10.7.4 ● H8/3069Fマイコン・ボード ● 電源アダプタ ● シリアル・ケーブル ● USBシリアル・アダプタ – シリアル・コネクタが無いPCには必要 – 次ページで紹介しているアダプタ以外で動作確認は していない
7.
用意する手段 ●
書籍も含めて一括で購入 – http://www.cutt.co.jp/toppage/sub_kumikomiset.html ● USBシリアル・アダプタは別売り – http://www.amazon.co.jp/dp/B007SI18YO/ – Mac用のドライバも必要 ● http://www.ftdichip.com/Drivers/VCP.htm 全部でだいたい11000円強。USBシリアル・アダプ タはコネクタがあれば必要ない。(MacBook airに は無いので必要)
8.
ソフト編 ●
大まかに必要なのは以下の4つ – セフル・コンパイラ – クロス・コンパイラ – h8write – 端末エミュレータ ● Macであればターミナルが使える
9.
セルフ・コンパイラ ●
プログラムの開発環境と実行環境が同一になる 開発がセルフ開発 ● セルフ開発に用いるコンパイラをセルフ・コン パイラと言う
10.
セルフ・コンパイラの構築 ●
Mac OSX Lionはセルフ・コンパイラは特に必要 な作業はなかった ● とりあえず以下が必要。バージョンは書籍の通 り – binutils-2.19 – gcc-4.4.1 – make-1:3.81
11.
クロス・コンパイラ ●
プログラムの開発環境と実行環境が異なる(組 込み機器で動作)開発がクロス開発 ● クロス開発に用いるコンパイラをクロス・コン パイラと言う
12.
クロス・コンパイラの構築 ●
用意するもの – binutils-2.19.1.tar.gz ● binutils-2.21.1以降に問題があるので2.19.1を使っている – gmp-5.0.5.tar.bz2 – mpc-0.9.tar.gz – mpfr-3.1.1.tar.gz – gcc-4.7.1.tar.bz2 ● 参考URL – http://d.hatena.ne.jp/satfy/20101226 – http://d.hatena.ne.jp/cococh1/20120219/1329642986
13.
h8write ●
フラッシュROM書き込みツール – http://mes.sourceforge.jp/h8/writer-j.html ● gccでコンパイルするだけ – gcc -Wall -o h8write h8write.c
14.
クロス・コンパイラの構造 ●
最終的に以下のようなディレクトリ構造となっ た – $HOME/12step/tools/ ● bin ● h8300-elf ● h8write ● lib ● … ● … ● toolsのbinにはパスを通しておく – PATH=${HOME}/12step/tools/bin:$PATH
15.
端末エミュレータ ●
もともと入っているターミナルを使えば良い – アプリケーション>ユーティリティ>ターミナルに ある
16.
2. Hello Worldを表示
17.
ソースコード作成 ●
以下のディレクトリ構造で作成 – ~/12step/ ● tools(クロス・コンパイラ) ● src(ソースコード) – 01 ● bootload ● main.c ● startup.s ● vector.c ● … ● … ● Makefile
18.
ファイルの説明 ●
main.c main関数と「Hello World!」の出力 ● startup.s スタートアップ(アセンブラ) ● vector.c 割り込みベクタ定義 ● lib.h lib.c 各種ライブラリ関数 ● serial.h serial.c シリアル・デバイス・ドライバ ● defines.h 様々な型の定義など ● ld.scr リンカ・スクリプト ● Makefile
19.
ソースコード修正点 ●
Makefile周りは自分の環境に合わせて修正 – binのパス – シリアル接続先のパス ● ここで紹介しているものであれば、接続された状態で ls /dev/tty.*をたたいて表示され た/dev/tty.usbserial〜がシリアルポートにあたる
20.
make ●
問題が無ければこうなる /Users/sandai/12step/src/01/bootload% make ~/12step/tools/bin/h8300-elf-gcc -c -Wall -mh -nostdinc -nostdlib -fno-builtin -I. -Os -DKZLOAD vector.c ~/12step/tools/bin/h8300-elf-gcc -c -Wall -mh -nostdinc -nostdlib -fno-builtin -I. -Os -DKZLOAD startup.s ~/12step/tools/bin/h8300-elf-gcc -c -Wall -mh -nostdinc -nostdlib -fno-builtin -I. -Os -DKZLOAD main.c ~/12step/tools/bin/h8300-elf-gcc -c -Wall -mh -nostdinc -nostdlib -fno-builtin -I. -Os -DKZLOAD lib.c ~/12step/tools/bin/h8300-elf-gcc -c -Wall -mh -nostdinc -nostdlib -fno-builtin -I. -Os -DKZLOAD serial.c ~/12step/tools/bin/h8300-elf-gcc vector.o startup.o main.o lib.o serial.o -o kzload -Wall -mh -nostdinc -nostdlib -fno-builtin -I. -Os -DKZLOAD -static -T ld.scr -L. cp kzload kzload.elf ~/12step/tools/bin/h8300-elf-strip kzload
21.
フラッシュROMに書き込み ●
make imageで実行ファイルをフラッシュROMに 書き込める「モトローラSレコード・フォー マット」に変換 ● ディップ・スイッチをフラッシュROM書き込み モードにする(on on off on) ● あとはmake writeで書き込み
22.
書き込みがうまくいかない ●
make writeがうまくいかない – 対処 ● シリアルケーブルを接続し直す ● PCを再起動 ● それでもうまくいかない場合はkz_h8writeを使 う ● kz_h8write ● kz_h8write-v0.1.0/src% makeで実行ファイルが得られるので、指定 の位置に置いてmake write
23.
kz_h8writeがうまくいった例 /Users/sandai/12step/src/01/bootload% make write ../../../tools/kz_h8write
-3069 -f20 kzload.mot /dev/tty.usbserial-FTG6PQ4H ================================================= H8/3069F Flash Writer for KOZOS (Version 0.1.0) Copyright(C) 2011-2012 Shinichiro Nakamura ================================================= Bitrate sequence: Done. Inquiry device: Done. Select device: Done. Inquiry clock mode: Done. Select clock mode: Done. Select bitrate: Done. Waiting for erase done:............ Programming:..... Program: Done. Complete.
24.
マイコン起動 ●
フラッシュROMに書き込んだらディップ・ス イッチを起動モードにする(on off on off) ● この状態で電源を入れるかリセットスイッチを 押す ● シリアル接続 – sudo cu -l /dev/tty.usbserial-FTG6PQ4H
25.
シリアル接続でHello World /Users/sandai/12step/src/01/bootload% sudo
cu -l /dev/tty.usbserial-FTG6PQ4H Connected. Hello World! Hello World! ← リセット・ボタンを押す度にこれが表示される ~. Disconnected.
26.
3. まとめ
27.
まとめ ●
開発環境の作成 ● ソースコードの作成 ● Hello Worldのサンプルを動作させる ● といったことをやった ● 2rd以降で詳しい説明が入ると思うから、この まま進めやっていく
28.
メモ ●
組込み機器で動作する実行ファイルを「ファー ムウェア」と呼ぶ ● マイコンのフラッシュROMに書き込むにはELF形 式(デフォルトの実行ファイル形式かな)ではな く、「モトローラSレコード・フォーマット」 でなければならない – objcopyでできた
Download now