# qemu_image_for_imx6ull **Repository Path**: c0derGitHub/qemu_image_for_imx6ull ## Basic Information - **Project Name**: qemu_image_for_imx6ull - **Description**: IMX6ULL的QEMU映像文件,可以运行Linux、鸿蒙Liteos-A - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 14 - **Created**: 2021-06-02 - **Last Updated**: 2021-06-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # IMX6ULL的QEMU系统(Windows版本) ## 1. 简介 QEMU可以模拟x86,也可以模拟各种ARM板子,还可以模拟各种外设。 百问网对QEMU做了很多改进,支持更多硬件,支持更多GUI现实, 让用户可以更有真实感地使用QEMU来模拟IMX6ULL板子。 ![image-20210520142844774](pic/qemu_imx6ull.png) ### 1.1 100ASK-QEMU特点 * 模拟网卡 * 模拟LCD * 模拟LED灯、按键 * 模拟I2C接口的AT24C02存储芯片,直接可以通过用户态操作看到效果 * 模拟触摸屏(单点触摸) * 后续会逐渐模拟更多的硬件模块 ### 1.2 已经移植的系统 * Linux * 鸿蒙Liteos-A ## 2. 使用QEMU ### 2.1 下载 下载本GIT仓库: ``` git clone https://gitee.com/weidongshan/qemu_image_for_imx6ull.git ``` 也可直接下载zip包后,解压: ```shell https://gitee.com/weidongshan/qemu_image_for_imx6ull/repository/archive/master.zip ``` 如果你下载的是zip包,解压后目录名太长,会导致GUI界面无法显示。 把目录名改短即可。 ### 2.2 体验Linux 双击运行`env.bat`, 在里面执行`linux.bat`即可启动Linux,输入root登录。 ![image-20210520144606105](pic/linux.png) #### 1. 体验LCD和触摸屏 执行如下命令: ```shell [root@qemu_imx6ul:/]# myfb-test /dev/fb0 // 在屏幕上画同心圆 [root@qemu_imx6ul:/]# ts_test // 可在开发板的LCD界面使用鼠标点击、画线 [root@qemu_imx6ul:/]# // 按ctrl+shift+c退出程序 ``` #### 2. 体验LED 执行如下命令,观察开发板上第1个LED: ```shell [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 ``` #### 3. 体验按键 执行如下命令,并在"设备管理器"中点击"buttons"按钮显示出按键的操作界面 ```shell [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 ``` ![image-20210520143347323](pic/button_led.png) #### 4. 读写I2C EEPROM AT24C02 首先在“设备管理器”中打开at24c02的界面,然后执行以下命令测试: ```shell // 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 ``` 效果如下: ![image-20210520144126575](pic/at24c02.png) #### 5. 通过ssh登录开发板 本GIT仓库中,`env.bat`启动的是终端软件ConEmu,它比Windows命令行稍微好用点。 但是它不支持键盘的箭头,可以通过ssh登录开发板。 `linux.bat`中设置了端口转换,如下: ![image-20210520150108271](pic/linux.bat.png) 可以使用其他ssh软件,比如MobaXterm通过23端口远程登录开发板,操作更方便。 ![image-20210520150343279](pic/linux_ssh.png) ### 2.3 体验鸿蒙Liteos-A 双击运行`env.bat`, 在里面执行`harmony_liteos.bat`即可启动、进入Liteos-A。 ![image-20210520144717530](pic/liteos-a.png) #### 1. 执行shell命令 执行help命令,可以看到支持的SHELL命令,如下: ![](pic/liteos_shell.png) #### 2. 执行数码相框GUI程序 注意:必须用“./bin/digitpic”,不能用绝对路径“/bin/digitpic” 注意:这个GUI程序是我们自己写得,很丑,与鸿蒙无关。 ![image-20210520145143642](pic/liteos_gui.png) #### 3. 退出程序 执行task命令确定进程号,然后执行“kill -9 PID”杀掉进程,比如: ![](pic/liteos_kill.png) #### 4. 测试LCD 执行如下命令: ```shell OHOS # ./bin/fb_test /dev/fb0 ``` ![image-20210520182013539](pic/fb_test.png) #### 5. 在LCD显示矢量字体 执行如下命令: ```shell OHOS # ./bin/show_line /simsun.ttc 0 100 80 ``` ![image-20210520182236370](pic/show_line.png) ## 3. 学习更多 ### 3.1 Linux 为QEMU编译Linux:http://wiki.100ask.net/qemu Linux开发教程: * 官网:http://www.100ask.net * 微信小程序:搜“韦东山” ![image-20210520145401032](pic/linux_tutorial.png) ### 3.2 鸿蒙Liteos-A 鸿蒙Liteos-A开发教程: * GIT仓库(无法直接打开链接,用git命令下载): ```shell git clone https://e.coding.net/weidongshan/openharmony/doc_and_source_for_openharmony.git ``` * 官网:http://www.100ask.net * 微信小程序:搜“韦东山” ![image-20210520145620166](pic/liteos_a_tutorial.png) ## 4. 常见问题 ### 4.1 不能放在中文目录下 否则会提示无法加载文件,比如: ![image-20210520154642262](pic/err1_cannot_load.png) ### 4.2 目录名不能有空格 否则有如下提示: ![image-20210520154821616](pic/err2_dir_name_space.png) ### 4.3 目录名太长 如果你下载的是zip包,解压后目录名太长,会导致GUI界面无法显示。 把目录名改短即可。 ![image-20210520204536631](pic/dirname_too_long.png) ### 4.4 ConEmu无法运行 系统原因,错误提示如下: ![image-20210520154503337](pic/err4_conemu_cannot_run.png) 可以尝试运行另一个程序: ![image-20210520155055598](pic/err3_conemu.png) 如果ConEmu程序都无法执行,直接双击`harmony_liteos.bat`或`linux.bat`,它使用DOS命令行作为终端,有乱码。 ### 4.5 退出程序 注意:ctrl+c是退出QEMU,也就是退出Linux或Liteos-A。 要退出Linux中的当前程序:使用 ctrl+shift+c。 Liteos-A中没有`当前程序`,只能使用kill命令杀死进程。 ### 4.6 鼠标无法移出开发板界面 当你的鼠标点击QEMU的GUI界面时,鼠标将无法移出这个GUI界面。 这时可以通过快捷键“Ctrl+Alt+g”把鼠标从GUI界面中退出来。 ## 5. 更新记录 * 2020.05.20 首次发布 ## 6. 联系方式 * 官网:http://www.100ask.net * 淘宝:http://100ask.taobao.com * 微信小程序:搜“韦东山” * 公众号: ![](pic/wechat.jpg)