こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Androidファームウェアとソースコードの違い

androidのファームウェアとソースコードの違いを知りたくて質問させて頂きました。
現在Asusのfonepad note6 というandroid端末を利用しています。ANDROID 4.4にアップデートするために自分の端末は自動でアップデートが降ってこないためASUSサイトからファームウェアをダウンロードしてSDカードに入れて手動でアップデートしなければなりません。

そのAsusのサイトのなかにファームウェアの他にソースコードという項目がありグローバル版のみですが以前のバージョンのものが記載されています。

ファームウェアはアップデートするために使うということはわかったのですがソースコードが何のために使うのかいまいちわからなかったのでご質問させて頂きました。

どなたかご存知の方がいらっしゃいましたらご教授頂けるとうれしいです。

よろしくお願いします。

投稿日時 - 2014-11-26 17:11:24

QNo.8838129

暇なときに回答ください

質問者が選んだベストアンサー

>【ソースコードについて】
No.3の方が書かれている通り、Androidはオープンソースのため規定に従って公開義務があるソースコードを公開しているのです。
あなた自身にソースコードからOSを作り上げるスキルがあれば、好きなように改変して自分のスマホに入れて使う事が可能です。


>【ファームウェアについて】
スマホの場合、PCで言うBIOSとOSが一式となったモノがファームウェアとして公開されています。
どこまでをファームウェアと呼ぶかはケースバイケースなので、スマホの場合はOSも含めてファームウェアなのです。
ルーターなんかでも、BIOS・OS・設定機能のプログラムやルーティング処理のプログラムなど全部まとめてファームウェアと呼んでます。
Windowsに例えるなら、PCのBIOSと一緒にアップデート版の新OSをDVDからインストールするような感じです。

投稿日時 - 2014-11-26 22:07:35

お礼

回答ありがとうございます。身近に使っているAndroidについてあまり理解していなかったので、気になってご質問させて頂きました。また一つAndroidのことが理解できました。
あとはそのソースコードをどうやって自分のAndroid端末に入れていくのかを自分なりに調べてみたいと思います。ありがとうございました。

投稿日時 - 2014-11-29 11:35:01

ANo.4

このQ&Aは役に立ちましたか?

7人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.3

AndroidOSはオープンソースなライセンスなので、改変したものを配布する場合、ソースコードの公開を求められればソースコードを公開する義務があります。
http://ja.wikipedia.org/wiki/Android#.E3.83.A9.E3.82.A4.E3.82.BB.E3.83.B3.E3.82.B9
ASUSは自社のデバイス用にカスタマイズしているので、公開する義務があるのですが、いちいち個別に対応していたら面倒なので、誰でもダウンロードできるように公開しているのでしょう。

>ファームウェアはアップデートするために使うということはわかったのですがソースコードが何のために使うのかいまいちわからなかったのでご質問させて頂きました。
上記の理由と、自分でカスタマイズできるユーザー用でしょう。
普通の人には関係ないです。

投稿日時 - 2014-11-26 18:44:24

補足

お礼の言葉を書くのをわすれてました〉〈
回答ありがとうございます。ちょっとずつですが理解できてきました。

投稿日時 - 2014-11-26 21:28:43

お礼

【ファームウェアについて】
Shintaro-2さんがおっしゃるように「ファームウェアとは、ハードの基本的な動作(Andoroid OSが動く以前の状態)を制御するためのプログラム」だとは思うのですがAsusのスマホの場合このファームウェアをダウンロードしてOSを4.2から4.4に上げます。これをwindowsに当てはめるとハードウェアをアップデートするとwindows8からwindows8.1に上げられるということになってしまいます。

今の自分の理解だとこの「ファームウェア」というのはスマホ内のハードウェアを4.4に対応するようにアップデートし、かつOSのバージョンをアップするプログラムも含まれているものという理解で良いでしょうか?

【ソースコードについて】
android OSがクラッシュした時、このソースコードを使って初期化することも可能なのでしょうか?その時はAndroidSDKなどを使わなければならないのでしょうか?

投稿日時 - 2014-11-26 21:25:28

ANo.2

ソフトウェアを開発するとき、CPUが理解できるマシン語でプログラムを書くのは非常に手間がかかり難しい作業になってしまいます。
そのため通常は人間が理解しやすいプログラミング言語を使ってプログラムを書き、コンパイルと言う作業を行ってCPUが理解できるマシン語に変換します。
その変換前のプログラムを一般的にソースコードと読んでいます。

ファームウェアはいろいろな種類があるソフトウェアのうち、電子機器の動作の元となるソフトウェアをファームウェアと呼んでいます。
スマホだけではなく、ルーターや無線LAN親機などにインストールするソフトウェアもファームウェアと呼びます。

投稿日時 - 2014-11-26 17:32:44

お礼

【ソースコードについて】
ASUS のサイトにこのスマホのソースコードが公開されているのですがこれは何か自分で改変して自分が使っているスマホに入れて使うということも可能なのでしょうか?例えばOSがクラッシュした時にインストールできたりとか。どのように、どんなシチュエーションで使えるもの簡単にでもよいので教えていただけるとうれしいです。

【ファームウェアについて】
ファームウェアとはハードウェアに対してのものだとは思うのですが、AsusのこのスマホだとファームウェアをSDカードに入れてOSを4.2から4.4に上げます。Windowsならこんなことないですよね?ファームを上げたからと言ってwindows8からwindows8.1になるようなことは。これがどういうことかいまいち理解できません。

投稿日時 - 2014-11-26 21:42:55

ANo.1

>ファームウェアはアップデートするために使うということはわかったのですがソースコードが何のために使うのかいまいちわからなかったのでご質問させて頂きました。

ファームウェアとは、ハードの基本的な動作(Andoroid OSが動く以前の状態)を制御するためのプログラム

ソースコードとは、何らかのプログラムの中身(マシン語とかC言語とかで記述された、プログラムの各行のこと)

プログラムを見る時の観点が違います。

投稿日時 - 2014-11-26 17:30:55

お礼

ファームウェアとはハードウェアに対してのものだとは思うのですが、AsusのこのスマホだとファームウェアをSDカードに入れてOSを4.2から4.4に上げます。Windowsならこんなことないですよね?ファームを上げたからと言ってwindows8からwindows8.1になるようなことは。これがどういうことかいまいち理解できません。

あとソースコードはAsusのサイト上で公開されています。このソースコードを使ってどのように、どんなことができるのか知りたいなと思って質問させて頂きました。例えばandroidOSの初期化など。

投稿日時 - 2014-11-26 21:36:49

あなたにオススメの質問