NPO法人TOPPERS主催で開催されたETロボコン向けTOPPERS活用セミナーを受講させてもらいました。
いつものTwitterです。恥も外聞もなくセミナーに関係のない、いい加減なことをつぶやきに潜り込ませていますのでご容赦ください。
アセンブリ言語。DSPなど特殊なプロセッサで使われる。でも最近のTexas InstrumentsのDSPなどC/C++が標準みたいですね。RTOS(もどき?)もTI社から標準で提供されますし。 #etrobo
posted at 10:12:50
C言語のツールチェーンの説明。プリプロセッサ、コンパイラ、アセンブラ、リンカー。最近は「リンカ」ではなく「リンカー」って末尾を伸ばす表記が推奨されるのでしたっけ? #etrobo
posted at 10:21:10
makeのバージョンに注意しましょう。NXTに移行してから私はToolchainのバージョンではまったことがありませんが、とりあえず最新版でそろえておけばOKかな? #etrobo
posted at 10:25:17
GNU ARMのインストール場所は C:¥cygwin¥usr¥local (/usr/local) を推奨。私の環境は /cygdrive/c/program files (x86)/gnuarm/bin/arm-elf-gcc と随分チャレンジャブル ^_^; #etrobo
posted at 10:31:19
拡張NXTファームウェアのインストール作業解説なう。子供用なのに(子供用だからこそ?)すごい隠された場所にハードウェアリセットボタンがあるんですよね。 #etrobo
posted at 10:41:17
プラットホームをすっとばしてハードウェアを直接叩いていたチームが実はあったようです。サブCPU(Atmel)のプログラムを書き換えていたチームはあったのかな? ^_^; #etrobo
posted at 10:49:29
TOPPERS/JSP for Mindstorms/NXT は nxtOSEK の API を 踏襲。著作権の問題があって、若干削られている機能があるそうです。 #etrobo
posted at 10:52:12
パソコンのOSとリアルタイムOSは異なります。リアルタイムOSにはソリティアはついていません。って実際の講師はまっとうにスケジューラーの説明とかをしていますよ。^_^; #etrobo
posted at 10:55:29
JISの長音表記のルールをMicrosoft社が上書きすると某メーカーはMS社に倣うので・・・ ^_^; http://bit.ly/k7F76 RT @monamour555 好みの部分もありますが,JISでは「リンカ」のはず. #etrobo
posted at 11:09:31
最近のサービルコールの名前の付け方はフルスペルで名付けるのが流行りですが、ITRONでは3文字で省略しています。日本人には覚えやすいかも ^_^; #etrobo
posted at 11:25:55
WindowsやLinuxではOSとアプリケーションが別々にリンクされている。一方で今回の環境はワンリンクモデル(OSもドライバもアプリケーションも一つにリンク) #etrobo
posted at 11:29:59
(たいていの)組込みシステムではブート時にコンフィギュレーション情報を静的に決定することができる。なぜなら、あらかじめ何を実行するのか決まっているから。すると起動が速くなるしメモリも小さくなる。 #etrobo
posted at 11:34:09
時間がかかる処理(たとえば走行経路を計算する処理)をしながら、並行してモーターを制御する処理などを行いたいとき、などのときにマルチタスクが力を発揮する。 #etrobo
posted at 11:43:55
ITRONは数字が小さいほうが優先度が高い。OSEKは数字が大きいほうが優先度が高い。 configurationファイルなんて年に一度も書き変えないので、いつも私は仕様書を読みなおします。^_^; #etrobo
posted at 11:49:11
タスクの状態遷移図を説明。3つくらい状態を覚えておけばOKですよ。と高田先生に言って貰えると安心できます。二重待ち状態なんて面倒なものを私も使ったことないもん。 #etrobo
posted at 11:50:47
「待ち状態」と「休止状態」は紙一重。似ているよね。違いは「休止状態」は(関数の)先頭から実行される。「待ち状態」は待ちに入ったサービスコールの続きから実行される。 #etrobo
posted at 11:57:13
tslp_tsk() timeout機能付きsleepサービスコール。組込みでは例外処理が大切。何かを待ったきり、いつまで経っても戻ってこないと困るときがある。 #etrobo
posted at 12:01:49
OSのタイムハンドラー。ハードウェア(マイコン)の限られた数(1つとか2つ)しかないタイマーを、あたかも、いっぱいあるように見せかける(仮想化する)機能。 #etrobo
posted at 12:08:40
セマフォ(腕木式信号機)とタブレットの説明中。続きは私のブログの写真で。。。^_^; http://www.chihayafuru.jp/tdiary/?date=20070502 #etrobo
posted at 12:20:39
データーキューをOSが提供する意義。リングバッファが一杯のときにsendしようと試みたときは待ち状態に入る。リングバッファが空のときにreceiveしようと試みたときも待ち状態に入る。ここがOSで提供する利点。 #etrobo
posted at 12:26:12
メールボックスをお勧めしない理由は? 使い方の注意が必要だから。データキューでもメールボックスと同じような使い方ができるのでリスクを犯してメールボックスをつかうことはお勧めしない。 #etrobo
posted at 12:33:33
今年の暮れにTOPPERS/JSP 1.4.4が登場すろときには、TOPPERS/JSPのなかにMindstorms NXTの開発環境も含まれているはずです。 #etrobo
posted at 13:45:00
TOPPERS/JSPのディレクトリ構成の説明。こうして眺めてみるとディレクトリがずらっと並んで大変そうに見えますね。私も関係しそうなところ以外、開いてみたことはないのですが・・・ ^_^; #etrobo
posted at 13:48:53
Linux上でTOPPERS/JSPの環境構築はできますか? => ほとんど問題なくできると思います。高田先生はMacOSでやっているらしい。^_^ #etrobo
posted at 13:58:16
タスクの優先度切り替えの様子をターミナル(TeraTerm)で観察しています。NXTは寝たっきりなのでRTOSを知らない人はさっぱり何が起こっているか???だとは思いますが・・・^_^; #etrobo
posted at 14:46:32
H8マイコンボードがなくても、Mindstorms NXTがあればRTOSのタスク遷移の実習ができるのはすごいかも。ただH8マイコンボードよりもNXTのほうが随分とお高いですが・・・^_^; #etrobo
posted at 14:52:24
show_splash_screen() を外してしまえばメモリを大幅に節約できます。TOPPERS/JSPではバナー表示はOSの外部に追い出した!^_^; #etrobo
posted at 15:06:19