「未分類」カテゴリーアーカイブ

MSPM0マイコン用のサンプルプログラムのビルド手順

超久しぶりにブログを書いてみる。

最初に断っておくと、私はまだ MSPM0マイコンのターゲットを何も持っていない。LaunchPadのひとつもあればいいけど持っていない。なので、以下は「開発環境でサンプルプログラムがビルドできました」という内容です。

TIが新しく発売を始めた、MSPM0マイコンは、今まで似た名前の、MSP430シリーズが独自の16bit CPUコアだったのに対して、ARM Cortex-M0+ CPUを内蔵したマイクロコントローラのシリーズだ。32bitになったのに、価格が安いのが特徴。 TIの人や代理店の話では、TIが自社工場で製造しているので価格のコントロールがしやすいのだそうだ。 (対するMSP430の方は、FRAMもあってプロセスの関係で自社工場に引き取るのはちょっとむずかしいのだとか。)

私はMSP430のプログラムをCCS (Code Composer Studio)を使ってコーディング、ビルド、ターゲットマイコンへの書き込みは経験しているので、MSPM0も同じようにできるだろうと思って試してみたらできなかった。
具体的には、CCSをインストールして (もちろんインストール時にMSPM0マイコンを使う選択をする)、FileメニューでNew→CCS Projectで新しいプロジェクトを作り、チップはMSPM0xxxxなど適当に選び、 Empty Project (with main.c) を選んで、空っぽに近い main.c のソースができたら、そのまま Build Project する。
これではエラーが出て、ビルドできなかった。

(ちなみに、MSP430だとこの手順でビルドの通るプロジェクトが作れる)

では、どうやればできるのか。
ここは素直に、まずは TIから用意されたサンプル・プログラムをそのままビルドしてみることにした。

まず CCSで、Getting Started の画面を出す。(起動直後には出ているが、表示されていなければ、メニューの View → Getting Statedで表示される)
Browse and Import Example を選ぶ。

すると、Create New Project の画面になるので、まずはターゲットボードか、デバイス (チップ)の型番を入れる。持ってないけれど LaunchPad の LP-MSPM0C1104を選んでみよう。途中までキー入力すると候補が出る。

ターゲットを選ぶと、その下に Choose a template that you would like… と出るので、下へスクロールしていって、
gpio_toggle_output というサンプルを選ぶ。名前からして、多分これがいわゆる 「Lチカ」だろう。



すると画面下に、Configure selected projectとでているが、ここで Compilerの欄はコンパイラを選択する必要がある。IARは、IAR Embedded workbenchを使う人用だと思うので、それ以外の、GCC か CCS-TI Arm Clangのどちらかにする。どちらを選んでもいい。
その後、右端の “CREATE”ボタンを押す。



デバイスは何か、とあらためて問われるので、MSPM0C1103を選ぶ。


この後であるが、

・MSPM0シリーズに必要な SDK などが、自動的にダウンロードされるなどの処理が始まる。
・そのあとで、サンプルプログラムの gpio_toggle_outputをダウンロードするかとダイアログが出るのでダウンロードを選ぶ。

ここまでやると、サンプルソースを含んだ、新しい Project ができあがる。gpio_toggle_output.c を見てみると、それらしい内容が書かれている。

メニューバーから Project → Build Project を選んでビルドしてみると、エラーも無く **** Build Finished **** がコンソールに出れば、無事、成功である。



さて、サンプルプログラムの場合はこれでよいとして、
自作プログラムをスクラッチで書きたい場合、空っぽのテンプレートをまず用意するには、どうすればいいのか? という疑問がわいてくる。

それについては、サンプルプログラムを選んだ画面で、上の方には
empty_mspm0xxxx という、空のプロジェクトのひな型が並んでいるリストがあるので、使用するターゲットデバイスのものを選んでプロジェクトを作れば、main() がほぼ空っぽのソースのプロジェクトが作れる。
この手順を踏んで、ソースの中身を書いていけばよさそうである。


観察していると気づくが、この empty project は “using DriverLib” と書かれている。
DriverLibは、MSP430のときにも提供されていた。ADCやタイマーやシリアルI/Oなど、色々な機能を利用するときに便利に使える関数群で、MSPM0でも同様の物であると推測される。

MSP430のときは、DriverLibを利用するとコンパイル後のコードサイズが大きくなってしまい、Flashメモリの少ないデバイスでは使いづらかった場合もあったが、MSPM0では利用するのが前提みたいな感じなのだろうか? (恐らくは利用しないやり方もあるのだと思うが、それは追々調べることにする)

という訳で、ここまでの解説が誰かのお役に立てば幸いです。

BOOTH 有料頒布に挑戦

https://espi-labo.booth.pm/

「TeraTermのマクロ 超入門」という技術解説文書を、BOOTHでの有償での頒布をしてみることにしました。

2004年に派遣就業先のC社で、組み込み機器のコントローラー基板が、UARTの口をもっており、ターミナルソフトでいろいろ設定できる、デバッグコンソールだったので、皆 TeraTermでデバッグや評価の操作をしており、このころから本格的に使うようになりました。

様々な自動化にトライするうち、だいぶ経験値も増えたので、解説文書にしてみようと書いたものです。 もしも15年前の自分なら、すごく読みたかった資料。多分ニッチなものとは思いますが。

よろしくお願いします。

LCDディスプレイが故障、買い換えた。

自宅のメインPCで使っていた液晶ディスプレイが、10/24月曜日の帰宅後に付けたら、点灯しなくなっていた。 バックライトが死んだっぽい。兆候はあったが、ついに死んだか。

その液晶ディスプレイは、ソニーのSDM-M81、いつ買ったのか、記録がないか検索すると、どうやら2001年8月11日に、町田で17万ほどで購入したらしい。なんと15年も使っていた。

新しいのを買わねばならないので調べ始める。置き場所に制約があり、横幅45センチ以下で、今と同等か、可能ならそれ以上の解像度のが欲しい。前のは18インチだったが、最近は「額縁」が狭いのでもっと大きくできるかな、やっぱり国内製を応援したいよね…と色々期待したが、思いのほか、選べる製品が少ないと気づく。
横幅45センチ以下なら19インチ以下、ところが最近は21インチとか 24インチで、それもワイド型の方が主流。では19インチでワイド型はどうかといえば、あるにはあるが、縦900ドットみたいに上下が狭くなってしまう。使っていたディスプレイが1280×1024ドットだったので、それと同じで19インチならば良し、という事にした。

ワイド型に対して旧来のはスクエア型と呼ばれているらしいが、それがもう、すごく少ない。19インチ品、国内だとイイヤマとI/Oデータ、後はNECの直販物くらい。そして、ヨドバシなどの量販店では「取り寄せ」。一応、町田のヨドに足を運んでみたが、19型スクエアは、やっぱり無い。
最近の製品は重量も軽いので、店頭で買って、手で持ち帰りたかったが、仕方なく通販を選ぶ。水曜早朝にヨドバシのwebサイトでオーダーしたが、金曜の朝に見ても「確保中です」で変化がなかった。土日には使いたいので待ってられない。
金曜の早朝にヨドバシのはキャンセルして、2009年に FMV BIBLO LOOX UC30なんぞを購入した時に利用した、ECカレントに発注。13時までなら当日発送とあったのに出ない出ない、と監視していたら、21時過ぎに佐川に発送された。翌土曜日に無事受け取れた。

機種は、LCD-AD192SEDW (IO DATA)。電源ボタンなど操作ボタンが押しづらいが、表示は必要十分で見やすく満足している。
15年前は17万円もしたのに、今や2万以下で買える。バックライトもFL管が白色LEDになって、重量も7.7Kg → 3.3Kgだ。

Raspberry Pi 3 インストールと設定メモ (2)

続き。
実は日本語フォントは入っていない。なので、GUIの中のメニューでJPを選択しても いきなり日本語は出ない。

以下の手順でインストールと表示ができた。記す。

(1)まず、無線LANでインターネットにアクセスできるようにしておこう。
画面の時刻が表示されている所からいくつか左隣のアイコンをクリックすると、現在見えている無線LANのAP一覧がでるので、選択する。
(これはもちろん、部屋でWLANが使える前提)
スタートメニュー(風)から、Internet -> Epiphany がWebブラウザなので、外部アクセスできること(名前が引けること)まで確認しておく。

(2) スタートメニュー(風)から、Raspberry Pi Configuration を選んで、
表示は英語に戻しておこう。
そして一番左のタブで入った所で GUI / CLI を選ぶ所があるので、CLI を選択しておき、時間の起動でコマンドライン状態になるようにする。

(3) 再起動する。(GUIの時はメニューから、コマンドの場合は sudo reboot)
ユーザー pi でログインしてコマンド待ちになったら、
後は次のWebサイトの手順通りに日本語設定と、日本語フォントをインストールする。

Raspberry Pi 日本語化 (DesignSpark)

(3-1)ロケールの設定
$ sudo dpkg-reconfigure locales
を実行するとテキスト画面でメニュー選択風の画面になるので、
カーソルをカーソルキーで移動して、
en_GB.UTF-8 UTF-8
ja_JP.EUC-JP EUC-JP
ja_JP.UTF-8 UTF-8
の三つを選択する。 (スペースキーで選択/非選択がトグルする)

(3-2)apt-getでフォントをインストールする
$ sudo apt-get install ttf-kochi-gothic xfonts-intl-japanese xfonts-intl-japanese-big xfonts-kaname
(説明ページでは 行頭の sudo が無いが、必要)
コマンドラインのパラメータのつづりが長いので、間違えないように。
インターネットにアクセスしてフォントファイルをダウンロード & インストールしてくれます。ダウンロードされるものの総容量は 6MB程度。

(3-3) 再起動
$ sudo reboot

(3-4) X (GUI環境)を起動する
$ startx
これで無事、メニューまで日本語化完了。
次の起動で GUIにしたい場合は、Raspberry Pi Configuration で CLIからGUIの設定に戻しておけばよい。

以上。

(8/14 金曜分) 生田緑地 宙(そら)と緑の科学館

改装してから初めて行きました。というか改装前に入ったことがなかった。
宙と緑の科学館

お目当ては メガスターⅢ FUSIONによるプラネタリウム映像 「宇宙の姿を求める旅」。
メガスターⅢの星空投影は素晴らしい。天の川ももやっとした雲状のものを投影しているのではなく、一つ一つの星をちゃんと投影している感じがなんとなく分かり、「迫力のある星空」を表現している。

メガスター3 FUSION

(8/13 木曜分) 映画: バケモノの子

新百合ヶ丘で 最終 21時台の回で観賞。(以下ネタバレもありで注意)

前知識ゼロで… 正確には「少年がバケモノに弟子入りして強くなる」程度の予告のみの情報だけで観に行ったが、想像をはるかに超えたクオリティの高さだった。
主題的には、「少年の成長」だろうか。しかし、子供に接する側の大人も、師匠、失踪した元父親など、様々な登場人物がいて、「父の側の立場としてはどうするだろうか」という点にも触れている。

宮崎作品だと、異界に出入りするとか、魔法とかにすごくルールが厳しい。細田作品はその点ユルいが、それでメインストーリーが台無しになることはなくて、そこに新鮮さを感じる。
日本古来の妖怪に縛られずに妖怪ウォッチを作ってしまうような。
主人公の少年は、異界に行ってから何年も過ごすが、そのうち両方を行き来するようになる。

宮崎監督が、少年が主人公の映画が要るんだ、でも難しいんだ、と吐露しているところで、バケモノの子で細田監督がそれをしっかり、しかも爽やかにやってしまった。ジブリはやっぱり、後進に道を譲る時期に来てしまったなと思う訳です。

細かい部分では・・・やっぱり出てくる行政窓口。
チコは、なんの動物なんでしょうね。

解雇特区と言うが

“解雇特区”をごり押しする政治の論理と常識への疑念

解雇特区、などと言うが、働きの悪い従業員には辞めてもらう、という、一種の競争主義のようなものは必要なのではないだろうか。 リーマンショックの時、派遣の我々は一斉に切られ、回復してきた頃に再度採用頂けたのはありがたいが、 戻って見ると横には一日中 お菓子食ってる正社員様がいて、なんでこんな人間が安泰で、パフォーマンスを出そうと緊張感を持っている波面メンバーがこんな目に遭うんだろうか・・・と、思ったものでした。

投稿。

企業は市場の競争に晒される中で利益を上げる必要がある一方で、従業員は世代交代するため後進の育成が必要です。なので、社内ニートなど一人たりとも置いておけないというパフォーマンス重視の面もあれば、効率主義だけで生徒を扱えない学校のような面もあります。▼後輩を育てる行為は結果的には利益に貢献するはずですが、成果主義の採用のもと短期的には評価されないという理由で指導教育しなくなってしまったという弊害も実際起きたようです。▼私は技術職ですが、昔は先輩が残業時間につきっきりで教えてくれたりしたものです。最近は(コンプライアンス重視の風潮にあり)上下関係もドライに見えます。▼紹介されたSASですが、その内情からは社内での競争や圧力のようなものが感じられ、昔ながらの日本企業とは全然違うと思いました。日本の大企業は、派遣は簡単に雇ったり辞めさせたりしている一方で、正社員はポジション相応の働きをしていない人や遊んでる人に対して圧力も何もかからず何年もそのまま…という事例をよく見かけます。▼既に投稿意見にも出ていましたが、結局、個々の従業員をパフォーマンスをうまく評価できていないという現実があるように感じています。また、正社員を減らして派遣を使うのは、教育を面倒くさがる会社が増えている。