QEMU可以模拟x86,也可以模拟各种ARM板子,还可以模拟各种外设。 百问网对QEMU做了很多改进,支持更多硬件,支持更多GUI现实, 让用户可以更有真实感地使用QEMU来模拟IMX6ULL板子。
下载本GIT仓库:
git clone https://gitee.com/weidongshan/qemu_image_for_imx6ull.git
也可直接下载zip包后,解压:
https://gitee.com/weidongshan/qemu_image_for_imx6ull/repository/archive/master.zip
双击运行env.bat, 在里面执行linux.bat即可启动Linux,输入root登录。
执行如下命令:
[root@qemu_imx6ul:/]# myfb-test /dev/fb0 // 在屏幕上画同心圆 [root@qemu_imx6ul:/]# ts_test // 可在开发板的LCD界面使用鼠标点击、画线 [root@qemu_imx6ul:/]# // 按ctrl+shift+c退出程序
执行如下命令,观察开发板上第1个LED:
[root@qemu_imx6ul:~]# insmod 100ask_led.ko [root@qemu_imx6ul:~]# ls /dev/100ask_led0 /dev/100ask_led0 [root@qemu_imx6ul:~]# ledtest /dev/100ask_led0 on [root@qemu_imx6ul:~]# ledtest /dev/100ask_led0 off
执行如下命令,并在"设备管理器"中点击"buttons"按钮显示出按键的操作界面
[root@qemu_imx6ul:~]# insmod 100ask_led.ko // 如果前面执行过,这里不需要再次执行 [root@qemu_imx6ul:~]# cd button_driver_qemu/ [root@qemu_imx6ul:~/button_driver_qemu]# insmod button_drv.ko [root@qemu_imx6ul:~/button_driver_qemu]# insmod board_100ask_qemu_imx6ull.ko [root@qemu_imx6ul:~/button_driver_qemu]# ./button_led_test
首先在“设备管理器”中打开at24c02的界面,然后执行以下命令测试:
// 0x50是AT24C02的I2C设备地址 [root@qemu_imx6ul:~]# i2c_usr_test /dev/i2c-0 0x50 r 0 // 读地址0 data: , 0, 0x00 [root@qemu_imx6ul:~]# i2c_usr_test /dev/i2c-0 0x50 w 1 0x58 // 写地址1,写入0x58
效果如下:
本GIT仓库中,env.bat启动的是终端软件ConEmu,它比Windows命令行稍微好用点。
但是它不支持键盘的箭头,可以通过ssh登录开发板。
linux.bat中设置了端口转换,如下:
可以使用其他ssh软件,比如MobaXterm通过23端口远程登录开发板,操作更方便。
双击运行env.bat, 在里面执行harmony_liteos.bat即可启动、进入Liteos-A。
执行help命令,可以看到支持的SHELL命令,如下:
注意:必须用“./bin/digitpic”,不能用绝对路径“/bin/digitpic” 注意:这个GUI程序是我们自己写得,很丑,与鸿蒙无关。
执行task命令确定进程号,然后执行“kill -9 PID”杀掉进程,比如:
执行如下命令:
OHOS # ./bin/fb_test /dev/fb0
执行如下命令:
OHOS # ./bin/show_line /simsun.ttc 0 100 80
为QEMU编译Linux:http://wiki.100ask.net/qemu
Linux开发教程:
鸿蒙Liteos-A开发教程:
否则会提示无法加载文件,比如:
否则有如下提示:
系统原因,错误提示如下:
可以尝试运行另一个程序:
如果ConEmu程序都无法执行,直接双击harmony_liteos.bat或linux.bat,它使用DOS命令行作为终端,有乱码。
注意:ctrl+c是退出QEMU,也就是退出Linux或Liteos-A。
要退出Linux中的当前程序:使用 ctrl+shift+c。
Liteos-A中没有当前程序,只能使用kill命令杀死进程。
当你的鼠标点击QEMU的GUI界面时,鼠标将无法移出这个GUI界面。
这时可以通过快捷键“Ctrl+Alt+g”把鼠标从GUI界面中退出来。