組み込みLinux導入編

冒頭から逃げを書いておきますが・・・
手探り状態、読者対象が具体的に見えない状況下で記載を始めます。
昨今、マトモな出版物も増えてきているので、需要がないかもしれませんが、少しでも道標になれば幸いです。

しかしこれ、Linux関係にまとめていくほうが良さそうですね。
とりあえずの導入として、これだけトップ側に記しておきます。

Linux OSを用いた開発

以前までは、組み込みといえばuITRON系のRTOSが幅をきかせていましたが、
プロセッサ能力向上・メモリ単価の減少、要求要件の拡大などの要因により、
見直されてきているように思います。
最も影響があるのはNetwork Protocol Stackや、複数プラットフォームで共通的に使えるソフトでしょう。

もちろん、ITRON系のリソースも現役です。少ないROM/RAM、軽量なマイコンでも動くので、住み分けができるでしょう。
より低機能であればOSレスもありますし、畑は広大です。

さておき、ひとことでLinux OS開発といっても、OSはもよとり、コンパイラ・アセンブラ・リンカその他ツール類すべてがOpen Source Softwareを使用します。自らソースコードを元に開発環境や実行環境を用意することができます。MicrosoftのVisual Cのように、コンパイラに対価を支払うのとは対照的ですが、何か問題が起きたとき、起きそうなとき、それを知るための方法を、どのように確保するのか、が課題となります。これを商売にしている会社もありますね。

構成

以下に、クロス開発環境を前提としたソフトの構成例を記します。
開発ツールを買えば、裏ではこれらのソフトを準備してくれたりします。
MSDOSやWindows、商用UNIXでやってきた方には、高い金でコンパイラや統合開発環境を買った記憶があることでしょう。

Linux_SW_001.png


黄色い部分が、ターゲットに載せるべきものです。
右下にある、libraryを除く開発ツールは、必須ではありません。必要に応じてセルフ開発環境やデバッグツールを取り込むのがよいでしょう。

ubuntoやdebianの各arch向けディストリを使う場合は、セルフ環境も必要になりそうな気はします。いや、基本はバイナリインストールになっているしょうか。

ベンダ提供

あえてドライバ・アプリのところへ、ベンダ提供~を記載しました。
実務で使っていると、必ずしもすべてをopenにしているのでは無いですから、ね。各社の製造ソフトに関しても、GPL伝播していないものは公開義務を負いませんから公開されることは無いです。GPLv2までの場合は、その再配布責任を追うことから、なんらかの手段で製品で使用したtarballなどの提供を受けることができます。
液晶テレビ・レコーダ・STB・そのほかそれっぽい家電の説明書を眺めてみれば、Open Source使用の旨と、その製品で使用したものの入手方法が記載されているでしょう。
尤も、オンラインでさくっと手に入るところもあれば、電話問い合わせ・郵送による配送もあります。
エンドユーザから公開の依頼が頻繁にはないのでしょう、かねぇ?

ライセンスの話が出てきましたが、これだけで深いネタになります。
僕も把握しきれておらず、法的な問題になる場合は判例を調べた上で判断したほうが良いでしょう。
個人で楽しむ分にも、価値が認められ、公開義務を追うような作りをした場合は、開示を迫る人がでてくるかもしれません。

toolchain

いわゆるコンパイル環境、です。ソースコードをターゲットで動くバイナリに変換します。
最近は LLVMというのが注目を集めているようです?

汎用性を考慮されたソフトの配布では、Makefileを利用していることでしょう。
また、autoconfや独自のconfigrationツールを用意して、buildするホスト環境差分を自動的に検出・適切に変更するような手段を提供しています。

しばらくしてわかったこと

何事も過去の経緯を知ることが理解への早道に繋がることがあります。同じようなものがなぜ複数存在するのか、ディストリビューションのそれぞれの目的、本当に全てが無料なのか。製品に搭載するために必要なことは?などなど。いまだにわからない事だらけですが、所詮個人がわかる範囲なんてのはしれてるわけで。

必要なとき、必要なところで、短時間でほしい情報に辿りつけるハナ・直感力を持てるようにしておくのが、対策となろうかと思います。もしくは大まかに畑を分割して、担当範囲を分けておくか、です。ですよね・・・?
後半は妄想でしかないので...

2013/04/14(日)国外からの攻撃

どうも、不正アクセスが頻繁に行われている模様。
cgi見つけては、テキトウに引数?つけて呼びつけてくると云う。

で、IPでググってみると、SPAM listがゴロゴロしてる。
中華フィルタを作らないとなぁ、とtweetしていたら、
六四天安門フィルターなるものがあるらしい。

この文字列があると、某国からはアクセスブロックされるらしい・・・。
いいすね、それ。ちょっとコレで様子見てみようw

2013/03/13(水)TLブクマ

twitterで流れるURLを記録しておくために記載していくことにします。
どこかで力尽きそうな悪寒はする。。

確定申告ネタ

季節柄あがってくる話題です。僕には無関係な状態であり、副収入は希望しているけれども
まったく手が出せないという。アプリはユーザが楽しめないと手にとってもらえませんからねぇ。
将来使うかな?程度に参考で。設計部門でも、経理は知っていた方がいいでしょうからね(無知

※参照先URLが消失したため削除..

Android入門

Linux Foundationの記事:How to Draw a 2D Object in Android With a Canvas

Androidで描画するサンプル。チュートリアル見れば判る内容ですが、一枚物?で見えるので引用。
基本はコレだろうけれど、更新頻度を上げていくとノウハウや違う方法を採る必要があるんでしょうなぁ。

Raspberry

"[Raspberry Pi]Dropboxをコマンドラインから操作する"
andreafabrizi/Dropbox-Uploader · GitHubを利用する紹介記事。
コマンドラインからDrop boxファイルのアクセスを行う事例。これもAndroidアプリに流用できそうですね。
有料化のベネフィットとして、クラウド連携を提供するアプリもある模様です。

APIや仕様が変わる都度、対応が必要となるので、ファンサービスでやっていくのはキビシイでしょう。
オレオレアプリで、ついでに公開する、ならば、良いのかもしれません。

freesoftwareって元々はそういうモノのハズで、消費だけするユーザが蔓延して来たのが現状でしょうか。
本家で配布している時点で、覚悟が必要ってコトかなぁ。apkでばらまいて、野良アプリって道もある気はするネ。

2013/03/10(日)さくらインターネットVPSへの移行

サーバ移行

自宅サーバの保守メンテ回線契約の都合もあり、価格の安くなっているVPSへ移行することにしました。

更新頻度は…。ねぇ、ここしばらく見てきたネタを挙げていきたいところですが、
具体的内容は避けないとマズイので、一般的な部分だけに絞る手間がねぇ。

適当なLinux Boxで追検証する感じで載せていくのが良いかもデスネ。
あとは時間。。