美文网首页想法简友广场嵌入式编程
不用板子也能跑!Keil模拟STM32F103体验

不用板子也能跑!Keil模拟STM32F103体验

作者: 罗蓁蓁 | 来源:发表于2021-09-30 09:33 被阅读0次

简介

一般嵌入式操作系统因为它的特殊性,往往和硬件平台密切相关连,具体的嵌入式操作系统往往只能在特定的硬件上运行。对于刚接触 OneOS-Lite操作系统的读者要想马上获得一个和 OneOS-Lite操作系统相配套的硬件模块并不容易,但随着计算机技术的发展,我们可以采用软件方式来模拟一个能够运行 OneOS-Lite操作系统的硬件模块,这就是 ARM 公司的 MDK-ARM(Keil)仿真模拟环境。

MDK虚拟硬件环境

MDK-ARM(MDK-ARM Microcontroller Development Kit,也称为Keil)软件是一套完整的集成开发环境(IDE),它出自 ARM公司,包括了针对 ARM 芯片(ARM7ARM9Cortex-M系列、Cortex-R 系列等)的高效C/C++编译器;针对各类 ARM 设备、评估板的工程向导和工程管理;用于软件模拟运行硬件平台的模拟器;以及与市面上常见的如ST-LinkJLink 等在线仿真器相连接以配合调试目标板的调试器。MDK-ARM软件中的软件仿真模拟器,采用完全软件模拟方式解释执行 ARM 的机器指令,并实现外围的一些外设逻辑,从而构成一套完整的虚拟硬件环境,使得用户能够不借助真实的硬件平台就能够在电脑上执行相应的目标程序。

MDK-ARM 集成开发环境因为其完备的 STM32F103 软件仿真环境,也让我们有机会在不使用真实硬件环境的情况下直接在电脑上运行目标代码。这套软件仿真模拟器能够完整地虚拟出 ARM Cortex-M3 的各种运行模式、外设,如中断异常、时钟定时器、串口等,这几乎和真实的硬件环境完全一致。实践也证明,本文使用到的这份 OneOS-Lite入门例程,在编译成二进制代码后,不仅能够在模拟器上运行,也能够在不加任何修改的情况下在真实硬件平台上正常运行。

下面我们将选择 MDK-ARM 集成开发环境作为目标硬件平台来观察OneOS-Lite操作系统是如何运行的。

准备工作

准备工程如下:

  • 安装 5.14 版本及以上的 MDK-ARM (Keil)集成开发环境(具体安装过程参见MDK环境搭建),在安装好 MDK-ARM 集成开发环境后,再安装 STM32F1xx\_DFP PACK包;

  • 下载一份完整的OneOS-Lite代码,该代码已上线gitee,可直接访问并clone,地址如下:gitee: https://gitee.com/cmcc-oneos/OneOS-Lite

打开使用Keil模拟器的示例工程

进入到oneos-lite\projects\stm32f103rc目录中,双击“project.uvprojx”文件,打开stm32f103rcKeil工程文件,见下图:

image

编译和仿真

见下图:

image

打开模拟器串口、运行程序并观察SHELL界面

见下图:

image

运行help命令

通过help命令可以查看当前系统支持的命令:

image

查看内存堆使用情况

其中 mem 是查看内存堆使用的情况,执行此命令,结果见下图:

image

关注&&联系

gitee: https://gitee.com/cmcc-oneos/OneOS-Lite

docs: https://oneos-lite.com/

公众号:CMCC-OneOS

相关文章

  • 不用板子也能跑!Keil模拟STM32F103体验

    简介 一般嵌入式操作系统因为它的特殊性,往往和硬件平台密切相关连,具体的嵌入式操作系统往往只能在特定的硬件上运行。...

  • Keil解决结构体编译问题

    使用Keil5编译Stm32f103时,结构体编译出错了。排除语法错误后,从keil5配置环境考虑。 搜索错误代码...

  • 2017/12/12

    用stm32f429板子,keil编程点亮led灯。使用寄存器,不用官方的库函数。了解arm编程的详细过程。

  • LoRa USB Dongle的Linux兼容性

    基于STM32F103的诸多USB Stack中,mbed社区第三方提供的,以及Keil USB Stack,虽然...

  • 实验一 任钊锋0205

    1.了解大板单片机的应用,了解烧录软件和keil的使用 2.汉字“后来的你”的显示 keil代码 //该板子上的点...

  • 我想要有一辆萝卜车

    我想要有一辆萝卜车, 不用发动机, 也能跑 向上、向下、向左、向右 都能跑 既能钻地洞 又能飞上天

  • LED板子 RJ45网口通讯

    学长板子改keil5几个注意事项: ①晶振修改为25MSTM32外部晶振8M更改为25M:https://blog...

  • 《嵌入式-STM32开发指南》第一部分 入门篇 - 第3章 搭建

    3.1简介 STM常用的集成开发环境(IDE)有KEIL和IAR。 3.2 KEIL安装 3.2.1概述 Keil...

  • 模拟体验

    “年龄?” “不记得了” “看她这样子应该40多了,你就照这写后面的人多了去了,动作麻利点。” 黑压压的屋子里,一...

  • stm32之新建工程(一)

    利用keil新建stm32工程: ①打开keil点击New project ②因为我的keil是将51和stm32...

网友评论

    本文标题:不用板子也能跑!Keil模拟STM32F103体验

    本文链接:https://www.haomeiwen.com/subject/qkxenltx.html