IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 2021-9-23ARM汇编基础之STM32工程 -> 正文阅读

[嵌入式]2021-9-23ARM汇编基础之STM32工程

前言:

记录build生成的hex文件各段的大小,了解Hex文件格式及其前8个字节内容含义。
最终生成的 hex 文件的各段大小
请添加图片描述

hex文件各段大小:
:020000040800F2
:100000000006002031010008390100083B0100080A
:100010003D0100083F010008410100080000000008
:100020000000000000000000000000004301000884
:1000300045010008000000004701000849010008D0
:100040004B0100084B0100084B0100084B01000860
:100050004B0100084B0100084B0100084B01000850
:100060004B0100084B0100084B0100084B01000840
:100070004B0100084B0100084B0100084B01000830
:100080004B0100084B0100084B0100084B01000820
:100090004B0100084B0100084B0100084B01000810
:1000A0004B0100084B0100084B0100084B01000800
:1000B0004B0100084B0100084B0100084B010008F0
:1000C0004B0100084B0100084B0100084B010008E0
:1000D0004B0100084B0100084B0100084B010008D0
:1000E0004B0100084B0100084B0100084B010008C0
:1000F0004B0100084B0100084B0100084B010008B0
:100100004B0100084B0100084B0100084B0100089F
:100110004B0100084B0100084B0100084B0100088F
:100120004B0100084B0100084B0100084B0100087F
:100130000948804709480047FEE7FEE7FEE7FEE77B
:10014000FEE7FEE7FEE7FEE7FEE7FEE704480549B7
:10015000054A064B7047000041020008990200085A
Hex文件格式及其前8个字节内容含义。

|020000040800F2 | |
|02–|-这个记录当中数据字节的数量-|
| 0000 |地址域,对于扩展线性地址记录,这个域总是 0000 |
| |
|-04-|-记录类型 04 (扩展线性地址记录)-|
| 0800 | 是地址的高 16 位 |
| |
|-F2-|-是这个记录的校验和,计算方法:01h + NOT(02h + 00h + 00h + 04h + 08h + 00h)-|
| | |

新建工程:

打开keil,点击菜单栏的Project,如下图所示;
请添加图片描述
在弹出的窗口点击New uVision Project,创建新的工程请添加图片描述
在弹出的窗口分别设置;

设置项目工程的路径;
设置项目工程的名称,这里使用TEST;
点击保存;请添加图片描述

配置环境:

设置工程的目标环境,本文基于STM32F103ZE,因此在弹出的窗口选择相应的选项,点击保存即可。请添加图片描述
如果无法找到该窗口,可以在工具栏点击魔术棒图标;如下图所示;请添加图片描述
ARM的CMSIS已经把开发所需要的软件组件都封装好了,因此直接选择即可;

CMSIS下选择CORE;
Device下Startup,其中包含了启动文件;请添加图片描述

添加源文件

请添加图片描述
请添加图片描述
添加源文件,因为创建汇编项目;

选择 Asm File (.s) ,创建汇编文件;
设置源文件的名称;
点击保存;请添加图片描述
请添加图片描述

源代码如下:

AREA MYDATA, DATA

AREA MYCODE, CODE
ENTRY
EXPORT __main

__main
MOV R0, #10
MOV R1, #11
MOV R2, #12
MOV R3, #13
;LDR R0, =func01

BL	func01
;LDR R1, =func02
BL	func02

BL 	func03
LDR LR, =func01
LDR PC, =func03
B .

func01
MOV R5, #05
BX LR

func02
MOV R6, #06
BX LR

func03
MOV R7, #07
MOV R8, #08
BX LR

仿真器设置:

请添加图片描述
然后点击debug,在“Debug”选项卡中选择“Use Simulator”,表示使用软件仿真;选择“Run to main()”则表示跳过汇编代码,直接跳转到main函数开始仿真。设置下面的“Dialog DLL”项为“DARMSTM.DLL”和“TARMSTM.DLL”;parameter项为“-pSTM32F103C8”,用于设置支持STM32F103C8的软硬件仿真。请添加图片描述

编译调试:

请添加图片描述
请添加图片描述
参考文献:https://blog.csdn.net/u010632165/article/details/106481146
总结:本次实验按照指导指示,只有到了结果那一块才有了一些问题,经过老师的指导,我了解到自己的问题所在——未造成循环。

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-09-26 10:20:39  更:2021-09-26 10:22:38 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 3:25:34-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码