Foros: Ayuda (Thread #23876)

デバッグモニタについて (2009-09-11 03:54 by toru-o #45814)

初めまして
初めて投稿します
どうぞよろしくお願い致します

最近「ITRONプログラミング入門」という本を購入し、3052および3069にモニタプログラムを書き込み、
ちょっとしたコードならRAM上に展開して動作出来るまでにはもっていけました。
(プログラムは、hamayan氏のサイトからそれぞれSRAM、DRAM(EDO対応)対応版を落としてきました。
 また、ハードは何れも秋月にて購入のLAN開発ボードなるものです)

そこでひとつ気になったのが、#5965の方が書かれた記事(というか質問)の一連です

その中で、#5967・m-arai氏の記述で

 User Vector 200000 - 2000FF

とありましたが、現状私のUser Vector値は「FFF030-FFF12F」などと表示されます
(正確な値は忘れてしまったので必要なら後日ご報告致します)

この値は、おそらくモニタプログラムのビルド時に決まるものと考えていますがどうでしょうか?
だとすると、現在上記hamayan氏サイトから落とせるのはビルド済みの.motファイルのみで、当方では
リビルド出来ない、というのが現状と考えておりますが如何でしょうか?

「本家」ルネサスのページも変わってるようで、実際ソースが落とせるかもわかりません
(見つけることが出来なかった)
もしありかがわかればお教え頂けませんでしょうか?

それとも、何かの記事か何かで、プログラムをRAM展開するには、リンカスクリプト(「.x」ファイル)内のVector領域は設定の必要が無い、というような内容を見た記憶があります
もしそうなら、単にramとstackだけ指定(記述)してあげればいいのかな?とも思ったりしましたが
そんな単純でもないのでしょうか?

#当方「C」は何とかなるレベルだと自分では認識していますが、リンカスクリプトやスタートアップルーチンの
記述は全くの初心者です
すみません・・・

少し纏めさせて頂きます:
・デバッグモニタソースはまだどこかに存在するのか?またそれをカスタマイズできるのか?
・User Vector値の表示は気にしなくてもいいのか?実はそれはリンカスクリプトや
スタートアップルーチンで解決できてしまうのか?

因みにコンパイラは先の本の巻末で紹介の「素のWindows上で動くgccクロスコンパイラ」を使っています

初めての投稿にもかかわらず長文をお許し下さい
不足なことがあったら併せて教えて下さい
よろしくお願い致します

Responder al #45814×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Entrar

RE: デバッグモニタについて (2009-09-11 04:53 by hamayan #45816)

はじめまして、よろしくお願いいたします。

> とありましたが、現状私のUser Vector値は「FFF030-FFF12F」などと表示されます

このアドレスはH8の内蔵RAM領域を示しています。

外部にRAMを拡張してあるのになんでそちらにしないかと言えば、まず内蔵RAM(内蔵メモリ)が動かない確立は物凄く低いですが、外部のRAM(外部メモリ)が動かない確立は意外と有る。

外部メモリに比べて内蔵メモリの方がアクセスが遥かに高速に行える。これは、割り込みベクターやスタックなど、頻繁にアクセスされる可能性がある場合、当然アクセス速度の速い方がシステム全体を高速化できる可能性があるからです。

3052や3069は比較的大きな内蔵RAMを持っているので、できるだけ内蔵メモリを有効に使った方が良いでしょう。


> それとも、何かの記事か何かで、プログラムをRAM展開するには、リンカスクリプト(「.x」ファイル)内のVector領域は設定の必要が無い、というような内容を見た記憶があります

これは不思議な話ですが、少なくともHOSのH8用のリンカスクリプトには不要な記述は存在しませんので、リンカスクリプトのvectorsの記述をデバックモニターのUSER領域に一致させてリンクすればOKな筈です。
Responder al #45814

Responder al #45816×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Entrar

RE: デバッグモニタについて (2009-09-11 14:29 by toru-o #45826)

hamayanさま
早速のご回答ありがとうございます

そのような意図があるとわかれば安心です
特にわたしのような「初めてコーディングする人」にとってはフラッシュの書き換えの回避は大きいです
少しずつでも御書を読破出来るようがんばってみたいです

また、vector関連のリンカスクリプトへの記述の件は未だによくわかっていません。因みについ最近まで
試していたのがRedBootというもので、どうやらこれがvector云々を吸収してくれてた、ということのようです。

そういう意味でも、リンカスクリプトやスタートアップルーチンを理解せねば、と思うのですが、余計な
お世話かもしれませんが皆さんはどうやってマスターしていかれるのでしょうか?
本を探そうにも、何をキーワードに探せばいいのやら、トホホ...
Responder al #45814

Responder al #45826×

You can not use Wiki syntax
You are not logged in. To discriminate your posts from the rest, you need to pick a nickname. (The uniqueness of nickname is not reserved. It is possible that someone else could use the exactly same nickname. If you want assurance of your identity, you are recommended to login before posting.) Entrar