搭建QEMU的开发环境【有缺失】

时间:2022-05-26 20:38:30

 

利用wmware_tools完成虚拟机之间共享文件

安装vmware_tools: 不知道为什么我的虚拟机已经可以文件拖拽了

【 快捷方式 】

- ctrl+alt+t : 打开终端

- 设置成root模式:

- cd /

- alt+tab : 多任务窗口的切换

搭建QEMU的开发环境【有缺失】

更新软件源

- apt

Ubantu 采用集中式的软件仓库机制,将软件包分类存放于软件仓库中,进行管理。软件仓库放置在各种镜像服务器中,对于用户而言,当使用apt-get install 安装工具包是,会从这些服务器下载软件包,这些镜像服务器就是软件源。(reposity

 

从美国的服务器会很慢

- Apt update :程序会首先分析 /etc/apt/source.list

- 自动联网寻找list中对应的packages/sources/release列表文件,如果有更新则重新下载,存入/var/lib/apt/lists/目录

- 然后apt install相应的包,下载到本地并进行安装

 搭建QEMU的开发环境【有缺失】

-- 常用目录

/var/lib/dpkg/available

软件包的描述信息,软件源中所有软件包的信息,包括安装和未安装软件包

 

/var/cache/apt/archives

apt install安装软件包的临时存放路径

 

/etc/apt/source.list

文件里是软件源站点,当apt install时,ubantu会从这些站点下载软件包到本地

 

/var/lib/apt/lists

- 安装uboot-tools

搭建QEMU的开发环境【有缺失】

命令出错:

改成:apt-get install u-boot-tools

搭建QEMU的开发环境【有缺失】

- 安装git vim

-- git中常用的命令

    - git init

- git add

- git commit 提交到仓库

- git config --global user.email

- git config --global name

- git log

- git clone

- git push

 

- 使用git的好处:

可以使用git的命令还帮助分析代码

 

- 安装QEMU

 

- 自动安装 apt install qemu

 

- 手动编译安装

 

-- 安装依赖环境

 

apt install zlib1g-dev

【还有一些】

 

-- 下载qemu源码

 

 git clone git://git.qemu-project.org/qemu.git

- 利用git branch -a 查看qemu源码中所有分支

 

-- 新建本地分支

 

git branch

 

Git checkout (复制粘贴你要的版本)-b stable-2.8

 

-b : 新建分支 名字

- git checkout 切换分支

Git tag : 给软件打标签

 

- 编译qemu

 

开源软件编译一般都三步走:

 

#./configure --target-list=arm-softmmu --audio-drv-list=alsa

 

# make

 

# make install

 

搭建QEMU的开发环境【有缺失】

- configure : 生成编译软件需要的makefile

- makefile:是编译软件非常重要的,建立了很多编译的规则

 

- qemu使用

- 查看qemu所支持的版本

root@ubuntu:/home/hjp/qemu-3.0.0# qemu-system-arm --version

 搭建QEMU的开发环境【有缺失】

- 查看qemu所支持的开发板

root@ubuntu:/home/hjp/qemu-3.0.0# qemu-system-arm -M help

 搭建QEMU的开发环境【有缺失】

- 关注vexpress-a9          ARM Versatile Express for Cortex-A9

-多核32a9处理器

未来的嵌入式一定是往多核发展趋势

- vexpress开发板简介

  - arm只卖IP

- ARM自己推出的开发板,主要用于SOC厂商设计,验证和测试自己的SOC芯片

- 提供主板+子板设计,主板提供各种外围设备,子板提供CPU运算【提高开发板的复用】

 搭建QEMU的开发环境【有缺失】

1G DDR 内存

JTAG : 调试工具

仿真开发板不用知道它的硬件是什么的,只要知道它的地址是什么,CLCD控制器地址是什么,只要知道控制器和芯片手册,软件开发人员就可以编程了。

 

可以去搜开发手册:programmer model

主要关注:存储映射,地址分配

搭建QEMU的开发环境【有缺失】

6000-8000 DDR地址

4000-5C00 母版存储和设备的地址

 

- programmable peripherals and interfaces

- 外设的芯片手册

- 学会看芯片手册

- 开发板仿真

+ 有些东西可以做,有些东西可以不做

+ 最小系统的概念:

嵌入式最小系统:就是能使系统能跑起来的最小硬件配置

 ++ CPU + DDR/SDRAM (可读可写)+flashsd卡)+(串口、LCD显示屏)

- 可以从接口直接导入DDR

+ 小例子,监测能否运行成功

study-qemu-test目录下(自己建的)里面有如下文件:

搭建QEMU的开发环境【有缺失】

 

uImage : 开发板内核镜像

在目录下:qemu-system-arm -M vexpress-a9 -m 512M -kernel ./uImage -dtb ./vexpress-v2p-ca9.dtb -nograghic -append ”console=ttyAMA0”

【输入这一句的时候一直在报错,然后改成了下面一句】

qemu-system-arm -M vexpress-a9 -m 512M -kernel ./uImage -dtb ./vexpress-v2p-ca9.dtb -nographic

 

 

-M:启动哪一块开发板

-m:指定内存大小

-kernal:运行哪个镜像

-dtb: linux最新的内核,参数

-nographic:不使用图形化,使用串口的工作台

-append”console=ttyAMM0” 控制台使用串口

遇到的问题:

- 拼写错误

搭建QEMU的开发环境【有缺失】

- 不要随便enable kvm

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

可以得到如下结果:

 搭建QEMU的开发环境【有缺失】

最后的话:

现在也理解了为什么看别人的教程,得到不同结果了。因为写详细步骤真的是一件很繁琐的事情。

但是之后会尽力写的更好一些的

小白不易