[管理者用]

イゼルローン日誌
宇宙・・・それは人類に残された最後の観光地である

         
戻る 
01月
02月
03月
04月
05月
06月
07月
08月
09月
10月
11月
12月
1998年
1999年
2000年
2001年
2002年
2003年
2004年
2005年
2006年
2007年
2008年
2009年
2010年
2011年
2012年
2013年
2014年
2015年
2016年
2017年
2018年
2019年

2019年01月
1月22日 ・そんなところで、ほんの少し残っているお金を使って、SBIと連携している住信さんのところで外貨預金というものをお試ししてみる。とりあえずはドルだな。とりあえず申し込みをして、さてやろう・・としたら残高が無いよということ。どうやら、SBIハイブリッド預金ではなくて、振替で円の普通預金に移さないといけないらしい。銀行の画面で振替をしてからやったら買い付け画面になったので1万円だけ買ってみると、カウントダウン画面になって、タイムアウト。これで買えたのかな?と思ったら何も変わらない。どうやらカウントダウン中にクリックしないとけないらしい。動きがやたらと速いからなのかな?
・再挑戦して、クリックしたら瞬時に買えたらしい。口座の残高を見ると売買の為替レートの差があるので、$91.43で、9996円なりと出た。なるほど、簡単だな。
・しかし、証券の方のログイン名だのパスワードだのは、デフォルトのままなので、ほぼランダムな数字とアルファベットなのだけど、丸暗記してしまったな。一応記憶力はまだ大丈夫そうだ

・さて、そんなことをして遊んでいる場合ではないので、プログラミング。とにかくUARTを動かしてしまえば、ターミナルにいろいろなメッセージを出すだけでなく、ターミナルからコマンドを叩いて動かすことができるので格段に楽になる。前任者の残したものからバサバサ切り落としてC++のクラス化していたのが途中になってしまっているもう少しで動かせるようになるかな。

1月21日 ・axfから.bin形式に変換したら良いのだろうか?と、arm-none-eabi-objcopyでやってみたけど、単に巨大なbinファイルができただけで、ドラッグ&ドロップで書き込むのは無理。さて、STの専用ツールであるST-LINKと同じ名前をつけている以上何か手はあるのだろうと検索していると、ST-LINK Utilityというものが、いわゆる一般的なライタプログラムのようになるらしい。早速調べていくと
STSW-LINK004(ST-LINK Utility)
STSW-LINK007(ST-LINKのファームウェアアップグレードツール)
STSW-LINK009(STSW-LINK007をWindows7やら10やらで使うための追加ドライバ類)
の三本立て。ついでに、使わないけどSTM32 Flash loader demonstrator (FLASHER-STM32)
・全部インストールしたら、Nucleoを接続。いつものように、リムーバブルディスクにはなるけど、そのままでいい。そのままLINK007のアップグレードツールを起動してファームウェアをアップグレード。電源OFF/ONした後、やはりリムーバブルディスクになるけど、無視して続いてLINK004のST-LINK Utilityを起動。Connectをクリックしたら、あっさり接続された。
・File選択をしたらデモプログラムの.AXFがそのまま選べるので選択して書き込みしたら何も問題なく書き込めた。続いて作成中のプログラムの先頭にボードのLEDのON/OFFをするコードを入れて生成された.HEXや.BINを選択して書き込みしてみたけど、全く問題なく書き込み完了。よし、これでいけるな。
・この環境だと、ボードのジャンパの設定変更も不要。xyzzyでエディットしたら、そのままシェル(というか、コマンドプロンプトか)でmake。ST-LINK Utilityで書き込みすれば終了後にアプリケーションが勝手に起動するので動作確認できる。リセットしなおしとか、電源OFF/ONなんかも不要で楽でいい。

1月20日 ・そんなところで仕事がらみで、STM32を載せたRed Bullというボードを買った。STM32F103ET6という、なかなか大きな規模なものを搭載していて、タッチパネル付きのフルカラーグラフィック液晶がついて、CANやRS-485のトランシーバICなどもついていたりするなかなかサービス良いもので8000円。
・以前はボードを借りていたのだけど、トラブル対応のために返却したので、今回はこちらのお財布で購入。
・このボード、一応シリアルポート経由のブートローダで書き込めるということなのだけど、これが相性があるのか、以前も散々苦しめられた経緯がある。
・嫌な予感もありつつ、早速ジャンパを設定して書き込みしてみるか・・と思ったらマニュアルと基板のシルクが違っている。一応回路図を追いかけて、多分これだろうとやって、電源を入れるとでもプログラムが起動しなくなったので、これで良いのだろう。USB-UARTのアダプタを繋いで、FlashLoader Demo(なんでDemoなのかは不明だけど)を起動。コントロールパネルとFlashLoaderの両方ともビットレートやパリティ(なぜか偶数にするらしい)を設定して、画面の「Next」をクリック。
・見事に撃沈した。原因不明だけど、全く動いてくれない。認識されなかったり、「Remove Protectionするけどいい?」というだけで、その先に進めない。以前もこれで散々な目にあったっけ。ひょっとしてTxDとRxDが逆なのかといろいろやってみたけどギブアップ。仮想マシン下からやっているのが駄目なのかな?でも、所詮USB-UARTだしな。
・さて、駄目だと言っていても仕方ない。そういえば、以前Nucleoボードに付いているオマケのST-LINKを独立して使ったことがあったな。ということで、Nucleo F742ZGを発掘。確かもっと小さいのも持っていたはずなのだけど見つからないので、とりあえずこれでいこう。
・こいつにはST-LINKの6ピンコネクタがある。ジャンパを二箇所外せば本体の基板からSWDのラインが切り離されてST-LINKを使った汎用書き込みアダプタに化けるという具合。
RedBull側にもJTAG/ST-LINK用のコネクタがあるので、この間を繋いでヤればいけるんじゃないだろうか。
・ということで、接続ケーブルを作成する。一応接続をメモしておくと
・ST-LINK側/RedBull側で
1/1(TargetのVddSense?)
2/9(SWCLK)
3/4(GND)
4/7(SWDIO)
5/15(nRST)
6/13(SWO)
という具合。これで電源を入れたら一応サクッとリムーバブルディスクとして認識されて、System Volume Informationも現れたのでこれで接続は良いのだろう。さて、あとはどうやって書き込むかだけど、デモやサンプルプログラムでは.axfと.hexしかなくて、試しにDrag&Dropしても駄目。さて、どうしたものかな。

1月19日 ・留学生の起業支援を強化するらしい。技能実習生についても帰国後に現地での起業を支援するようなことはできないのかな?日本から資本を入れてそこからリターンを得る。うまくいけば、世界的なネットワークができるわけだけど。

1月18日 ・とりあえず、while(1);状態になった株だけど、プログラミング中に少し頭を冷やしたい時などに、株価を眺めている。国内株はいいけど、海外株は15分遅れとか平気で言うので、なんだか面白くない。でも、考えたら米国なら「国内」なんだから無料でリアルタイムで見られるだろうと思ったら、ご本家のNASDAQがちゃんとサービスを提供している。
・リアルタイムで見られるだけではなく、眺めたい株だのを選んで一覧表(ポートフォリオ)にしておいたり、自分で持っている株の情報を登録しておけば、リアルタイムで変化するのがわかるし、銘柄毎にリアルタイムでグラフが動いていくのが見られるし、GoogleだのTwitterだののアカウントと連動してセーブしておけるという具合。なんか、ドラマとかでよく見るような感じだな。
・さて、そんなところで、旧バージョンから書き換え。まず、朝のお約束で、git addして、git commitしておく。入出力関係が少し整理できたので、旧バージョンの動作処理関係のコードをバッサリと削除。キューやタスクの類も構成を大幅に変える予定なので、こちらも削除。必要最小限のmain()と、CAN、UARTだけの状態に戻す。とりあえず出来たと見ていいかな。

1月17日 ・さて、頼んでいた基板が届いた。しかし、ARMなマイコンがついて、カラーグラフィック液晶パネルがついて、その他諸々があって8千円か。自分で作る気力を失わせるのに充分な価格だな。
・そんなこんなでプログラムの整理は続く。とりあえず、クラス分けした中の関数をタスクとして登録すれば、classから生成したオブジェクトとタスクが1対1で対応するので非常にすっきりする気がしてきた。コンストラクタでメッセージキューのハンドルを渡すようにすれば、Class間の結合もわかりやすいだろう。これでいこう。

1月16日 ・さて、大幅なプログラムの構造の見直しに伴ってC++化というのか、「誰がこの変数の持ち主なのか」「どれがひとつの関数グループになるのか」「グループにアクセする入出力ルートは何になるのか」を整理していく。
・とりあえず、CAN関係は片付いてきたので、UARTに取り掛かると、これが入り乱れてゴチャゴチャになっている。どうやらいろいろなところから寄せ集めてきたような感じで、UARTの初期化部分がいろいろなところにある。grepしながら探していくと、あっちもこっちも止められていて結局残ったのはルート部分になったユーザアプリの中の初期化だったというオチがついていた。まぁ、それはそれで良いんだけどね。
・さて、そんなところで、NISAへの切り替えが終わったというので、NISAで買って手元の特定預かり分を売却。
・夜になってついでに外国株とやらもお試ししてみる。米国株は源泉徴収されるけど、英国やオーストラリアなどの株なら非課税。ついでにNISAなら国内分の課税もないので配当も額面まるまる受け取れるらしいので、長期保有で配当目当てというところ。
・市場は午後11:30から開くらしい。あちらは100株単位とか1000株単位とかケチなことは言わず、1株単位から売買できる。手数料($5か0.45%のうちの高い方で、上限は$20らしい)を取られるし、為替スプレッド(いわゆるドル/円レートに上積みされる分:$1あたり25銭らしい)があるとかいうのでそこはなんとなく頭に入れて、とりあえず成行きで注文してみる。
・すぐに約定したけど、結果を見ると滅茶高いことになっていて、直後なのに損益が結構なマイナスになっている。もちろん、口座の「買い付け余力」もその分減少。手数料などなどを込みにしても随分高いじゃないか。ぼったくられたか?と思ったのだけど、そういえば何か書いてあったなと思い出して検索したら、なるほど外国株を円建てで買った時に為替レートの変動だののに配慮して資金ショートしないように、一旦5%ほど多めな金額分資金を拘束するのだとか書いてある。改めて別のページから保有株式を見ると、1株あたりのドル建て単価はそれなりで、円建てだと1ドルが114円くらいになっている。ドル円のレートを見ると今は1ドル108円ちょっとくらいのようなので、ちょうと5%くらい高めの設定だ。この分がどんな風になっていくのかウォッチしてみよう。デイトレーダーのように短期の売買を繰り返す人はドル建ての口座に予め移してから取引するのかな?
・そんなところで、株式のお勉強用の予算はこれで使いきった。これはこれで面白かったけど、「虚空感」がいっぱいだ。実際には何も生み出していない、誰も幸せにしていない、何も手に入れていないのにお金という数字だけが目の前でどんどん動いているというのは不気味な世界だ。銀行に預けていて少しだけ利息が付くととか、配当を受け取るというのはまだいいけど、こうやって1,2週間の間にちょっとクリックしただけで、7000円以上増えたことにされている(もちろん、単に株を持っているだけで、売らない限り何の意味もない数字だけど)というのはどうなのかな。さて、地道にプログラミングにとりかかろう。
1月15日 ・ぼんやりと企業の情報などを見ているとこれまた面白い。JASDAQあたりではやはりというのか、いわゆる「ヒルズ族」な企業が目白押し。スタートアップの立ち上がりもご立派で(まぁ、なにせ固定費は事務所代と人件費くらいのものだしな)、なるほどこれなら夜の繁華街でヴイヴイ言わせていたりするわけだ。
・事業内容を見ていると、これで本当に10年単位のスパンでやっていけるのか、少々不安を感じないでもないけど、まぁそこはそれ、ちゃんと太客がついているのだろう。そういうところにじっくり育ててもらえればいつか花開くこともあるだろうな。

1月14日 ・STM32のレジスタの説明を見ているのだけど、これが実にわかりにくい。こういうのを見ると、たとえ将来自動翻訳によって言語の壁が取り払われても、「マニュアルの解説マニュアル」が求められる状況には変わりがないだろうなと思える。そういえば、昔Intelのマニュアルに比べてMotorolaのマニュアルは難しく感じたっけな。
1月13日 ・さて、納品の準備。明日は祝日だけど今日中に発送しておけば間に合うだろう。
・そんなところで、なんとなくYahooファイナンスなどをインストールして株などを眺めてみている。ネットサーフィンならぬ、ストックサーフィンというところ。「こんな会社があるんだなぁ」とか「これで上場するほど利益があがるのか」などと眺めては四季報を見て売上高や形状利益などの推移やら株価の変動などを見たり、webサイトを眺めたりする。
・一気に赤字が解消して来期あたりに黒字転換、更に伸びそうな右肩上がりなところを見ると思わず応援したくなってくるな。
・というところで、生命保険を解約して放置してたのだけど、医療保険くらいは入っておくかとネットで見積もり。まぁ、こんなものだろうと月々3千円くらいのものを組み立てて注文。健康診断の結果と共に、タバコを吸っていないことを確認するため、コチニン(ニコチンではないのか)検査に来るのだとかか。そういえば、某工業高校に通ってた奴が言ってた喫煙検査っていうのはこれのことか。どんなものなのか聞き忘れていたので、ちょっと興味あり。健康診断はABだらけなのでまず大丈夫だろう、多分。

1月12日 ・更新だのなんだのとお金が飛ぶ。こういうときはURが良いなと思うのだけど、結局高いし、仕方ない。まぁ、ボチボチと頑張ろう。
・そんなところで、プログラムの大改造。まずはCANバス周りだけど、この部分は特に手を加える必要が無かったので前任者の残したままの状態。じっと眺めていると不要になった部分やデバッグ中に入れてその後コメントアウトしたようなものなどが残っているので、見やすくするためにそのあたりをざっくり削除して、少しずつ読みながらコメント入れだな。
・なんだかドラマの下町ロケット2についてブラック企業だとかやりがい搾取だなんだという声があったらしい。開発なんてどうなるのかわからないものを相手にして、意図したように手なづけていくようなものなので、一日のルーティンだけ済ませれば終わりという仕事とはだいぶ違うしな。叩き潰す相手によってはどうしても時間を食うこともある・・・が、疲労してくると恐ろしいほど効率が落ちてきて、無駄に時間が過ぎるだけになる。自分の限界は自分で察知できるようにならないとな。

1月11日 ・榮太郎の工場直営の売店へ。今日は鏡開きということで、お汁粉を配っていた。ちゃんと餅入りでしかも美味しかった。福袋はなくなってしまったようだな。ちょっとだけ買って帰る。
1月10日 ・突然思い立って温泉に行く。じっくりお湯につかりながらいろいろ考えてみたりしているうちにため息ひとつ。
1月9日 ・さて、前任者の書いていたCのプログラムだけども、やはりC++を使って書き換えたほうがすっきりしそうな感じがするので、とりあえず基本的なclassだけ作ってテストしてみる。と、いきなりエラー。
・エラーメッセージによると、_exit、_kill、_getpid、_sbrkがundefined referenceということだ。いや、こんなの要らないのだけどと思って検索してみたら、あちこちで躓いている人がいるようだけど、見て真似をしてみてもうまくいかない。これはダミーの関数を作るしかないかとも思ったけど、やっぱりサポートされないというのは変だなということでmakefileをもう一回眺めていたら、$(F_NO_EXCEPTIONS)という、なんだか怪しげなものを
CXXFLAGS = -std=gnu++98 $(COMPILE_OPTS) $(WARNINGS_CXX) $(F_NO_EXCEPTIONS)
という形で利用している。
・それならF_NO_EXCEPTIONSはどうなっているのかなと見たら、
#F_NO_EXCEPTIONS = -fno-exceptions # disabling exceptions saves code space
というなるほどなことをしている。これはムムムであるということで、#を削ってmakeしたら無事リンク完了。後で実機のボードで確認しないといけないけど、おそらくこれでC++で書く道は開通だな。

1月8日 ・というところで、1年ぶりにどういう環境でプログラミングしていたのか再確認。すっかり忘れているな。とりあえずソースコードのフォルダを見ると、makefileがあった。開いてみると、なるほどやはりWindows上だな。直接ツールのパスを指定しているので、このままできるのかな?とmakeしてみたらちゃんとできた。なるほど、ソースファイルもmakeした時に一覧を取り込んでコンパイルすることにしているから、ソースファイルを追加削除してもmakefileはいじらなくて良いのだな。
・まぁ、どうせ走ってるのはgccなので、c++も使えるだろうと.cppファイルを追加したらちゃんとコンパイル&リンクされた。よし、これでとりあえずビルドはできるな。あとは書き込みか。

1月7日 ・打ち合わせ。前任者から引き継いだプログラムを少しずつ変更して納品してから約1年。大幅な仕様のバージョンアップとなり、ほぼ1から作り直すような形にしないと実現は難しい事態になってきた。とりあえず現状動いている、HALというのかドライバというのか、ハードウェアアクセス部分などについては今まで無事に動いている実績もあるので「寝た子は起こすな」で良しとして、それらをコントロールする側をごっそり入れ替える形だ。
1月6日 ・ブートローダを読む。プログラムを読んでいたのだけど、だんだん面倒になってきて、ロジック・アナライザのデコード機能を使って流れているデータを全部取り込んで何をしているのか、何をどう送って何が返ってきているのかExcel上に整理していってだいたい話が読めてきた。予想していたのとちょっと違うところもあるけど、だいぶやっていることが見えてきたな。
1月5日 ・なんとなく単位株・・100株だけ買った株だけど、ちょっと米国株を検索してみたら、あちらでは「単位株」という概念は無くて全部1株から買えるらしい。最近お騒がせなAppleだと$140〜$150くらいの幅で動いている。簡単のために$1=100円とすれば、1株が14,000円とか15,000円程度で1株買える。ただ、米国市場で米国株を買うと10%が源泉徴収されるので、米国市場に上場している外国株を狙う方が良いのだとか。まぁ、数千万円、数億円なんていう単位で動かしている人には大きい問題なのだろうな。
・そんなところで、ブートローダを読み込まねばな。さぁ、がんばろう。

1月4日 ・大発会の後はAppleさんのおかげで大幅に下げて始まったようだ。というところで、某社さんも順当に下げたので100株ほど購入をしてみる。買った後はジワジワと上がって、終値で計算すると400円位プラスになった。まぁ、短期で売買する気はあまりないけれど。
そんなところで今度はPSoCのブートローダを調べる。とりあえずUARTブートローダを使って片方のPSoCからもう一方のPSoCを書き込むというのをやってみる。使うのはトップページの写真にも使った自家用PSoC5LPボード。タカチのケースにピッタリサイズで、秋月さんのグラフィック液晶やキャラクタ液晶を実装できるようにしたもので、こういう用途にはなかなか便利なのだ。最初ジャンパの設定を間違えていてMiniProg3で書き込めなくて慌てたけど、そこもクリアしてとりあえず書き込みOK。2枚のボードを繋いでホスト側からダウンロードを開始したらいきなりCommunication Error。あぁ、そうか、コンパイラのバージョンが違うので、ダウンロードするサンプルに含まれているブートローダと、ターゲットのブートローダが一致しなくなっているのか。とりあえず、ターゲットのブートローダを変更して再度やってみたら、無事動作。動きを見ているとなかなか面白いな。

1月3日 ・そんなところでお次はPSoCのブートローダまわりの調査。ドキュメントとサンプルプログラムを漁っていたら手頃そうなものを見つけたので読み込んでみる。まぁ、明日一杯くらいかければだいたい何をしているかわかるだろう。
・そんなこんなで、政府からサーバーは国内に置けという類のお達し。このところの動きとしてははやり敵対的な行動をとっている国の製品やらサービスは使うなという方向に行っている。これで経済が冷え込むと嘆く向きもあるようだけど、国内で青息吐息になっているところが息を吹き返すチャンスかもしれない。時代が大きく変わるときは「回れ右をしたら先頭になっていた」ということが往々にしてあるものだけど、この動きがそうした大転換の目になるかもしれないな。

1月2日 ・というところで、帰省先から帰る。夕方出たのだけど、首都高のジャンクション渋滞が電光掲示板にあったのに、行ってみたら全く無しのノンストップ。反対車線は大渋滞なのに、こちらはガラガラで、気づけば前に車が一台も見えない。これはこれで怖いのだ。なにせ首都高は結構な急カーブだらけ。前に車がいればその動きからある程度加減もできるけど、一人ぼっちで走るといきなり迫ってくる壁という感じでなかなかスリリング。
・家に着けばポストに1日の分厚い朝刊が挟まっている。後でじっくり眺めるとしようか。
・というところで、デバッグ用のコードを追加したプログラムを走らせてみる。なるほどな。そんなところで、評価ボードのマイコンが同じシリーズでメモリ容量が大きいだけなので、ひょっとしてそのままダウンロードできるかも?とやってみたら書き込めて、しかもちゃんと動いた。でも本番用のターゲットでは駄目。さて、これは一体何が起きているのだろう。

1月1日 ・そんなところで「明けまあしておめでとうございます」というところ。
・と言いながら年末年始も関係なしの受験生生活である(いや、受験生でも流石に1/1は休んだりするだろうと思うけど)。今日はPSoCのブートローダをちょっと調べることにする。

前月
エース