タグ

cとlinkerに関するjjzakのブックマーク (3)

  • ■ - ウォンツテック

    nchaOSではfirstbootからsecondboot、さらにstartKernelへの移動をljmp命令などで行い、それぞれのバイナリをcatなどでつなげてメモリ上の位置を制御していたが、今回はldのリンカスクリプト等を使い制御していきたいと思う。 そこでリンカスクリプトやその周辺についてメモを適当にまとめてみる。 オブジェクトファイル 1. asの「-a」オプションによりアセンブリリストを出力する 2. objdump -h objfile(objfileはas後のファイル)によりSECTIONのヘッダー情報を出力 3. objdump -t objfile によりシンボル情報を出力 リンカスクリプト 主な機能 1. ファイルの指定方法 ld -T file objfile.o -o outfile 2. 出力ファイルのメモリレイアウト方法 SECTIONS { . = 0x900

    ■ - ウォンツテック
  • 初めてのC言語 - 第9回 リンカスクリプト

    目的 メモリマップを自分で決めて、リンカスクリプトを(途中まで)記述する メモリマップ これまで普通にC言語を使ってきたときには、OSがありました。第1回の時にもプログラムを動かしていたのはLinuxでした。 プログラムはOSによって、様々なリソース割当を行われます。CPU時間もそのひとつですが、最も重要なのがメモリ割当です。実際にプログラムが使うメモリを予約して、その空間に適切な形でプログラムを読出し、プログラムを実行します。必要に応じてアドレス変換やメモリ保護なども行います。 しかし、この「始めてのC言語」ではOSはありません。メモリ割当は自分で行う必要があります。このメモリ割当を行うために必要なのがリンカスクリプトです。 リンカスクリプトを作る前に、ターゲットコンピュータのメモリマップを知る必要があります。メモリマップとは、どのアドレスに何が置いてあるかの表みたいなものです。今回対象

  • 組み込み向けクロス開発環境の構築

    ※ この記事は、Interface 2004年5月号に掲載された記事を加筆、修正したものです。 目次 1. はじめに 2. PCで開発できる組み込みシステム 3. クロス開発環境とは? 4. GNU開発環境とは? 5. GNU開発環境のビルド 6. GDBスタブのROMへの書き込み 7. アプリケーションのコーディング、ビルド、デバッグ 8. アプリケーションのROM化 9. さいごに 10. 用語集

    jjzak
    jjzak 2007/09/04
    組み込み向けのコンパイル方法等、コードROM化、デバック、リンカスクリプト等
  • 1