1128845_ja-JP

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

1128845_ja-JP

1128845_ja-JP

i.MX51 LinuxアプリケーションのみのフラッシュとSDカードリーダー<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

ネットワークセキュリティ(プロキシなど)のために、会社のネットワークを使用してアプリケーションをフラッシュすることは容易ではないことがよくあります。このチュートリアルでは、SDカードリーダーと簡単な標準Linuxコマンドのみを使用して、SDカードでLinuxアプリケーションをフラッシュする方法を説明します。


SDカードのメモリマップ

Linuxアプリケーションは、次の3つの部分に分かれています。

  • ブートローダー
  • Linuxカーネル
  • Linux の Rootfs

SD_Linux_app_memory_map.png

この3つの部分を順番に点滅させます


Uブートのフラッシュ

SDカードリーダーで、黄色の部分を点滅させます。で[...]/ltib/rootfs/boot/ フォルダ

 $ sudo dd if=u-boot.bin of=/dev/sdb bs=512 skip=2 seek=2 &&; sudo sync 


Linuxカーネルのフラッシュ

SDカードリーダーで、緑色の部分を点滅させます。1MB=1048576B -> カーネル オフセットであることに注意してください。

 $ sudo dd if=uImage of=/dev/sdb bs=1048576 seek=1 && sudo sync 


U-boot変数の構成

カーネルを起動するには、U-bootを設定する必要があります。

  • シリアルケーブルをEVKに差し込みます。

115kbps、8ビット、1ストップ、パリティなし

  • EVKスイッチは、次のように設定する必要があります。

DS1 DS2 DS3 DS4 DS5 DS5 DS7 DS8 DS9 DS10
SD / MMCカードからの起動0000001100
  • SDカードをEVK(下部のスロット)に挿入し、アプリを起動します。ハイパーターミナルで、次のように入力します。

  BBG U-Boot > printenv

環境変数を印刷するには

  • bootcmd を変更します。
 BBG U-Boot > setenv bootcmd_mmc 'run bootargs_base bootargs_mmc;mmc read 0 ${loadaddr} 0x800 0x1800;bootm' 

「0x1800」はカーネルのサイズです。uImageカーネルファイル(0x1800x512Byte = 3MB)よりも大きくなければなりません

  • 表示画面として WVGA を使用したい場合 (カーネルは CLAA サポート付きで設定する必要があります)、LTIB1007 以降 ('wvga' オプションになる前) の場合:

i.MX51 EVK上のLTIB1007のu-bootのスクリプト(ハイパーターミナルにコピー/貼り付け):

setenv bootcmd_mmc 'bootargs_base bootargs_mmcを実行します。MMCは0 ${loadaddr} 800 1800を読み取ります。bootm'
setenv bootargs_mmc 'setenv bootargs ${bootargs} root=/dev/mmcblk0p1 rootwait rw init=/init' setenv bootargs_base'
setenv bootargs console=ttymxc0,115200 di1_primary console=tty1'
setenv bootcmd 'bootcmd_mmcを実行します'
saveenv

i.MX53 EVK上のLTIB1007のu-bootのスクリプト(ハイパーターミナルにコピー/貼り付け):

setenv bootcmd_mmc 'bootargs_base bootargs_mmcを実行します。MMCは0 ${loadaddr} 800 1800を読み取ります。bootm'
setenv bootargs_mmc 'setenv bootargs ${bootargs} root=/dev/mmcblk0p1 rootwait rw init=/init'
setenv bootargs_base 'setenv bootargs console=ttymxc0,115200 di0_primary console=tty1'
setenv bootcmd 'bootcmd_mmcを実行します'
saveenv
  • 次の printenv が必要です。
BBG Uブート > printenv
ブート遅延=3
ボーレート=115200
loadaddr=0x90800000
netdev=eth0
ethprime=FEC0
uboot_addr=0xa0000000
uboot=u-boot.bin
kernel=uImageの
bootargs_nfs=setenv bootargs ${bootargs} root=/dev/nfs ip=dhcp nfsroot=${serveri
p}:${nfsroot},v3,tcp
bootcmd_net=run bootargs_base bootargs_nfs;tftpboot ${loadaddr} ${kernel};ブート
m
load_uboot=tftpboot の ${loadaddr} ${uboot}
ethact=FEC0
bootargs=console=ttymxc0,115200 di1_primary root=/dev/mmcblk0p1 rootwait rw init
=/init
bootcmd_mmc=実行bootargs_base bootargs_mmc;MMC読み取り0 ${loadaddr} 800 1800;ボー
オーティメット
bootargs_mmc=setenv bootargs ${bootargs} root=/dev/mmcblk0p1 rootwait rw init=/i
ニット
bootargs_base=setenv bootargs console=ttymxc0,115200 di1_primary
bootcmd=実行bootcmd_mmc
stdin=シリアル
stdout=シリアル
stderr=serial

環境サイズ: 748/131068バイト
BBG Uブーツ>

ext3 パーティションの作成

SDカードリーダーを使用して、ext3パーティションを作成します。グラフィカルなパーティションマネージャーツールである gparted を使用することができます。ローンチgparted:

 $ sudo gparted 

新しい ext3 パーティションを 20MB のオフセットで作成します。
Gparted_SD.png


Linuxのコピー

LTIBによって生成されたrootfsフォルダをコピーするには、シェルに次のように入力します。

 $ sudo cp -r /[…]/ltib/rootfs/* /media/FreescaleSD/ && sudo sync 

テストアプリケーション

SDをスロットスロットに入れ、アプリケーションを起動します。パスワードは root です。
Linux_shell_password.png


i.MX51Linux
タグ(1)
評価なし
バージョン履歴
最終更新日:
‎01-05-2026 10:44 AM
更新者: