快速体验鸿蒙Liteos-A:IMX6ULL的QEMU系统(Windows版本)

系统
文章由鸿蒙社区产出,想要了解更多内容请前往:51CTO和华为官方战略合作共建的鸿蒙技术社区https://harmonyos.51cto.com

[[401241]]

想了解更多内容,请访问:

51CTO和华为官方合作共建的鸿蒙技术社区

https://harmonyos.51cto.com

1. 简介

QEMU可以模拟x86,也可以模拟各种ARM板子,还可以模拟各种外设。

百问网对QEMU做了很多改进,支持更多硬件,支持更多GUI现实,

让用户可以更有真实感地使用QEMU来模拟IMX6ULL板子。

1.1 100ASK-QEMU特点:

  • 模拟网卡
  • 模拟LCD显示功能
  • 模拟led灯、按键
  • 模拟at24cxx i2c存储芯片,直接可以通过用户态操作看到效果
  • 模拟触摸屏(单点触摸)
  • 后续会逐渐增加更多的模拟硬件模块

1.2 已经移植的系统

  • Linux
  • 鸿蒙Liteos-A

2. 使用QEMU

2.1 下载

下载本GIT仓库:

  1. git clone https://gitee.com/weidongshan/qemu_image_for_imx6ull.git 

 也可以直接到文末下载完整的资源包!

如果你下载的是zip包,解压后目录名太长,会导致GUI界面无法显示。

把目录名改短即可。

2.2 体验Linux

双击运行env.bat, 在里面执行linux.bat即可启动Linux,输入root登录。

1. 体验LCD和触摸屏

执行如下命令:

  1. [root@qemu_imx6ul:/]# myfb-test /dev/fb0   // 在屏幕上画同心圆 
  2. [root@qemu_imx6ul:/]# ts_test   // 可在开发板的LCD界面使用鼠标点击、画线 
  3. [root@qemu_imx6ul:/]#           // 按ctrl+shift+c退出程序 

 2. 体验LED

执行如下命令,观察开发板上第1个LED:

  1. [root@qemu_imx6ul:~]# insmod 100ask_led.ko 
  2. [root@qemu_imx6ul:~]# ls /dev/100ask_led0 
  3. /dev/100ask_led0 
  4. [root@qemu_imx6ul:~]# ledtest /dev/100ask_led0 on 
  5. [root@qemu_imx6ul:~]# ledtest /dev/100ask_led0 off 

 3. 体验按键

执行如下命令,并在"设备管理器"中点击"buttons"按钮显示出按键的操作界面

  1. [root@qemu_imx6ul:~]# insmod 100ask_led.ko  // 如果前面执行过,这里不需要再次执行 
  2. [root@qemu_imx6ul:~]# cd button_driver_qemu/ 
  3. [root@qemu_imx6ul:~/button_driver_qemu]# insmod button_drv.ko 
  4. [root@qemu_imx6ul:~/button_driver_qemu]# insmod board_100ask_qemu_imx6ull.ko 
  5. [root@qemu_imx6ul:~/button_driver_qemu]# ./button_led_test 

 

4. 读写I2C EEPROM AT24C02

首先在“设备管理器”中打开at24c02的界面,然后执行以下命令测试:

  1. // 0x50是AT24C02的I2C设备地址 
  2. [root@qemu_imx6ul:~]# i2c_usr_test /dev/i2c-0 0x50 r 0      // 读地址0 data: , 0, 0x00 
  3. [root@qemu_imx6ul:~]# i2c_usr_test /dev/i2c-0 0x50 w 1 0x58 // 写地址1,写入0x58 

 效果如下:

5. 通过ssh登录开发板

本GIT仓库中,env.bat启动的是终端软件ConEmu,它比Windows命令行稍微好用点。

但是它不支持键盘的箭头,可以通过ssh登录开发板。

linux.bat中设置了端口转换,如下:

可以使用其他ssh软件,比如MobaXterm通过23端口远程登录开发板,操作更方便。

2.3 体验鸿蒙Liteos-A

双击运行env.bat, 在里面执行harmony_liteos.bat即可启动、进入Liteos-A。

1. 执行shell命令

执行help命令,可以看到支持的SHELL命令,如下:

2. 执行数码相框GUI程序

注意:必须用“./bin/digitpic”,不能用绝对路径“/bin/digitpic”

注意:这个GUI程序是我们自己写得,很丑,与鸿蒙无关。

3. 退出程序

执行task命令确定进程号,然后执行“kill -9 PID”杀掉进程,比如:

3. 学习更多

3.1 Linux

为QEMU编译Linux:http://wiki.100ask.net/qemu

Linux开发教程:

  • 官网:http://www.100ask.net
  • 微信小程序:搜“韦东山”

3.2 鸿蒙Liteos-A

鸿蒙Liteos-A开发教程:

GIT仓库(无法直接打开链接,用git命令下载):

  1. git clone https://e.coding.net/weidongshan/openharmony/doc_and_source_for_openharmony.git 

 官网:http://www.100ask.net

微信小程序:搜“韦东山”

4. 常见问题

4.1 不能放在中文目录下

否则会提示无法加载文件,比如:

4.2 目录名不能有空格

否则有如下提示:

4.3 目录名太长

如果你下载的是zip包,解压后目录名太长,会导致GUI界面无法显示。

把目录名改短即可。

4.4 ConEmu无法运行

系统原因,错误提示如下:

可以尝试运行另一个程序:

如果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. 联系方式

公众号:

想了解更多内容,请访问:

51CTO和华为官方合作共建的鸿蒙技术社区

https://harmonyos.51cto.com

 

责任编辑:jianghua 来源: 鸿蒙社区
相关推荐

2021-12-15 15:30:38

鸿蒙HarmonyOS应用

2020-09-17 17:41:24

Liteos-a鸿蒙Linux

2020-11-13 09:45:36

Liteos-a

2021-12-23 10:02:58

鸿蒙HarmonyOS应用

2020-10-16 09:47:34

鸿蒙Liteos-a移植

2021-10-25 09:53:52

鸿蒙HarmonyOS应用

2022-12-07 15:56:33

procfsLiteOS-A

2021-12-29 16:13:03

鸿蒙HarmonyOS应用

2020-11-02 11:42:17

鸿蒙Liteos-a

2020-10-22 10:08:06

韦东山STM32MP157鸿蒙

2020-10-19 10:28:58

liteos-a移植STM32MP157

2020-12-10 12:12:32

鸿蒙开发板init_lite

2021-06-28 11:00:48

QEMUWindows 11Windows

2009-03-26 08:44:15

微软Windows 7操作系统

2012-03-06 10:47:18

Windows 8系统

2013-07-19 15:05:04

2021-12-17 22:54:45

Windows 10Windows微软

2023-12-25 22:13:38

OfficeWindows系统

2010-05-26 14:49:06

IPv6协议栈

2022-01-07 22:54:44

Windows 11Windows微软
点赞
收藏

51CTO技术栈公众号