热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

不用买硬件,1s体验鸿蒙系统!(IMX6ULL

为IMX6ULL制作的QEMU模拟器1.简介QEMU可以模拟x86,也可以模拟各种ARM板子,还可以模拟各种外设。百问网对QEMU做了很多改进,支持更多硬件,支持更多GUI现实,让

文章目录[隐藏]

  • 为IMX6ULL制作的QEMU模拟器
    • 1. 简介
      • 1.1 改QEMU的特点:
      • 1.2 已经移植的系统
    • 2. 使用QEMU
      • 2.1 下载
      • 2.2 体验Linux
        • 1. 体验LCD和触摸屏
        • 2. 体验LED
        • 3. 体验按键
        • 4. 读写I2C EEPROM AT24C02
        • 5. 通过ssh登录开发板
      • 2.3 体验鸿蒙Liteos-A
        • 1. 执行shell命令
        • 2. 执行数码相框GUI程序
        • 3. 退出程序
        • 4. 测试LCD
        • 5. 在LCD显示矢量字体
    • 3. 学习更多
      • 3.1 Linux
      • 3.2 鸿蒙Liteos-A
    • 4. 常见问题
      • 4.1 不能放在中文目录下
      • 4.2 目录名不能有空格
      • 4.3 ConEmu无法运行
      • 4.4 退出程序
      • 4.5 鼠标无法移出开发板界面
    • 5. 更新记录
    • 6. 联系方式
    • 5. 更新记录
    • 6. 联系方式


为IMX6ULL制作的QEMU模拟器

1. 简介

QEMU可以模拟x86,也可以模拟各种ARM板子,还可以模拟各种外设。 百问网对QEMU做了很多改进,支持更多硬件,支持更多GUI现实, 让用户可以更有真实感地使用QEMU来模拟IMX6ULL板子。

1.1 改QEMU的特点:

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

1.2 已经移植的系统

  • Linux 鸿蒙Liteos-A

2. 使用QEMU

2.1 下载

下载本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

2.2 体验Linux

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

1. 体验LCD和触摸屏

执行如下命令:

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

2. 体验LED

执行如下命令,观察开发板上第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

3. 体验按键

执行如下命令,并在"设备管理器"中点击"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

4. 读写I2C EEPROM AT24C02

首先在“设备管理器”中打开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

效果如下:

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”杀掉进程,比如:

4. 测试LCD

执行如下命令:

OHOS # ./bin/fb_test /dev/fb0

5. 在LCD显示矢量字体

执行如下命令:

OHOS # ./bin/show_line /simsun.ttc 0 100 80

3. 学习更多

3.1 Linux

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

Linux开发教程:

3.2 鸿蒙Liteos-A

鸿蒙Liteos-A开发教程:

  • GIT仓库(无法直接打开链接,用git命令下载): 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 ConEmu无法运行

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

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

如果ConEmu程序都无法执行,直接双击harmony_liteos.bat或linux.bat,它使用DOS命令行作为终端,有乱码。

4.4 退出程序

注意:ctrl+c是退出QEMU,也就是退出Linux或Liteos-A。

要退出Linux中的当前程序:使用 ctrl+shift+c。

Liteos-A中没有当前程序,只能使用kill命令杀死进程。

4.5 鼠标无法移出开发板界面

当你的鼠标点击QEMU的GUI界面时,鼠标将无法移出这个GUI界面。

这时可以通过快捷键“Ctrl+Alt+g”把鼠标从GUI界面中退出来。

5. 更新记录

  • 2020.05.20 首次发布

6. 联系方式

  • 官网:http://www.100ask.net 淘宝:http://100ask.taobao.com

5. 更新记录

  • 2020.05.20 首次发布

6. 联系方式

  • 官网:http://www.100ask.net 淘宝:http://100ask.taobao.com

推荐阅读
  • 本文详细介绍了GetModuleFileName函数的用法,该函数可以用于获取当前模块所在的路径,方便进行文件操作和读取配置信息。文章通过示例代码和详细的解释,帮助读者理解和使用该函数。同时,还提供了相关的API函数声明和说明。 ... [详细]
  • 如何去除Win7快捷方式的箭头
    本文介绍了如何去除Win7快捷方式的箭头的方法,通过生成一个透明的ico图标并将其命名为Empty.ico,将图标复制到windows目录下,并导入注册表,即可去除箭头。这样做可以改善默认快捷方式的外观,提升桌面整洁度。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • HDFS2.x新特性
    一、集群间数据拷贝scp实现两个远程主机之间的文件复制scp-rhello.txtroothadoop103:useratguiguhello.txt推pushscp-rr ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 如何实现JDK版本的切换功能,解决开发环境冲突问题
    本文介绍了在开发过程中遇到JDK版本冲突的情况,以及如何通过修改环境变量实现JDK版本的切换功能,解决开发环境冲突的问题。通过合理的切换环境,可以更好地进行项目开发。同时,提醒读者注意不仅限于1.7和1.8版本的转换,还要适应不同项目和个人开发习惯的需求。 ... [详细]
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 本文介绍了在Linux下安装Perl的步骤,并提供了一个简单的Perl程序示例。同时,还展示了运行该程序的结果。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • Ubuntu 9.04中安装谷歌Chromium浏览器及使用体验[图文]
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
author-avatar
Paul
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有