什么是 KZM-ARM11-01 ?
是基于ARM11的高性能开发板。KZM-ARM11-01支持KMC的JTAG ICE,PARTNER-Jet,和大量的外围设备,如ATA,USB 2.0,SD,液晶等等。
规格如下:
中央处理器
飞思卡尔 i.MX31(ARM1136 532MHz,L2缓存128 KB)
内存
移动DDR DRAM 128MByte
NOR FLASH 64MByte
NAND 256MByte(最大2GByte)
NAND扩展连接器
外围设备
ATA IDE I / F(44针连接器可连接2.5“硬盘)
PC卡I / F(PCMCIA Rel2.1,PC卡,CF卡)
SD / MMC卡 I/F(MMC系统规范3.2版)
USB OTG(2.0x1)
10 / 100Mbps以太网×1
RS-232C×2(DCEx1,CROSSx1,都是DSUB 9PIN)
音频(AC97编解码器,微型立体声)
液晶QVGA 24位彩色
红外线通信(IRDA 1.0)
触摸屏1024×1024像素
相机0.26M像素CCD(ITU656数字输出)
键盘4×8 32开关
7段LED,4点DIP开关
ICE接口(ARM ETM接口,ARM20PIN JTAG连接器)
扩展板连接器
相关的资料下载:
https://kmc.kmckk.jp/kzm-arm11/
参考:http://www.kmckk.com/eng/kzm.html
QEMU和内核对KZM的支持
QEMU对KZM的支持主要是由OKL和NICIA开发,这也是为什么我们要使用KZM的模拟板,主要可以在上面调试相关的微内核。
参考文件:
./hw/arm/kzm.c
./hw/misc/imx_ccm.c(时钟控制)
./hw/timer/imx_epit.c(时钟)
./hw/timer/imx_gpt.c(时钟)
./hw/char/imx_serial.c
./hw/intc/imx_avic.c(中断控制器模拟)
./hw/net/lan9118.c
这里只是模拟了一部分的外围设备,但是基本已经足够调试了。
目前使用如下的QEMU和内核:
qemu-2.1.0 下载地址:http://wiki.qemu-project.org/download/qemu-2.1.0.tar.bz2
linux-3.15.4 下载地址:https://www.kernel.org/pub/linux/kernel/v3.0/linux-3.15.4.tar.xz
qemu 编译:
$ ./configure --target-list=arm-softmmu
内核编译:
$ make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- imx_v6_v7_defconfig
$ yes '' | make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- oldconfig
$ make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- -j4 zImage
qemu 启动:
$ ./qemu-2.1.0/arm-softmmu/qemu-system-arm -M kzm -kernel ./linux-3.15.4/arch/arm/boot/zImage -nographic -append "clocksource=pit quiet rw console=ttymxc0,115200 init=/init"