龍芯ls 1 b開発板の基礎操作

5729 ワード

一、ツールチェーン
1、ツールチェーンからpmonを取得するとケネルと同じツールチェーンを使う:gcc-4.3-ls 232http://ftp.loongnix.org/embedd/ls1b/toolchain/ 備考:上記のURLがアクセスできない場合、アクセスを試みることができます。http://ftp.loongnix.org ウェブサイト
2、操作フローa、ツールチェーンgcc-4.3-ls 232.tar.gzの解凍は以下の通りです。
tar  zxvf gcc-4.3-ls232.tar.gz  -C  /
b、システム下の/optディレクトリの下で解圧した後、gcc-4.3-ls 232を得て、lsコマンドで確認することができます。
ls  /opt
二、PMON
1、ソースの取得http://ftp.loongnix.org/embedd/ls1b/bootloader/
2、ツールと依存ライブラリのインストール方式:PCにインターネット接続を要求し、appt-get(uuntuシステム)コマンドを使用して2.1 PMONをコンパイルするためにツールpmoncfgを使用する必要があります。制作過程は下記の通りです。ap-get install bison build-esential patch ftB、解凍pmon.tar.gzソース
tar xzvf pmon.tar.gz
cd pmon
cd tools/pmoncfg
make
C、コンパイルが完了したら、カタログの下でpmoncfgを生成し、このツールをユーザーツールディレクトリの下にコピーします。
cp pmoncfg /usr/bin/
2.2コンパイルpmonはツールmakedependにも依存しています。
apt-get install xutils-dev
3、pmonコンパイルPmonはクロスコンパイルを採用して、ソースディレクトリの下でコンパイルシナリオを作成します。操作は以下の通りです。A、pmonソースディレクトリの下でcmd.shファイルを作成します。
touch cmd.sh
B、次の内容をcmd.shファイルに書きます。
#!/bin/bash
export PATH=/opt/gcc-4.3-ls232/bin:$PATH
cd zloader.ls1b
make cfg
make all tgt=rom CROSS_COMPILE=mipsel-linux- DEBUG=-g
C、cmd.sh実行権限を変更する
chmod 777 cmd.sh
D、コンパイルpmon
./cmd.sh
E、コンパイルが完了したら、pmonソースディレクトリのzloader.ls 1 b/ディレクトリの下でgzrom.binを生成します。
4、pmon更新4.1 ejpmon ejumドライバ取得http://ftp.loongnix.org/embedd/ls1b/ejtag/ 備考:linuxシステム:ejtag-debug-v 3.xt.tar.gz win 7とxpシステム:ejtag-debug-cygwin-v 3.x.zipは上のURLを開いてejtag-debug-xでダウンロードします。×××冒頭のejuの最新バージョンは、ejtag-debug-v 3.5.9 tar.gz現在のwin 7とxpの最新バージョンは、ejtag-debug-cygwin-v 3.25.zipです。
ここではlinuxシステムの下での紹介です。ejtag-debug-v 3.25.tar.gzをダウンロードして/opt/ディレクトリの下に解凍します。
tar  zxvf  ejtag-debug-v3.25.6.tar.gz -C /opt/
cd /opt/ejtag-debug
sudo ./ejtag_debug_usb -t
source configs/config.ls1b
program_cachelock
注:programを実行しました。cacheclockコマンドは、デフォルトでは/tmp/カタログ下のgzrom.binをチップにプログララムを焼くことにします。cachlockコマンドの後にgzrom.binの絶対パスを放すことができます。例えば、program_cachlock/home/tftpboot/gzrom.bin 4.2 pmonコマンドラインでpmon A、ネットワーク更新load-f 0 xbfc 0000-rを更新します。tftp://10.0.0.1/gzrom.bin B、Uディスク更新load-f 0 xbfc 0000-r/dev/fs/fat@usb0//gzrom.bin load-f 0 xbfc 00000-r/dev/fs/ext2@usb0//gzrom.bin
5、pmonにx.cファイルを添付します。pmonに*.cファイルを入れるには、pmonのディレクトリに2つのファイルがあります。それぞれ:conf/files、Targets/LS 1 B/conf/files.LS 1 B。pmonがコンパイルされた場合、この二つのファイルをもとに対応する*.cファイルを*.oファイルにコンパイルします。この二つのファイルの主な違いは、Targetts/LS 1 B/conf/files.LS 1 Bは異なる龍心CPUに依存しています。CPUはこのファイルの内容が違っています。conf/filesは、すべてのpmonは同じext 2ファイルシステムを使用しています。もちろん強調したいのはあなたが参加した*.cファイルは他の関数によって直接または間接的に呼び出されなければなりません。デバイスのドライバファイルがxxx.cの場合、このファイルにデバイスの初期化関数があります。init()は、ファイルのパス:Targetts/LS 1 B/ls 1 b/xxx.cであり、構成によって駆動をロードするか否かを決定することができる場合、動作ステップ:Targts/LS 1 B/ls 1 b/tgt_machdep.cファイルの関数initmipsでこの関数を呼び出します。もしコンパイル時報が間違ってこの関数が見つからなかったら、このファイルは**にコンパイルされていないからです。oはconf/files/LS 1 B/conf/files.LS 1 B(いずれか一つを選択してください。)に追加する必要があります。file Targets/LS 1 b/xx.c(ここでTargetts/LS 1 B/conf/files 1 B/LSB/confiles 1 B/LSB/LSB/LSB/files 1 Bを選択したら削除してください。Targetts/LS 1 B/conf/ls 1 bに参加する必要があります。select xxxの上の添加内容は修正するかもしれません。file Targetts/LS 1 B/ls 1 b/xx.c xxxはもちろん呼び出しを行う必要があります。init()のところコメントが外れていますが、この*.cファイルはCPUの種類に関係していますので、Targetts/LS 1 B/conf/files.LS 1 Bに加入しています。加入した内容が異なるCPUで使用されると、conf/filesに参加することが考えられます。
6、pmon常備コマンドヘルプhは、例えば、pingコマンドヘルプ情報h pingデバッグd 1/d 2/d 4を見て、あるアドレス値を読み出します。例えば、d 4 0 x 800 3000 m 1/m 2/m 4は、あるアドレスに値を書きます。例えば、m 4 0 x 800 xaメモリloadにvmlinuxをメモリにロードします。tftp://ip/vmlinux gzrom.bin load-r-f 0 xbfc 0000を更新します。tftp://ip/gzrom.bin ネットワークifaddr設定ボードのipアドレス(一回有効とすると、電源が切れると失われます)例えば、ifaddr syn 0 10.50.10 ifconfigは設定されたipアドレス情報を調べます。例えば、ifconfig syn 0 pingテストネットワーク、例えば、ping 10.50.100 envは設定されている環境変数set設定環境変数を調べます。例えば、set ifconfig syn 0:10.50.10 flash操作mtdpartsはパーティション状況を調べます。例えば、mtdparts mtd_erase消去パーティション例:mtd_erase/dev/mtd 1 devcpはパーティションにデータを書き込みます。例えば、devcp date/dev/mtd 1の他のdevlsはデバイスリストrebootを見て再起動します。
三、カーネル
1、ソースコードはカーネルのバージョンを取得します。http://ftp.loongnix.org/embedd/ls1b/kernel/
2、ケネルの設定は、カーネルのソースコードlinux-2.6.3.2 tar.gzの解凍をダウンロードして、操作の流れは以下の通りです。
tar -zxvf linux-2.6.32.tar.gz
cd linux-2.6.32/
cp config.ls1b .config
make menuconfig ARCH=mips
図形化配置「make menuconfig」に依存するツールNcursesをインストールします。
apt-get install libncurses5-dev
3、ケネルコンパイルケネルはクロスコンパイルを採用して、ソースディレクトリの下でコンパイルシナリオを作成します。操作は下記のA、linux-26.32ソースディレクトリの下でcmd.shファイルを作成します。
touch cmd.sh
B、次の内容をcmd.shファイルに書きます。
#!/bin/bash
export PATH=/opt/gcc-4.3-ls232/bin:$PATH
make ARCH=mips CROSS_COMPILE=mipsel-linux-  -j2  vmlinux 
mipsel-linux-strip vmlinux 
C、cmd.sh実行権限を変更する
chmod 777 cmd.sh
D、ビルダーnelをコンパイルする
./cmd.sh
E、コンパイルが完了したら、linux-2.62ソースディレクトリの下でvmlinuxを生成します。
4、vmlinux 4.1をロードして起動してからramdisk方式Aを採用し、pmonコマンドラインに起動し、tftpまたはUディスクを通じて指定されたパーティションにカーネルを入れます。erase/dev/mtd 0 r PMON>devcptftp://ip/vmlinux /dev/mtd 0 B、環境変数PMONを設定します。set al/dev/mtd 0 PMON>set apped「console=キティS 0,11200 rdinit=/sbin/init」C、yaffs 2本のファイルシステムAを電気的に再利用して、pmonコマンドラインに起動し、tftftpまたはUディスクを通じて、カーネルを指定されたPMtON>erase/dev/mtd 0 r PMON>devcptftp://ip/vmlinux /dev/mtd 0 Bは、yaffs 2ファイルシステムを指定パーティションにミラーリングします。PMON>mtd_erase/dev/mtd 1 r PMON>devcptftp://ip/rootfs.img //dev/mtd 1 y C、環境変数PMONを設定します。set al/dev/mtd 0 PMON>set apped「console=キティS 0,11200 init=linuxrw root=/dev/mtdblock 1 rootfstype=yaffs 2」D、再電源4.2をメモリにロードしてpmonコマンドを起動します。tftpまたはUディスクを通じて、カーネルをメモリにロードするPMON>ロードtftp://ip/vmlinux PMON>g consone=キティS 0,11200 rdinit=/sbin/init
LS 1 Bユーザーズマニュアルhttp://www.loongson.cn/product/cpu/1/Loongson1B.html