FC2カウンター FPGAの部屋 ZYBO用LinuxカーネルにCMA領域を確保1
FC2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

ZYBO用LinuxカーネルにCMA領域を確保1

ZYBO用の Linaro Ubuntu のPL部にビットマップ・ディスプレイ・コントローラを搭載する7(ZYBOで動作確認)”で、ビットマップ・ディスプレイ・コントローラにキャラクタを書くことができたが、専用のメモリ領域を確保することができなかったので、既存のソフトウェアにOver Write してしまったようで、ether が落ちてしまった。
今回からは、ZYBOのLinuxカーネルに確実にCMA (Continuous Memory Allocator) 領域を確保して、そこにビットマップ・ディスプレイ・コントローラのベースアドレスを置くことにする。

以下のURLの記事を参照させて頂いています。

みみず工房掲示板 kernel 3.8.4 +rt-1 patch - t-ta
256 KiB atomic DMA coherent pool is too small! #170
Linuxでのメモリ確保


・”ZYBO用のEmbedded Linux チュートリアル7(Linuxカーネルのビルド)”で、
make ARCH=arm CROSS_COMPILE=arm-xilinx-linux-gnueabi- xilinx_zynq_defconfig
を行ってから、
make ARCH=arm menuconfig
を行う。メニューが立ち上がる。

・Devices Drivers > Generic Driver Options のDMA Contiguous Memory Allocator の下のMaximum count of the CMA device-private areas を 7 から 16 に変更する。
ZYBO_BMDCwASL_63_141005.png

・Save して Exit する。

・Linuxカーネルをコンパイルする。
make ARCH=arm CROSS_COMPILE=arm-xilinx-linux-gnueabi-
uImageを作る。
make ARCH=arm CROSS_COMPILE=arm-xilinx-linux-gnueabi- UIMAGE_LOADADDR=0x8000 uImage
これで、uImage ができた。SDカードの第1パーティションにコピーする。

・/home/masaaki/ZYBO/Digilent_Linux_Tutrial/drivers2 の zynq-zybo.dts の bootargs を以下の様に変更した。

bootargs = "console=ttyPS0,115200 root=/dev/mmcblk0p2 rw earlyprintk rootfstype=ext4 rootwait devtmpfs.mount=1 coherent_pool=16M";


../Linux-Digilent-Dev/scripts/dtc/dtc -I dts -O dtb -o devicetree.dtb zynq-zybo.dts コマンドで、再度デバイス・ツリーをコンパイルする。

・出来上がった devicetree.dtb をSDカードの第1パーティションにコピーする。

・このSDカードでブートすると、以前のブート・イメージでは

、[ 0.401437] DMA: preallocated 256 KiB pool for atomic coherent allocations

だったのが、

[ 0.429427] DMA: preallocated 16384 KiB pool for atomic coherent allocations

になった。

・topコマンドを実行しても、以前は、
ZYBO_BMDCwASL_61_141004.png
で、used が 68264k だったのが、
ZYBO_BMDCwASL_64_141005.png
84264k に増えていた。よって、16000k 増えていることになる。

これで、16MBのCMA領域の確保はできたと思う。

ZYBO用の Linaro Ubuntu のPL部にビットマップ・ディスプレイ・コントローラを搭載する8(ZYBOで動作確認2)”に続く。
  1. 2014年10月05日 09:43 |
  2. Linux
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック URL
https://marsee101.blog.fc2.com/tb.php/2943-ab8026d2
この記事にトラックバックする(FC2ブログユーザー)