月別アーカイブ: 11月 2008

cygwinで秋月H8/3069ネットワーク対応ボード用Redboot構築

cygwinで秋月H8/3069ネットワーク対応ボード用Redboot構築


  1. 準備
    • クロス開発環境
      • cygwinでH8/300H用Redboot開発環境構築で構築した環境
    • eCosをダウンロード
      • eCos/RedBoot for H8/300プロジェクトより「CVS リポジトリは匿名(anonymous)でpserverにアクセスし、チェックアウトします。modulenameには、チェックアウトするモジュールの名前を指定します。パスワードプロンプトが表示されたら、単にENTERキーを押してください。」
        $ cvs -d:pserver:anonymous@cvs.sourceforge.jp:/cvsroot/ecos-h8 login
        $ cvs -z3 -d:pserver:anonymous@cvs.sourceforge.jp:/cvsroot/ecos-h8 co ecos
    • eCosをターゲットにあわせて編集する
      • 秋月3069ボードのDRAMがOKI製EDODRAMでファストページモード非対応なら、platform.incを編集
        $ nano packages/hal/h8300/aki3068net/current/include/platform.inc
        INIT_REGS_DATA(CYGARC_DRCRA,0x38) →  INIT_REGS_DATA(CYGARC_DRCRA,0x30)  不要らしい・・・toppers_users 1375 より
      • redboot with flashに対応するためnet/net_io.cを編集
        $ nano packages/redboot/current/src/net/net_io.c
        #define _IP_ADDR(a, b, c, d) ((a << 24) | (b << 16) | (c << 8) | d)
        の次の行に以下を追加する。
        #define _IP_ADDR(a) (a)
  2. Redboot構築
    • コンフィグレーション(aki3068netをベースとする)
      $ ecosconfig new aki3068net redboot
      $ ecosconfig add CYGPKG_IO_ETH_DRIVERS
      $ ecosconfig add CYGPKG_DEVS_FLASH_H8300_PROGS
      $ ecosconfig add CYGPKG_IO_FLASH
      $ ecosconfig tree
    • 構築
      $ make

cygwinでH8/300H用Redboot開発環境構築

cygwinでH8/300H用Redboot開発環境構築


  1. 準備
    • ホスト構築環境
      • cygwin setup ですべてのパッケージをインストール
    • ディレクトリ構成
      • /(絶対パス)/build-tools
      • /(絶対パス)/build-tools/build-binutils
      • /(絶対パス)/build-tools/build-gcc
      • /(絶対パス)/tools
    • 以下をダウンロード
      • binutils-2.14.tar.gz
      • gcc-core-3.3.2.tar.gz
      • gcc-g++-3.3.2.tar.gz
      • newlib-1.11.0.tar.gz
    • eCos/RedBoot for H8/300プロジェクトから以下をダウンロードしてリネーム
      • gcc-3.3 patch項のgcc.diff-new
        $ mv gcc.diff-new gcc-3.3.2-h8300.diff
      • binutils, gcc, newlib を展開
        $ cd build-tools
        $ tar xvzf binutils-2.14.tar.gz
        $ tar xvzf gcc-core-3.3.2.tar.gz
        $ tar xvzf gcc-g++-3.3.2.tar.gz
        $ tar xvzf newlib-1.11.0.tar.gz
    • gccにパッチをあてる(H8での浮動小数点扱い対応?)
      $ cd gcc-3.3.2
      $ patch -p1 < gcc-3.3.2-h8300.diff
      $ cd ..
    • newlibをgccといっしょにコンパイルするためにのnewlibとlibglossをコピーする
      $ cp -r newlib-1.11.0/newlib gcc-3.3.2
      $ cp -r newlib-1.11.0/libgloss gcc-3.3.2
  2. ツールチェインを構築
    • binutilsをコンフィグ、構築、インストール
      $ cd build-binutils
      $ ../binutils-2.14/configure –target=h8300-elf \
      > –prefix=/(絶対パス)/tools -v 2>&1 | tee configure.out
      $ make -w all install 2>&1 | tee make.out
      $ cd ..
    • 構築したツールチェインへのパスを通す
      $ PATH=/(絶対パス)/tools/bin:$PATH; export PATH
    • gccをコンフィグ、構築、インストール
      $ cd build-gcc
      $ ../gcc-3.3.2/configure –target=h8300-elf \
      > –prefix=/(絶対パス)/tools –enable-languages=c,c++ \
      > –with-gnu-as –with-gnu-ld –with-newlib \
      > –with-gxx-include-dir=/(絶対パス)/tools/h8300-elf/include \
      > -v 2>&1 | tee configure.out
      $ make -w all install 2>&1 | tee make.out
  3. ecos開発環境のセットアップ
    • ecos-install.tcl を入手する
    • ecos-install.tclで環境をインストール
      $ sh ecos-install.tcl
    • インストール先は任意に設定する
    • インストール先にecosenv.shが生成される。開発時にロードしておくこと。
      $ source ecosenv.sh
  4. 参考
    • ecos の公式ページ Building a toolchain for use with eCos
    • eCos/RedBoot for H8/300プロジェクト

ubuntuで影舞を動かす

ubuntuで影舞を動かす


  1. 準備(今回入れたもの)
    • Ruby
      • ruby 1.8.7 (2008-08-11 patchlevel 72) [i486-linux] その他依存パッケージ
    • 影舞
      • kagemai-0.8.8.tar.gz
    • Apache
      • apache2 2.2.9-7ubuntu3 その他依存パッケージ
  2. 影舞 グループの作成
    • $ sudo groupadd kagemai
    • $ sudo gpasswd -a www-data kagemai
  3. 影舞をインストール
    • $ sudo ruby install_ja.rb (今回は内容をそのまま入れた)
  4. Apacheの設定を記述
    • /etc/apache2/httpd.confを編集
      <Directory /var/www/html/kagemai>
          AllowOverride All
          Options ExecCGI
      </Directory>
    • Apacheを再起動
      $ sudo /etc/init.d/apache2 restart
  5. 影舞用のhtaccessを作成
    • /var/www/html/kagemai/dot.htaccessから複製
      $ sudo cp dot.htaccess .htaccess
    • /var/www/html/kagemai/.htaccessを編集
      Options +ExecCGI -Indexes
      DirectoryIndex index.html guest.cgi
      <Files *.conf>
      deny from all
      </Files>

      ### for cgi
      AddHandler cgi-script cgi

      ### for mod_ruby
      # <Files *.cgi>
      # SetHandler ruby-object
      # RubyHandler Apache::RubyRun.instance
      # </Files>

      ### for fastcgi
      # <Files *.fcgi>
      # SetHandler fastcgi-script
      # allow from all
      # </Files>
      <Files *.fcgi>
      deny from all
      </Files>

      #<Files user.cgi>
      # AuthName Kagemai-User
      # AuthType Basic
      # AuthUserFile /etc/kagemai/user.passwd
      # Require valid-user
      #</Files>

      #<Files admin.cgi>
      # AuthName Kagemai-Administrator
      # AuthType Basic
      # AuthUserFile /etc/kagemai/admin.passwd
      # Require valid-user
      #</Files>

  6. 影舞のファイル所有者変更
    • /var/www/html/kagemai
      $ sudo chown -R www-data:kagemai /var/www/html/kagemai
    • /var/lib/kagemai
      $ sudo chown -R www-data:kagemai /var/lib/kagemai
    • /usr/local/kagemai
      $ sudo chown -R www-data:kagemai /usr/local/kagemai
    • /etc/kagemai
      $ sudo chown -R www-data:kagemai /etc/kagemai
  7. 影舞にアクセスする