フォト
無料ブログはココログ

« 2013年8月 | トップページ | 2013年10月 »

2013年9月

2013年9月29日 (日)

アンテナタワー千一夜

偶然飲み会で鉄ちゃんを見つけたので、以前買った本を出してきた。

アンテナタワー千一夜 北沢幸浩 創樹社
Photo

 鉄塔マニア(「鉄ちゃん」と言うらしい)の人たちのサイトが結構ある。ほとんど送電線鉄塔だ。

 σ^^)は無線屋さんだったのでアンテナタワーの方が好きだ。送電線鉄塔は、仲良くおてて繋いでという感じだけど、無線鉄塔は一人凛として立っている感じが好きである。

 昔登ったことがある鉄塔は写真に写ってなくて、隣に立っていた鉄塔の写真が載っていた。うちの鉄塔は貧相だからなあ。


タワー -内藤多仲と三塔物語- 橋爪紳也、田中彌壽雄、内藤多四郎 INAX BOOKLET
Photo_2

 「鉄塔博士」と呼ばれた内藤多仲博士が設計した、東京タワー、通天閣、名古屋テレビ塔のおはなし。

 この本を開くと
1

やはり東京タワーは美しい!!

 内藤多仲博士は、愛宕山にあるNHK放送博物館 の資料で初めて知った。
日本で最初の放送局JOAKの45m三角鉄塔も内藤博士の設計によるもので、放送博物館に図面が展示してあった。


どうだい! アンテナタワーも良いだろう。

2013年9月27日 (金)

60,000アクセス

60,000アクセスを超えたようだ。
60kaccess

なかなかキリ番が撮れない。
50,000アクセスが 6/12だから、1日平均100アクセス位かな。

2013年9月26日 (木)

ABUロボコン

 8/28にベトナムで開催されたABUロボコンの様子をNHKが9/23に放映していた。(台風報道の影響で、2013/9/23になったらしい)
今年のABUロボコンは金沢工大が優勝した。 おめでとうございます。

###

 競技的には日本代表が優勝してうれしいのだけれど、技術的な観点でみると、ちょっと気になる。

、 今年のABUロボコンはベトナムで開催され、国内予選とは床などの材質が違うため、各国苦戦していた。

 手動ロボットは人間が操縦するので、人間の能力しだいで適応できるけれど、問題は自動ロボットだ。

 金沢工大の自動ロボットはテストランで満足に動作しなかった。
自動ロボットに与えられた課題は、自律走行し、発泡スチロールの円柱を取って、指定された3つの円の中に置くというものである。最初のテストランの時には発泡スチロールが取れない状態だったが、ハードウェアを修正して対応していた。しかし、 1つの円の中に置けない問題が発生していた。

 放送を見る限りでは、自動ロボットの位置の検出はタイヤの回転数で検出しているため、床の素材が国内予選で使用されたものと異なっていた影響で狂いが生じたという説明だった。

 この問題に対して、発泡スチロールを置くタイミングを僅かに遅らせるというプログラム変更を加えて乗り切ったようだ。

 NHKは例によって、ヒューマンドラマにしたいので

しかしそれらを強烈な集中力とチームワークで乗り切った彼らは、まさに王者です。
http://www.nhk.or.jp/robocon-blog/165248.html

と持ち上げているが、そもそも自動ロボットを開ループで制御しているというのがちょっと驚きだ。 オープンループのシステムをカリカリにチューニングすると外乱に対して極めて脆弱になるよね。(国内予選では外乱がなかったから吉と出たけれど)

 目指すは、人(使用者、操縦者)の熟練を必要としない手動ロボット、環境(床、照明、素材)が変わっても機能をが失われない自動ロボット、そして高いパフォーマンスじゃないかな。

 日本代表は8年ぶりの優勝だそうだけど、デザインの不備を気合と根性でカバーするという考え方が主流だと日本の連覇は難しいんじゃないのかな。

 「ABU アジア・太平洋ロボットコンテスト」の開催趣旨には

競技を通じて技術力と独創力を競う、

と書いてあるが

日本代表チームとして「ABU ロボコン大会」で活躍できるロボットかどうか、を主眼において選定します。

とも書いてある。

つまり勝利至上だと...
テレビ屋さんとしては、オタクしかわからないところに拘らないで、気合いと根性で勝ってくれと...

 技術力、独創力は自分との戦いだよね、他人に勝っても自分の技術力や独創力は向上しないよね。技術者を目指すなら、優勝でなくても「BEST ENGINEERING AWARD」を取りたいよね。

 教育界や産業界の人は何も文句言わないのかな?テレビ屋の言いなりなのかな?

 モノづくり日本の先行きがますます不安になるのはオジサンだけだろうか。

2013年9月24日 (火)

「できない人」にいくら教えても「できる人」にならないのか

「できない人」にいくら教えても「できる人」にならないのか
という記事をITProで見つけた。

 この発言をした人は一度も失敗したことがないというプロジェクトマネージャだそうで、現場から正確な報告が無くても遅れや問題に気が付くのだそうだ。
その一度も失敗したことが無いプロジェクトマネージャは、なぜ気が付くのかの問いに「カン」と言い、経験則から「カン」が働かない後輩は教えてもできるようにならないと言う。

 著者によれば、これは「カン」ではなく「 直感 直観*1」ではないかというもの。

直観(直感に非ず)とは「一般に、判断・推理などの思惟作用を加えることなく、対象を直接に把握する作用」(広辞苑)

 直観は暗黙知なので意図して教えることができない。タイトルの発言をした人も同様の趣旨であろう。

 しかし、「できない人」にいくら教えても「できる人」にならないと言ってしまっては身もふたもない。 この経験則が真実だとすると、直観を持った者を採用するしかないことになるが、それは無理と言うものである。

 採用時に直観を持った者を選択できないとすると、暗黙知の伝承が必要だが、暗黙知を簡単に伝えることができないのも事実である。

 暗黙知の伝承は伝える側と伝えられる側双方の努力、伝えようとする努力と学ぼうとする努力が必要である。

伝える側は、判断することに真摯に向き合う。
伝えられる側は、直観を持つ者の側で仕事を学ぶ。

ことが必要だ。
う~ん...抽象的過ぎるなあ...


*1 直観と直感を間違えているじゃないか!!(2013/9/26)

2013年9月22日 (日)

昭和史 1945-1989

昭和史 1945-1989 半藤一利 平凡社ライブラリ
Photo

 学校では教えてくれなかった昭和史。
 理系コースの学生は歴史を学んでいない時期があったようだけれど、文系、理系を問わず歴史はきちんと教えるべきだと思う。

 小冊子『熱風』7月号※1に掲載された宮崎駿氏のインタビュー記事※2がネットで話題になり、全文を読んだのちに、NHK で宮崎駿氏が半藤一利氏と対談しているのを見て、前から読んでみようと思っていた「昭和史」を読んだ。

 既に平凡社の新書になっていて、巻末に単行本には無かった「昭和天皇・マッカーサー会談秘話」が付いている。

あとがきの

「君は功を成せ、われは大事を成す」(吉田松陰)という悠然たる風格をもつことができるか
現在の日本に足りないのはそういったものであって、決して軍事力ではない。

は重い。

 戦争を体験せず、その後の安保闘争なども終わっていた新人類世代は何をすべきなのだろうか?


※1
 スタジオジブリのサイトに 「小冊子『熱風』7月号特集 緊急PDF配信のお知らせ」ページがあり、 『熱風』2013年7月号特集「憲法改正」 のPDFがダウンロードできる(8/20まで)

※2
宮崎駿(2013/07/22)

yoshi-s.cocolog-nifty.com/cpu/2013/07/post-7f88.html

2013年9月20日 (金)

ビアガーデンフェスタ終了

中野セントラルパークでやっていたビアガーデンフェスタが終わったようだ。
Photo

↑千年の宴が使っていたトレーラーも店じまい

この夏ここのビアガーデンには2回行った。
日が落ちる前に行ったら暑くて結局千年の宴に入った。

来年はぜひ屋上で。

2013年9月18日 (水)

ネットで古本

 「理科系の作文技術 中公新書 木下是雄」を、若い人たちに機会あるごとに薦めている。
X121
 この本の

6章 はっきり言い切る姿勢
7章 事実と意見

は必須

4章 文章の組み立て
5章 パラグラフ
8章 わかりやすく簡潔な表現

も読んで欲しい。

 最近、若い人達が書いた文章を大量に添削することがあって、文章の添削には懲りた。
内容ならばまだしも、単に文章を添削するのは正直ツライ。
 そこで、この本を薦めるだけでは不十分と考え、「貸してあげるから読んでね」とやんわり強制することにした。

 新品は何処の本屋でも売っていて725円だけれど10冊必要なので、古本を買えば良いじゃないかという悪魔のささやきに負けて、Amazoneで調べたら最安は1円、80円、90円もたくさんある。 しかし、Amazoneの古本はまとめて買っても1冊ごとに250円の送料が必要なのだそうだ。
 80円の中古を10冊買うと (80+250)×10=3,300円必要である。

 釈然としないなあ...と、BOOK・OFF Online 楽天市場店を見ると、送料は150円/件、3,000円以上無料なので、こちらで買うことにした。BOOK・OFF Onlineでは「理科系の作文技術」は250円なので 250×10+150=2,650円と650円安い。

 決済しようとすると、あと500円で送料が無料になるよのメッセージがでたので、つい2冊追加して12冊買ってしまった。

 150円節約するために500円追加してしまった。うまい商売だ。

でも、12冊で3,000円だから良いだろう、2冊も誰かに薦めるだろうし。

X123

2013年9月16日 (月)

usb_jtag + カメレオンUSB FX2

usb_jtagはkolja waschkさんが公開している、AlteraのUsb-Blasterケーブルと同じプロトコルを使用したJTAGアダプタで、

On the USB side, it now uses the same protocol as Altera's USB-Blaster. The drivers that I developed for my adapter do work with the Blaster as well. To the host PC, the only really noticeable difference are vendor and product ID and the product description string (0x16C0/0x06AD/USB-JTAG-IF instead of 0x9FB/0x6001/USB-Blaster).

だそうだ。
 difference are vendor and product ID and the product description string
って意味深だなぁ...

 Usb-Blasterの構成はFT245+CPLDらしく、探すとパチモン互換品もたくさんある。
usb_jtagには3つのタイプがあって

  • Variant A: Cypress FX2
     FT245+CPLDをCypressのEZ-USB FX2のファームウェアで実現したもの
  • Variant B: FTDI FT245 plus CPLD
     FT245+CPLDで実現したもの
  • Variant C: SiLabs C8051F32x
     FT245+CPLDをSiLabのC8051F32x のファームウェアで実現したもの

 カメレオンUSB FX2でVariant Aを作ってみることにした。

Sourceforgeからixo-jtag-code-204-usb_jtag-trunk.zipをDL・展開して、device/C51/ ディレクトリでmakeする。
なお、コンパイルにはSDCCが必要である。

 何も指定しないでmakeすると、FX2のポートCを使用する。56pinのカメレオンUSB FX2では使用できないので hw_basic.cを変更したhw_chameleon.cを作成して、ポートAを使用するようにした。

-- hw_chameleon.c (太字の部分を変更する) --

//-----------------------------------------------------------------------------
// comment out (undefine!) if you don't want PS, AS or OE signals

//#define HAVE_PS_MODE 1
//#define HAVE_AS_MODE 1
//#define HAVE_OE_LED  1

// comment in (define!) if you want outputs disabled when possible
//#define HAVE_OENABLE 1

#define OEC           OEA  /* Port C -> Port A */

/* JTAG TCK, AS/PS DCLK */ sbit at 0x87          TCK; /* Port C.2 -> A.7 */ #define bmTCKOE       bmBIT7 #define SetTCK(x)     do{TCK=(x);}while(0) /* JTAG TDI, AS ASDI, PS DATA0 */ sbit at 0x80          TDI; /* Port C.0 -> A.0 */ #define bmTDIOE       bmBIT0 #define SetTDI(x)     do{TDI=(x);}while(0) /* JTAG TMS, AS/PS nCONFIG */ sbit at 0x81          TMS; /* Port C.3 -> A.1 */ #define bmTMSOE       bmBIT1 #define SetTMS(x)     do{TMS=(x);}while(0) /* JTAG TDO, AS/PS CONF_DONE */ sbit at 0x83          TDO; /* Port C.1 -> A.3 */ #define bmTDOOE       bmBIT3 #define GetTDO(x)     TDO

環境変数 HARDWARE=hw_chameleon を設定してmakeする。

$ export HARDWARE=hw_chameleon; make

 カメレオンUSB FX2 をUrJTAGでバウンダリスキャンする。このボードに載っているCPLDはAlteraのEMP570T100なのでAlteraからBSDLファイルをDLしてデバイスを登録すると認識した。

C:\Program Files\UrJTAG>jtag

UrJTAG 0.10 #1502
Copyright (C) 2002, 2003 ETC s.r.o.
Copyright (C) 2007, 2008, 2009 Kolja Waschk and the respective authors

UrJTAG is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
There is absolutely no warranty for UrJTAG.

WARNING: UrJTAG may damage your hardware!
Type "quit" to exit, "help" for help.

jtag> cable UsbBlaster
Connected to libftd2xx driver.
jtag> detect
IR length: 10
Chain length: 1
Device Id: 00000010000010100010000011011101 (0x00000000020A20DD)
  Manufacturer: Altera
  Part(0):         EMP570T100
  Stepping:     0
  Filename:     c:\program files\urjtag\data/altera/emp570t100/emp570t100
jtag>

 ナイトライダーをやってみた。

Chameleonusb0399 ←リンク先にAVI
「chameleonUSB.avi」をダウンロード

 

カメレオンUSB FX2はFX2のPortB、PortD、FIFOAD0、FIFOAD1、SLOEがEMP570T100に接続してあるので、ファームウェアはEEPROMに書かないでコンフィグ時だけファームウェアをロードした方が良さそうである。

2013年9月14日 (土)

風立ちぬ

風立ちぬ 宮崎駿
Photo

 単に「二郎と菜穂子」の恋物語と見ればよいのかもしれない。一緒に見た娘は堀越二郎も堀辰夫の「風立ちぬ」も知らないらしく悲恋の恋物語として見たらしい。

 オヤジにとっては、堀越二郎は零戦の栄光と挫折、堀辰夫「風立ちぬ」は山口百恵&三浦友和が演じた悲恋の物語だけれど、これらに重ね合わせてはいけないようだ

 あくまで、宮崎駿氏が考え出した「二郎と菜穂子の恋物語」である。自分の死を覚悟した菜穂子と、死期が迫った恋人がいながら「美しいもの」を追い続ける覚悟をした二郎の、お互いの覚悟を理解していた二人の恋物語であって、決して悲恋の物語ではないのかもしれない。
堀越二郎の「零戦 (角川文庫)」には設計者としての葛藤は書いてある。
しかし、兵器を作ること、作ったことにより大勢の命が失われたことについては言及が無い。このことについて、宮崎駿氏は半藤一利氏との対談の中で、「堀越二郎は言及するつもりがなかったのだろう」と言っていた。

 宮崎駿的堀越二郎の解釈は「『美しいもの』のために迷い無く邁進した」なのだろう。
堀越二郎氏が兵器を設計し、その結果として大勢の人が死んだことの葛藤について知りたいと思いながらこの映画を見たので、フィクションである宮崎アニメをノンフィクションのように捉えてしまった。

(この件についての宮崎駿氏の見解は、宮崎駿氏、高畑勲氏、鈴木敏夫氏鼎談(2014/4/27)にあった。(2014/4/29))

テレビで放送されたらまた見てみよう。(編集されて悲恋の恋物語になるんだろうな)

2013年9月12日 (木)

宮崎駿(2)

 宮崎駿氏が『熱風』2013年7月号特集「憲法改正」(852KB)で、ネットウヨに叩かれるような記事を掲載したことについて、その経緯を引退会見で記者の質問に答えている。(記事はこちら

「熱風」に掲載された記事も釈然としないが、その経緯の説明も釈然としないなあ。

2013年9月10日 (火)

昭和史 1926-1945

昭和史 1926-1945 半藤一利 平凡社ライブラリ
Photo

官僚的組織と意思決定(2013/9/8)を書いた後に、この本を読んだ。

 軍隊は官僚組織でなければ戦争はできない。官僚組織だからピーターの法則の縛りを受け、各階層はほぼ無能レベルに達した者で埋め尽くされる。

 開戦に至る経緯における問題は、司令部が現場を制御できなかったことであり、この本にも無能レベルに達していたと思われる人物が多く登場する。
司馬遼太郎の「坂の上の雲」にも無能レベルに達している人物が多く登場するので明治時代から官僚組織の弊害があったのだろう。

 「官僚組織と意思決定」では、格階層が無能レベルに達した者で埋め尽くされたとしても現場に有能な者がいれば組織は機能すると書いた。

 福島では、現場の責任者が上層部の命令を無視して独自に海水注入の判断を行ったことで日本を救ったが、この前の戦争では現場の責任者が上層部の命令を無視・軽視し多くの悲劇が生まれた。

 各階層が無能レベルの者で埋め尽くされた場合、下層より上層部が無能になることの方が影響が大きい。東電しかり、参謀本部しかり、軍令部しかりである。しかし、現場の責任者が無能レベルに達していた場合も悲劇が生まれる。

 話は変わって、人の能力とやる気という2つの観点で考えると、無能でやる気が無い者は論外だが、組織に最も被害を与えるのは、無能でやる気のある者である。

 東電、陸海軍だけでなく官僚組織では、現場より中央を重視しており、無能レベルに達していない者は中央に集められることが多く、無能レベルに達した者が現場責任者に就く可能性は高い。

 無能でやる気が無い責任者の場合、部下の有能な者が的確な判断を下すことは可能であるが、無能でやる気がある責任者の場合、部下に有能な者がいたとしても的確な判断は下せない。

 福島原発事故とノモハン作戦を比較すると、前者には、有能でやる気がある現場指揮官が存在し、後者には、無能でやる気のある現場指揮官が存在したということではないか。注目すべきは双方ともやる気はあったということである。

死の淵を見た男」と「昭和史」を読んで分かったことは、

日本人は、採用、登用において「やる気」を過大に評価する傾向にあるが、後に無能レベルに達することを考慮すれば「やる気」を過大に評価することは極めて危険である。

ということ。

2013年9月 8日 (日)

官僚的組織と意思決定

死の淵を見た男 門田 隆将 PHP研究所(2013/8/21)」を読んで、官僚的組織と意思決定について考えた。

官僚的組織と意思決定

 日本型階層組織(官僚的組織)の特徴は、権限と意思決定が分離していながらそれなりに機能しているところである。

 ワンマンなリーダやフラットな組織のリーダは権限を持ち意思決定を行っているけれど、日本型階層組織では、実は意思決定は部下が行っていることが多い。たまに複数案を提示することはあるが大方の方向は決まっていることが多く、権限を持つ者は部下の意思決定に誘導されている。

 権限を持っている者は、予め意思決定された事項を追認しているだけであって、組織の運営について意思決定するのではなく、自分が責任を取れるか取れないかという観点で意思決定していることがほとんどである。

 このような組織では、権限を持った者全員の承認を得るための儀式(スタンプラリーともいう)が必要なので、組織としての意思決定が遅くなる。これはよく指摘されている。

  このような組織が機能しないかというと、現場に有能な者がいればちゃんと機能する。

緊急時においては

 リーダが権限と意思決定を行っている組織において、緊急時にリーダが不在またはリーダが機能不全に陥るとその組織全体が烏合の衆と化す。
 しかし、権限と意思決定が分離している組織は、現場にいる有能な人材が適切な意思決定を行い、組織として機能不全になることがない。

 日本型階層組織においては、ピーターの法則のとおり各階層は無能な人材で埋められていて、有能な人材は能力に対して低い階層にいることが多いので、緊急時には、権限を持った者の承認を得ないで現場の有能な人材が自律的に意思決定することが可能だ。

福島原発事故においては

 福島原発事故はこれまでない規模になったが、結果的に致命的な状態を回避できたのは、現場で上の指示に依らず自律的に行動した人達がいたからである。(結果論)

 当事者に対するインタビューによれば、東電本社、原子力保安院、官邸は意思決定すべきトップが正しい意思決定できる組織ではなかったようである。

 一方、現場では東電本社や官邸の命令に従わず、所長が意思決定しで海水を注入したことで結果的に最悪の被害を回避したわけである。

今後の組織

 官僚的日本型階層社会は機能不全に陥っていると指摘されて久しいが、現場に自律的に動ける人材がいる組織は緊急時においても機能が失われるわけではない。
 この点については、もっと検討されてもよいのではないかと思う。

 旧来の上意下達的で融通のきかない硬い結合の組織から、目標を共有し自律的に行動する緩い結合の組織に変えられないものか。

###

 と書いた後で、昭和史1926-1945 半藤一利 平凡社ライブラリ を読んだら。↑の考察は不十分だと思う。

2013年9月 5日 (木)

知的生産の技術

知的生産の技術  梅棹忠雄 岩波新書
Photo

この本は、創造的な知的活動のために

  • カード式のメモ
  • 読書
  • かなタイプ
  • 文章

などについて技法が書かれている。

 これらの手法は、現在ではパソコンなど情報処理機器で容易に実現できる。
 デジタルデータが増え、蓄積も容易になり、個人でテラバイトを超えるデータを容易に所有することが可能になったが、集積した情報から知識を得る方法や、アウトプットを得る手法については今も昔も変わっていない。
 扱える情報量が増え、情報を扱うための便利なツールがあっても、パソコンが考えてくれるわけではないので、自らの頭で考えることは変わるわけではないのである。

 冒頭で、 学校では知識は教えてくれるが知識を獲得する方法については教えてくれないと指摘されているが、この問題は21世紀になった今でも改善されていない。
 若者が文章が書けない問題については、国語の授業がしばしば国文学の授業と混同されること、国語教師の多くが国文学の出身で文学への志向性が強いことが指摘されているが、この問題も21世紀になった今でも改善されていない。


続わたしの知的生産の技術 講談社 
Photo_2

 知的生産というざっくりとしたテーマで著名人が講演した講演録である。 

 「知的生産の技術」を買おうと本屋に行ったら生憎在庫がなく、たまたまこの本が古本コーナーにあったので買った。( 実はこの本の方がオモシロイ)

 執筆者(講演者)は学者、元編集者、文筆家、元官僚、戦場カメラマン、映画監督と多彩だ。多くの執筆者(講演者)は昭和1桁生れで戦時中に学生時代を過ごした人達である。ちょうど我々の親の世代なので我々世代とは感覚が違う。
 創造的活動というとつい身構えてしまうところがあるが、この年代の人たちは創造的活動が自然体である。いつ頃から創造的な知的活動が特別なものになったのだろうか。

 この、講演を企画している「知的生産の技術」研究会(通称:知研)は、今でもNPO法人として存続して活動しているらしい。

2013年9月 3日 (火)

OpenOCD TI-ICDI + LM4F120 LaunchPad

買って写真だけ撮って放っていた TIのLM4F120 LaunchPad で遊んでみる。

Lm4f120launcpad4

 TIのStellarisシリーズはいつの間にかTiva Cシリーズに変わっていて、このボードに載っているLM4F120H5QRはTM4C1233H6PMになったらしく、LM4F120H5QRのデータシートはTIのサイトで見つけることができなかった。(ネットには落ちているけど)
対照表がこのページTiva C Series ARM Cortex-M Microcontrollers にあるなんてわからないよ!

 TI謹製のCCSを使うと何の問題もないのだけれど、開発環境ばかり増えるのも嫌なのでEclipse+OpenOCDかInsight+OpenOCDでやりたいと思って放っておいたのだが、教材に使う魂胆でOpenOCDで使ってみることにした。

 OpenOCD 0.7.0 がICDIに対応したというのでDLしてみたが、LM4F120 LaunchPadは対応していないようだ。ところが、OpenOCDのサイトにあるUser's GUIDEはrelease 0.8.0-devになっていて、このドキュメントにはLM4F120LaunchPadのICDIもサポートされると書いてある。

 OpenOCD 0.8.0-devを探していると、ねむいさんのページにあったのでさっそくDLしてみると、tcl/boardにek-lm4f120xl.cfgがあった。(ねむいさんに感謝)

 例によってRAMで動くプログラムを作ってみた。
STM32vlDiscoveryに載っているSTM32F100RBT6BのRAMは8k、トラ技おまけのLPC1114FN28のRAMは4kだが、このボードに載っているLM4F120H5QRのRAMは余裕の32kである。

 ねむいさんのページにあったLM4F120H5QRのkickstartを参考にして、リンカスクリプト(lib/linker/lm4f120xxx.ld)を編集してすべてのセクションをRAMに配置するようにして、(">ROM"を">RAM"にするだけの手抜き) makeするとmain.sym、main.binができる。

  ek-lm4f120xl.cfgを使ってOpenOCDを起動するとICDI経由ターゲットのLM4F120H5QRが見える。

openocd -s ./tcl -f bord/ek-lm4f120xl.cfg

C:\OpenOCD\OpenOCD-0.8.0>openocd.exe -s ./tcl -f board/ek-lm4f120xl.cfg
Open On-Chip Debugger 0.8.0-dev-00131-gf4943ac-dirty (2013-08-30-09:42)
Licensed under GNU GPL v2
For bug reports, read
        http://openocd.sourceforge.net/doc/doxygen/bugs.html
Info : This adapter doesn't support configurable speed
Info : ICDI Firmware version: 9270
Info : lm4f120h5qr.cpu: hardware has 6 breakpoints, 4 watchpoints

telnetでlocalhost:4444に接続して、main.binをロードして実行する。

Open On-Chip Debugger
> version
Open On-Chip Debugger 0.8.0-dev-00131-gf4943ac-dirty (2013-08-30-09:42)
> reset halt
target state: halted
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x0000334c msp: 0x20001000
> load_image C:\\LM4F120H5QR_Launchpad\\main.bin 0x20000000 bin
2340 bytes written at address 0x20000000
downloaded 2340 bytes in 0.078000s (29.297 KiB/s)
> mdw 0x20000000 2
0x20000000: 20008000 20000281
> reg sp 0x20008000
sp (/32): 0x20008000
> reg pc 0x20000280
pc (/32): 0x20000280
> mww 0xE000ED08 0x20000000
> resume
>

LM4F120H5QRのFlashは0000:0000-0004:0000、RAMは2000:0000-20000:8000に配置してあるので、スタックポインタ(SP)は、20000:8000を、プログラムカウンタ(PC)はmain.symからResetHandlerのアドレスを探すか、main.binをロードして2000:0000に書かれているアドレスを、mww 0x20000000で調べて指定する。(2000:0280) 

reg sp 0x20008000
reg pc 0x20000280

 LM4F120は割り込みベクタテーブルはVTABLEレジスタ(E000:ED08)で設定する。
VTABLEレジスタにRAMの開始アドレス2000:0000を書くと割り込みベクタがRAMに配置されるらしい。
(Tiva™ TM4C1233H6PM Microcontroller (identical to LM4F120H5QR) DATA SHEET tm4c1233h6pm.pdf P154 Register 68: Vector Table Offset (VTABLE), offset 0xD08 参照)

mww 0xE000ED08 0x20000000

そして
resumeするとPC=0x20000280 ResetHandlerから実行される。

 フラッシュメモリの内容をシリアルにダンプするプログラムを書いてみた。

Welcome to LM4F120XL LaunchPad dump program !!
 F : dump Flash area
 R : dump RAM area
 H : Help

 address  +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F
0000:0000 00 10 00 20 4D 33 00 00 BB 2A 00 00 8F 11 00 00 ... M3...*......
0000:0010 07 27 00 00 07 27 00 00 07 27 00 00 00 00 00 00 .'...'...'......
0000:0020 00 00 00 00 00 00 00 00 00 00 00 00 07 27 00 00 .............'..
0000:0030 07 27 00 00 00 00 00 00 07 27 00 00 81 27 00 00 .'.......'...'..
0000:0040 07 27 00 00 07 27 00 00 07 27 00 00 07 27 00 00 .'...'...'...'..
0000:0050 07 27 00 00 BD 16 00 00 07 27 00 00 07 27 00 00 .'.......'...'..
0000:0060 07 27 00 00 07 27 00 00 07 27 00 00 07 27 00 00 .'...'...'...'..
0000:0070 07 27 00 00 07 27 00 00 07 27 00 00 07 27 00 00 .'...'...'...'..
0000:0080 07 27 00 00 07 27 00 00 07 27 00 00 07 27 00 00 .'...'...'...'..
0000:0090 07 27 00 00 07 27 00 00 07 27 00 00 07 27 00 00 .'...'...'...'..
0000:00A0 07 27 00 00 07 27 00 00 07 27 00 00 07 27 00 00 .'...'...'...'..
0000:00B0 07 27 00 00 07 27 00 00 07 27 00 00 07 27 00 00 .'...'...'...'..
0000:00C0 07 27 00 00 07 27 00 00 07 27 00 00 07 27 00 00 .'...'...'...'..
0000:00D0 07 27 00 00 07 27 00 00 07 27 00 00 07 27 00 00 .'...'...'...'..
0000:00E0 07 27 00 00 07 27 00 00 07 27 00 00 07 27 00 00 .'...'...'...'..
0000:00F0 07 27 00 00 07 27 00 00 07 27 00 00 07 27 00 00 .'...'...'...'..

もう少し大きなプログラムを書いてみよう。

« 2013年8月 | トップページ | 2013年10月 »