Keil µVision3 で GNU C を使う (3)2009年03月04日 22時20分16秒

Target Device
期待していたので少しがっかりした。
まあ、労せずして利を得ようとしたのが間違いだったかも知れない。


keil の GCCARM331.EXE は古いので 'cortex-m3' などがサポートしてないようだ。


それ以外に手間なのは新しいCPUのほとんどが


startup file
Linker script
Header file


などをそのつど用意しなければならないことだ。


また、プロジェクトジェネレータの設定はどうも uv3.cdb に書いてあるらしく、これを編集するのも大変だ。
何しろ内部構造が分からないし


まだある、
ディレクトリ名にスペースを含むと動作がおかしい。


これはあきらめよう。


Ride7 に NXP、 Atmel、 Analog Devices などを入れることに挑戦してみよう。


でも、少し未練がある Keil uVision3 はRaisonance Ride7 に比べて早い。

Keil µVision3 で GNU C を使う (4)2009年03月05日 23時11分00秒

Device Database
「あきらめよう」と言ってはみたもののもう少し調べてみた。


1.プロジェクトジェネレータの設定は uVision3 のメニューの中にあった。
 よく調べないとだめだ。
 File ⇒ Device Database で見ることができる。
 もちろん、変更も、追加もできる。


2.エディタの設定
 Edit ⇒ Configurayion


 Editor Tab の Virtual Spaces のチェックを外す。この方が使いやすい。
 Colors & Fonts Tab の Font を日本語表示可能な Font にする。


3.プロジェクトの設置 (一番よく使うところ)
 Project ⇒ Components. Environment and Books (環境)
 Project ⇒ Options for Target (ターゲット)


 ここの Utilities に FlashMagic を登録しておくとよい。
 Command:   FM.EXE
 Arguments: DEVICE($D,$X) ERASE(DEVICE,PROTECTISP) HEXFILE(!H,NOCHECKSUMS,NOFILL,PROTECTISP) COM(1,230400)
 デフォルトは LPC210x_ISP.exe こちらはもうサポートしてないようだ。
 Command:   LPC210x_ISP.EXE
 Arguments: "#H" ^X $D COM1: 38400 1

 出力フォーマットを追加したいなら
 User Tab の Run User Programs After Build/Rebuild に設定する。ツールメニューに登録してもよいけど...
 arm-glue-objcopy.exe -O binary !L.elf !L.bin
 arm-glue-objcopy.exe -O srec !L.elf !L.s19


4.ツールメニュー
 Tools ⇒ Customize Tools Menu
 ここに ツールを登録しておくと便利


参考: IN-SYSTEM PROGRAMMING USING FLASHMAGIC



Keil µVision3 で GNU C を使う (5)2009年03月06日 22時42分46秒

Keil µVision3
ここらでちょっとサンプルをコンパイルしてみよう。
gcc はサンプルがたくさんある WinARM にする。


インストールしたWinARM の中に STM32 と LPC23xx のサンプルがあるのでそれでいいかな。


まず、 STM32 から
C:\WinARM\examples\STM32F103VHB6_RevZ_Demo1 の中に
・New μVision Project で空のプロジェクトを作成。
   Target は STM32F103VB を選択する。(CQ-STARM を想定)
・Add File to Group 'Source Group1' で以下のファイルを追加する。
   main.c
   stm32f10x_it.c
・Project ⇒ Options for Target の
 CC Tab :
   Include Path : .\lib\inc を指定
   Compile Thumb Code :チェックを入れる
 Linker Tab :
   Linker Script File : .\stm32.ld を指定
   Include Libraries : stm32 を指定
   Include Path : .\lib を指定
この設定でエラーなしにリンクできるが、うまく動くかどうかは未確認


次に、LPC2388
C:\WinARM\examples\uvision_glue_test の中から
・Open Project で gluetest.Uv2 をオープンする
・Project ⇒ Options for Target で
   Device Tab : LPC2388 を選択する。(CQ-FRK-NXP-ARM を想定)
これもエラーなしにリンクできるがうまく動くかどうかは未確認。
まだ現物も手に入ってないし...


最後は ADuC7026 これはAnalog Devices ARM Projectsの中の ADuC7026 GPIO Example
・New μVision Project で空のプロジェクトを作成。
   Target は ADuC7026 を選択する。(FRK-ADuC を想定)
・Add File to Group 'Source Group1' で以下のファイルを追加する。
   blinky.c
   irq.c
   startup.S
・Project ⇒ Options for Target の
 CC Tab :
   Include Path : .\include を指定
 Linker Tab :
   Linker Script File : .\ADuC7026-ROM.ld を指定
動作は未確認


それはそうと、この Keil µVision3 はよく落ちる。
エラー処理が弱いのだろう、もう少し完成度を上げてほしい。
µVision4 Beta も出てきているけど


STM32F103VHB6_RevZ_Demo1
LPC2388 uvision_glue_test
ADuC7026 blink


参考: ARM projects

Keil µVision3 で GNU C を使う (6)2009年03月07日 21時00分26秒

WinARM into the Keil uVision3
Keil µVision3 から GNU C のアーカイバが使えなかったので使えるようにした。
インストールした bin ディレクトリに入れる。
もちろん WinARM glue-package と一緒に


WinARM_ar_uVision.ZIP


設定は Components, Environment and Books とバッチファイル


まず Components, Environment and Books の Folders/Extensions を以下のように設定
GNU-Tool-Prefix: arm-glue-
Cygnus Folder: インストールしたディレクトリ


次に arm_glue_prefix.bat の内容をインストールした gcc に応じて変更する。
CodeSourcery G++ ならば
set ARM_GLUE_PREFIX=arm-none-eabi-
GNUARM V4 ならば
set ARM_GLUE_PREFIX=arm-elf-
WINARM ならば
set ARM_GLUE_PREFIX=arm-eabi-
Cygnus ならば
set ARM_GLUE_PREFIX=arm-uclibc-


もうひとつあった
GNUARM の場合 Project ⇒ Options for Target の Assembler タブの Misc Controls に
-mfpu=softfpa を追加しなければならない場合もある。

STM32F105/107xx2009年03月11日 22時28分23秒

昨年から今年リリースされる予定と聞いていたがやっと登場したようだ。


LPC1768 に似ているので選択に迷うところだ。


おっと、LM3S9B95 こんなのもあった。


ttp://www.st.com/mcu/familiesdocs-110.html#Datasheet
ttp://www.luminarymicro.com/products/LM3S9B95.html

CQ-FRK-NXP-ARM (LPC2388)2009年03月16日 22時57分39秒

I/F誌付録LPC2000基板の試食」という記事があった。


あ、もう発売されたのか買いに行かなくちゃ...
と思ったが今日は3月16日
まだ発売されてないよね


何でこんなに早いの


記事によると今回もUSB-シリアル変換ICが載っているらしい
USB-B が二つ、USB-A が一つ
また混乱してしまいそうだ。
どうもこのあたりがすっきりしない。
また、井倉将実か?


ここは、USB Bootloader か Ethernet Bootloader を使うのがスマートだと思うが...


話は戻って、先程の続き lpcsp.exe もある。
使わせてもらいます。


mplpc も Keil µVision3 + GCC でコンパイルしてみた。
エラーなしでリンクまでできる。(動作は未確認)


mplpc.zip を解凍した同じディレクトリに Keil_uVision3_Project.ZIP を入れて解凍する。
後は Keil µVision3 から Open Project で開くだけ。


mplpc Keil uVision3 GNU Project file

Raisonance Ride7 & ARM Tools (8)2009年03月18日 22時50分21秒

Raisonance Ride7 & ARM Tools with LPC2388
Raisonance Ride7 & ARM Tools で LPC2388 をコンパイルする。
CQ-FRK-NXP-ARM を使うための準備だ。


手順は
1.C:\Program Files\Raisonance\Ride\Sim\ARM に LPC2388.sim をコピーする。
2.C:\Program Files\Raisonance\Ride\Config\ARM\HFARM.XML に LPC2388 を追加する。
3.レジストリに LPC2388 を登録する。


Ride_LPC2388.ZIP


実際にコンパイルできるかどうか試してみよう。


サンプルは WinARM の中にある uvision_glue_test を使うことにする。
コンパイルはできるが動作は未確認。


Raisonance Ride7 & ARM Tools も何とかなりそうだ。
今は無理やりねじ込んだといった感じだ。
やはり、汎用リンカースクリプトとスタートアップを作りたい。


Keil µVision3 + WinARM とどちらが使いやすいかな...
そういえばいつの間にか Keil の評価バージョンはコードサイズ制限が32kbになっていた。


参考:
Ride7 IDE (7.16.0000)
Rkit-ARM for Ride7 (1.16.0930)
※スクリプトファイルはオリジナルから変更あり。(以前の記事参照)

ちょっと便利な tools (1)2009年03月20日 22時54分16秒

KPIT GNU Map Viewer
ちょっと便利な tools まず一つめ


KPIT GNU Map Viewer これが意外と便利


Keil µVision3 に組み込んで使っている。
もっとも、map ファイルはテキストファイルなのでそのまま読んでも問題ないのだが、整理して表示するので見やすい。
もちろん KPIT GNU Tools をインストールしていなければならない。
場所は
c:\program files\renesas\hew\tools\kpit cummins\gnu-map viewer\v1.0\MapViewer.exe

ちょっと便利な tools (2)2009年03月20日 23時04分24秒

KPIT GNU Archive Editor
ちょっと便利な tools 二つめ


KPIT GNU Archive Editor これも意外と便利


Keil µVision3 に組み込んで使っている。
ただし、これは h8 or sh 用なので Disassemble はできない。
中身を見るだけ...


同様に KPIT GNU Tools をインストールしていなければならない。
場所は
c:\program files\renesas\hew\tools\kpit cummins\gnuh8-archive editor\v1.1\arcedit.exe

ホームページ2009年03月21日 20時07分18秒

ホームページが他人によって書き換えられたいた。
どうやって書き換えるのかは知らないが
知識を持った人には簡単なことなのだろうか?


iframe タグを使って別のサイトへ誘導するものらしい。