• ベストアンサー

AVRマイコン

AVRマイコンについて質問があります. AVRはスタートアップルーチンや ベクターテーブル等は 開発環境でコンパイルする際に自動的に 付加されると聞いたのですが 起動時にどのタイミングで スタートアップルーチンやベクターテーブルが 読まれ,どのように使われているのか 調べたのですが分かりません. どなたかご存知の方は教えていただけないでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • nano_cat
  • ベストアンサー率24% (26/106)
回答No.1

Cコンパイラですか? スタートアップルーチンはmain()関数を実行する前に 実行されているでしょう。スタックポインタの設定、 初期化された変数などをセットしておくとか。 ベクタテーブルは別に読まれていないでしょう。 割込が起きた時にジャンプするだけ。 アセンブラでプログラムを作ったことはおあり でしょうか? そのCコンパイラはアセンブラ 出力はできないのでしょうか?

ajihei
質問者

お礼

なるほど. スタックポインタの設定等を行っている訳ですね. スタートアップルーチンを見たのですが アセンブラ経験がほとんどないため分かりませんでした. アセンブラの参考書等を購入して 理解して意向と思います。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • AVRマイコンの割り込みについて

    AVRマイコンの割り込みについて 初心者です。 ・AVRマイコンの割り込みの優先順位ですが、割込みベクターのアドレスが小さい順に優先度が高いでよろしいでしょうか? ・優先低の割り込みルーチンを処理している時に、優先高の割り込みが入った場合、  (1)優先低の割り込みルーチン処理中断→優先高の割り込みルーチンの処理、完了→優先低の割り込みルーチン処理再開(中断ヶ所から)  (2)優先低の割り込みルーチン処理、完了→優先高の割り込みルーチンの処理、完了  (3)その他 (1)、(2)、(3)のどの処理が行われますか? ・優先高の割り込みルーチンを処理している時に、優先高の割り込みを禁止し、ルーチン内で優先低の割り込みが入った場合、優先高の割り込みルーチンから優先低の割り込みルーチンにとばすことは可能でしょうか? 以上、よろしくお願い致します。

  • AVRマイコンの開発環境をインストールするには

    AVRマイコンの開発環境をインストールしたいのですがどのようにすればいいのでしようか 手順を教えてください。

  • AVRマイコンのCコンパイラについて

    PCでは、Cやアセンブラの経験もそこそこある本職のプログラマですが、マイコンは初心者です。 AVRマイコンに興味がわいて、早速使ってみたのですが、 開発環境は、AtmelStudio6と、AVRStudio4の両方を試しています。 どちらの開発環境も、ライブラリ関数のリファレンスがどこにあるのか わからない状況です。 サンプルをみると、_delay_ms()などの関数とincludeファイルがいくつかあるので、 ライブラリ関数がないわけではなさそうです。 ネットで検索しても、ライブラリ関数のリファレンスに相当するものをみつけられません。 AVR達人の方、どこに情報があるのか教えて頂けると幸いです。 情報は日本語が望ましいですが、英語でも構いません。 よろしくお願いします。

  • IAR社のAVRマイコン用の無償版コンパイラ

    最近、AVRマイコンを使用し始めたのですが、 訳あってIAR社のコンパイラを使用しようと考えています。 試しに、IAR社のAVRマイコン用の無償版コンパイラを ダウンロードしました。 コンパイルすると、実行形式ファイルが、3個生成されました。 test.hex(おそらく本体), test_data.hex, test_eeprom.hexです。 ISPを使用してダウンロードしようとしたのですが、 ファイルを3つもダウロードできないようです。 試しにtest.hexをダウンロードしましたが、 動作しませんでした。 何か、実行形式ファイルの出力設定などがあるのでしょうか? また、簡単なサンプルプログラムなどお持ちの方いらっしゃらないでしょうか? マイコンは、Atmega128です。 ご存知の方がいらっしゃいましたら、ご教授お願い致します。

  • macでAVRマイコン(ATtiny13)を開発

    macでAVRマイコン(ATtiny13)を開発しようとしています。 当方初心者です。 環境は mac osx 10.9.5 Xcode 6.1(認証済) macports 2.3.4 ライターAVR ISP mkII Arduino(0023) Mavericsでは、USB接続するにはavrdudeが必要との事で、 sudo port install git-core libusb avrdude としてmacportsにavrdudeをインストールしようとしますが、 Error: git-core has been replaced by git; please install that instead. Error: org.macports.configure for port git-core returned: obsolete port となり、エラーになります。検索しても見当たらず、全く対処法が分かりません。 現状、ArduinoでUSBポートが出てこず、AVR ISP mkIIを接続できない状態です (ATtiny13は接続してあり、電源も供給していますので、AVR ISP mkIIの左下のLEDは 緑に点灯しています。上部のLEDはmac起動時に一瞬点灯しますが、すぐに消えます)。 お詳しい方、ぜひご教授お願い致します。

    • 締切済み
    • Mac
  • AVR Studio 4?5?Atml 6?

    AVRISPmkII を使用したいと思っています。 開発環境はWin7 64bitです。 インストールしようと思い調べていたら 【マイコン編 1回】 零からの電子工作 第36回:後編 開発環境構築 http://www.nicovideo.jp/watch/sm14483389 【AVR】電子工作のススメ 第一回「マイコンのススメ」 http://www.nicovideo.jp/watch/sm7775003 この動画が作成された時点では5が出ていたみたいですが 最新版の危うさと情報の少なさから4を使用していました。 なので私も4を使おうと思ったのですが公式サイトではもう公開していないのか 見つかりませんでした。 こんなサイトがあるみたいですが何だか怪しげで・・・相談にのってください http://www.mikrocontroller.net/articles/Atmel_Studio なので5を使おうと思って AVR Studio 5のインストールと留意点 http://jsdiy.web.fc2.com/avr_as5inst/ ここを参考にしましたがやはり5は公開されていないようで Atml 6しか見つかりませんでした。 ただ、6は情報が全然見つからなくトラブルが無いか不安です。 どうするのが最善だと思われるでしょうか? ご見識がございましたらご意見いただけますようお願いいたします。

  • AVR Studio 6のCコンパイラについて

    今まではAtmelのマイコンでのコーディングの時にはAVR Studio 4をインストールして、C言語でのプログラミングのためにwinavrというCコンパイラをダウンロードしてインストールして使用していました。 最近のAtmelの開発環境はVersionが上がっていてAVR Studio 6というのが使用できるようになっていたので、インストールして使用してみたのですが、この開発環境をインストールすると既にC言語のコーディングとかコンパイラができるようになっていました。 この標準搭載のCコンパイラはwinavrのものなのでしょうか? それともAtmel自信のCコンパイラなのでしょうか? ご存じでしたらご教授よろしくお願い致します。

  • AVR StudioのEEPROMのhexファイル

    いままでAVR Studio4というAtmelマイコンの開発環境をwindows 7のPCで使用していました。最近、PCを買い換えてwindows8になってからマイコンの書き込みで使っていたUSB接続のAVRICEデバッガがwindows8のドライバで対応していないなどがあり、AVR Studio6をインストールしたらこれらのデバッガが使えるようになったので使っていました。 しかし、複数のAtmega88のEEPROM領域に初期値として書き込んでいたhexファイルがあったのですが、なぜかAVR Studio6でダウンロード使用とすると書き込みがエラーしたりします。 まったく同じファイルをAVR Stuio4でダウンロード使用とするとこれは可能でした。 このEEPROMへのファイルのダウンロードに関してVer4とVer6ではなにか仕様に変化がありましたでしょうか? ご存じの方いらっしゃいましたらご教授頂きますようお願い致します。

  • PIC・AVRのC言語の初心者無向け勉強・参考本

    まずカテゴリーがコンピュータのC C++になっていますが、PIC・AVRもこのカテゴリーで良いのか分からなかったので、間違いでしたらご指摘下さい。 PIC・AVRのC言語の初心者無向け勉強・参考本・シンプルなフリーコンパイラをご紹介頂きたく思います。 現在PICは、ほとんどがPIC Basic Proでプログラミングしています。 あとは、フリーで公開されているアセンブラ(ASM)をNotepadで自分の仕様に修正してコンパイルしています。 しかし、PIC24Fシリーズ以降はPIC Basic Proは対応しておらず、フリーで公開されているプログラムのほとんどがC言語です。 一様、PIC24Fシリーズが出た頃にHI-TECH C CompilerとPIC-Cで試しにコンパイルできるかやって見たのですが、多分設定の段階でミスってしまい再インストールやバージョンを変えても、上手くコンパイルできません。 その後、放置していたので今現在は試用期間切れになってしまっています。 AVRの方は(Arduinoが周辺キットが豊富みたいですが・・・)、 一様ライティング機器としてAVRISP mk2を購入しAVR Studio 6.1をインストールしてありますが、PICマイコン同様C言語は初心者で、自分でプログラムを書くことが出来ません。 また、PICとの使い勝手の違いからハード・ソフトの準備は出来ているものの、現状は宝の持ち腐れに近い状態です。 フリーで公開されているHEXファイルを書き込む程度にしか使ってません、多少の使用環境の違いの修正も、AVRの方も上手くいきません。 勉強不足・学力不足と言わざるを得ません。 長々と前置きを書いてしまいましたが本題です。 PICとAVR各々に特化したC言語の初心者向けの本を色々教えて下さい。 書店でC言語の本を探すとWindows用がほとんどで、「C言語ではじめるPICマイコン」みたいなタイトルの本を立ち読みしても、いまいちピンときません。 (AVR・Arduinoも同様です。) また、ソフトの方は出来る限りフリーソフトでシンプルで、HI-TECH C Compiler・PIC-C・AVR Studioみたいな開発環境向けソフトでなく、インストール後はドラッグ&ドロップするだけで、C言語ファイル(AVRの方はASMファイル用も)をコンパイルできる物を教えて下さい。 ※ 開発環境の機能の無い物ってのは都合良すぎるでしょうか?? 何卒ご教授のほど宜しくお願い致します。 m(_ _)m ※※※※※※※※※※※※ テスト用・実用的プリント基板の作製は、それなりの物を取り揃えておりますので、ご心配なさらずに・・・・ でも、こんな基板があると動作確認などに重宝しますと言った情報は大歓迎です。 (市販品・自作可能なプリント基板情報などなど)     

  • ルネサスマイコン(R8C) ビルドエラーについて

    マイコン:R8C(R5F21226) 開発環境:HEW(Windows7) マイコン開発初心者です。 恐れ入りますが、ご教授頂きたく質問させて頂きます。 とあるプログラムを組んでいるのですが、 下記ビルドエラーが発生し、原因がわからず困っています。 『L2321 (E) Section "vector" overlaps section "program"』 文面から見るに、「ベクタ領域のアドレうがROM領域に重複している」 ということで宜しいのでしょうか? 各領域のアドレス値、並びベクタ領域も変更していません。 ※全て初期値のままです。 お手数ですが、このエラーが発生する主な原因を 教えて頂けないでしょうか?