ないなら作ろう。あっても作ろう。

主に制御工学やコンピュータについてのいろいろな話題を書いていきます。時期によっては内容が偏ることもあります。

チーム開発環境の整備(ワークフロー)

ブログを復活させたわけですが、本格的に動き出す前に開発環境を整備したいと思います。

というのも先日私が研究室にいたときの後輩と久しぶりに会いまして食事をしたのですが、研究室(後輩と私はWebシステムに関する研究を行う研究室に所属しておりました)で学んだ知識を無下にするのももったいないということで、自分達で使えるWebシステムを一緒に作ろうという話になりました。

とは言ってもお互いに住んでいる場所は離れているため、リモートでかつ共有して使える開発環境が欲しくなったという次第であります。

GitHub Flow

とりあえずGitHub社が採用しているワークフローであるGitHub Flowに沿った開発環境を構築することにしました。

GitHub Flowについては以下の本を参考にしました

GitHub Flowhttps://www.amazon.co.jp/GitHub実践入門-Pull-Requestによる開発の変革-PRESS-plus/dp/477416366X

個人的な感想としてはみんなでリポジトリを触ってもmasterブランチだけは壊さないようにするためのGitHubで提供されている各種機能の使い方とその手順というような感じだと思いました。

GitHub Flowに沿って開発を行うためには以下のツールが必要なようです

  • CIツール
  • デプロイツール

CIツールとデプロイツールについては現在調べている途中です(現状だとCircleCIが良さそう)

 

ブログを再開したいと思います

最後のブログを更新してからかなりの時間が経過しました。

もし私のブログをはるか昔に読まれていた方がいらっしゃいましたらお詫びさせていただきます。途中で更新を放り出してしまい大変申し訳ありませんでした。

私の方はあれからいろいろありまして、今年の4月から某電機メーカーの技術者として働くことになりました。

社会人として働くにあたり、自分が習得した知識について振り返ってみたところ、恥ずかしながらあまりに中途半端な知識しか身に着けていないことに気づきまして、勉強をやり直す必要があると感じている次第であります。

だらだらと続けて結論が見えないですね。つまり、このブログを再開しようと考えております。具体的には私の勉強の内容をまとめる備忘録としてこのブログを機能させたいと考えております。

とりあえず、以前の更新から放置してしまったリアルタイムOSの勉強から手をつけたいと考えております。

さらに、制御工学、FPGA、WEBと私の勉強の記録を幅広く残していきたいと思うので、これらの分野に興味のある方で時間に余裕のある方は、私自身未熟者ですので、記事を読んで批評していただくと助かります。

 

それでは、よろしくお願いします。

まずはkozos上ででいろいろやってみる

あらかた雑用も終わったので、kozos-inspireの制作に入っていこうと思う。早速前回考えていた機能を追加していきたいところだが、正直な話ファイルシステムの実装とか言ってもファイルシステム自体まだ良くわかっていないような状態(わかってないのに実装するとか言うな!って感じですけど、私は概要だけささっと見て面白そうだなと思ったらとりあえずやりたくなっちゃうたちなので・・・)なので、まずは既存のkozos上でデキることで遊んでみたいと思う。とりあえずなにをしようかいろいろ考えていたところ、以前kozosでwebサーバを動かした時に不便だなぁと感じた点があったことを思い出した。それは何かというとhtmlファイルの追加・変更まわりの機能である。従来のkozosだとソースコードに直接htmlの内容を書き込んでH8に転送し直さなくてはならなかった。この手間を省くためにSDカードからhtmlファイルを読み込んだり管理したりするためにmkdirやlsとかcatとかのコマンドを追加したいと思ってる。実際に動かすことで仕組みも自ずとわかってくると思うのでとりあえずやってみる。

 

自作組み込みOS、kozos-inspireのコンセプトについて

夏休みに入ったはいいが、先輩にリンカスクリプトの講座を頼まれたり下級生の手伝いをしたりと何かと雑用が多くて思うように組み込みOS製作が進められずもやもやしてます・・・。まぁ愚痴を言ってもしょうがないので今できることからやっていこうと思う。とりあえずどんなOSにするかはっきりと決めていなかったので今ある考えを文章に起こして整理してみたいと思う。ちなみに作るOSの名前はまだ決まってません。kozosをベースに作るので暫定的にkozos-inspireと呼びたいと思います。

まず、どんなOSを作りたいかというところから整理してみる。とりあえず今考えていることをざっと書いてみると、こんな感じになる

 

  1. みんなが使いやすいOS
  2. ハードの深いところまで自由に制御できるようなOS
  3. マイコンで気軽にスレッドプログラミングができるようになるOS
  4. データの取り扱いが容易なOS
  5. 他の組み込み機器を用意に扱えることができるOS

 

1と2に関しては抽象的な言い方でなにをしたらいいかはっきり見えてこないかもしれないがこれから作るOSの核となる重要なテーマである。ざっくり言うとわたしは今回UbuntuとかDebianのような組み込みOSを作りたいと思っているのです(ちょっとわかりずらいたとえかもしれないけど)。どういうことか説明するために例として二つのOSとしてWindowsFreeBSDを挙げたいと思う。独断と偏見が混じった見解なので間違ったこと言ってるかもしれないがそこらへんはご容赦ください。

まず、Windowはマウス操作ひとつでほとんどのことができて便利な一方、自分が自由に制御できる機能はだいぶ制限されてしまうOSである。次に、FreeBSDは、コンピュータの下層の部分まで大方自由に制御できる反面、ユーザインターフェースがCUIしかないところなどが初心者にはきついOSである。二つのOSにはそれぞれ長所と短所があるが、その二つのOSのいいとこ取りなOS、つまりは、Ubuntuのような初心者でもなんとかついてこられる程度の操作難易度で、なおかつマイコンの下層まで自由に制御することができるOSを作りたい(FreeBSDもXウィンドウシステム使えるけど、わたしはFreeBSDはそういう風に使うOSじゃないと思っているので)。

3,4,5に関してはまだまだ考え中といったところだが、4を実現するためにファイルシステムを実装してみようかなと思っている。さらに5については、UNIX系OSのストリームみたいな入出力機能を持たせてみたいと考えている。3についてはもっとスレッドプログラミングについて勉強してから決めることにする。

こうして整理してみるとわたしの知らない新しい分野のことだらけなのでちょっぴり不安だが何とかがんばってやり遂げたいと思います。もし、どんなソースコード書いてるのか見たい方がおりましたらわたしのgithubリポジトリのリンクを張っておくのでご覧になってください。

 

n-kei/kozos-inspire · GitHub

 

つーか、コレ夏休み中に終わるかな・・・

自作組み込みOS開発開始!

今日から夏休みに入ったので、nakamuraさんからいただいた拡張基板向けに、前々からほそぼそとやっていた組み込みOSの開発を本格的に開始したいと思う。とりあえず送られてきた拡張基板はこんな感じ

f:id:kopatroopers:20150806001746j:plain

 

 次に、kozosのサポートページから拾ってきたブートローダとサンプルプログラムを書き込んでみた。ブートローダ書き込んだ結果はこんな感じ

f:id:kopatroopers:20150806030450p:plain

 

んで、書き込んだ後の基板の様子がこんな感じ

f:id:kopatroopers:20150806005936j:plain

 

どうやらちゃんと動作しているようだ。基本的な動作確認はこのくらいにして明日からは基盤についてるMP3デコーダとかの付属品を動かしてみたいと思う。とにかくちゃんと動いてよかった。

 

すさまじくありがたい出来事が・・・・

Maker Fair でお世話になったkz_xmodemやkz_h8writeの作者さんからkozosの拡張基板をいただけることになった!!

プレゼントしましょうか?のメールが来たときはうれしさと驚きで思わずブルースリーが暴れまわるときの声みたいななにかが出てしまった・・・・。しかも詳しい仕様を見てみるとSDカードスロットからMP3デコーダにロータリーエンコーダまで至れり尽くせりでこんないいものをいただいてなにもお返しできないのはさすがに心苦しいものがある。特にSDカードスロットは、わたしが前々からやりたいと思っていたファイルシステムの構築にぜひとも欲しかった構成要素で、ハードウェア作成の経験がないわたしの悩みを一気に解決してくれた。とりあえず明日で長かった期末テストも終わるのでいじくりまわしてみたいと思う。最後にこの場を借りてお礼を言いたいと思う。

拡張基板、本当にありがとうございます。

Maker Fair Tokyo に行って来た!!

f:id:kopatroopers:20150802230447j:plain

8月1日と8月2日二日間にわたってお台場のTokyo Big Sight(コミケが開かれるとこ)で開催されたMaker Fair Tokyoに行ってきた。感想としては、とにかく人、人、人の嵐で身体的にも精神的にもとても疲れてしまったが、得られたものはすさまじく大きかった。特にいつも使っている便利ツールやネットで話題になっているすごいものを作成した方々と実際に会って交流することができて本当に良かったと思う。彼らは今までわたしにとってパソコンディスプレイの向こう側の住民であり、ツールをダウンロードするにしても便利なツールだなぁぐらいにしか思わなかった乾いた存在だったのだが、実際にその作成者と会って言葉を交わすことで「あぁほんとにあれは人間が作っていたものだったんだなぁ」っていうよくわからん感動が沸いてきて今まで使っていたツールに血が通った気がした。わたしは今まで自分で作りたいものを作って完成したら満足してしまういわば一人遊びしかしてこなかった人間だったのだが、今回のことで自分が作ったものを誰かに公開するのも悪くないなと初めて思った。このブログもどれくらい続けられるか分からないがこの感覚に従ってできる限りやってみようと思う。とにかくMaker Fair Tokyoすばらしい!来年もぜひ行きたい。ていうか行きます。