通过汇编理解cortex-m3:第0章

news/2024/10/31 7:33:54/

第0章:准备工作

基本想法:利用汇编和gdb调试,来学习cortex-m3汇编指令,以及一些寄存器的功能。

软件和硬件:

硬件:韦东山瑞士军刀中的最小核心板(STM32F103C8T6)
STLINK-V2(调试器)
软件:
ubuntu操作系统 22.0.4
openocd(用来将二进制文件下载到开发板中)
gdb-multiarch(用来进行调试)
arm-none-eabi系列软件(对汇编代码进行编译,链接)
vim(文件编辑器)

Demo工程模板:后续的工作都会基于该工程模板
当前章节对应的代码在:template文件夹中

运行程序:

  1. 利用STLINK-V2,将开发板与电脑进行连接
  2. 进入到下载文件的根目录下,执行make download,显示如下结果,说明程序编译,下载成功。
    在这里插入图片描述

同时,如果使用的开发板和之前介绍的一模一样,可以观察到,LED灯在不断闪烁。

调试程序步骤:

  1. 首先根据之前的’运行程序’中的步骤,将程序下载到开发板中

  2. 打开两个ternimal,分别运行如下命令:
    ternimal 1: openocd -f /usr/share/openocd/scripts/interface/stlink-v2.cfg -f /usr/share/openocd/scripts/target/stm32f1x.cfg
    在这里插入图片描述

    ternimal 2: gdb-multiarch Demo.elf
    在这里插入图片描述

  3. 通过gdb调试程序,并观察寄存器变换
    执行如下命令:
    source debug.gdb
    得到的结果如下:
    在这里插入图片描述

    通过输入命令:ni可以观察每一行汇编代码执行完之后,stm32中寄存器的变化情况。


http://www.ppmy.cn/news/1228945.html

相关文章

每日一题 53. 最大子数组和(中等,数组)

很经典的数组题了 class Solution:def maxSubArray(self, nums: List[int]) -> int:ans -inft 0for i in nums:t ians max(ans, t)if t < 0:t 0return ans

电脑监控软件都有哪些,哪款好用丨全网盘点

电脑监控软件是一种用于监视和控制计算机的软件工具&#xff0c;可以帮助企业和个人了解计算机的使用情况&#xff0c;保护数据安全&#xff0c;提高工作效率等。 电脑监控软件都有哪些&#xff1a; 1、域之盾软件 这是一款功能强大的电脑监控软件&#xff0c;可以实时监控电脑…

055-第三代软件开发-控制台输出彩虹日志

第三代软件开发-控制台输出彩虹日志 文章目录 第三代软件开发-控制台输出彩虹日志项目介绍控制台输出彩虹日志实现原理真实代码 总结 关键字&#xff1a; Qt、 Qml、 关键字3、 关键字4、 关键字5 项目介绍 欢迎来到我们的 QML & C 项目&#xff01;这个项目结合了 QM…

这8个Wireshark使用技巧,一看就会!

今天就给你分享8个常用的Wireshark使用技巧&#xff0c;一看就会。如果是处理 HTTP&#xff0c;HTTPS 大家还是用还是用 Fiddler&#xff0c;但如果是其他协议比如 TCP&#xff0c;UDP&#xff0c;还是用wireshark。 今天给你准备了wireshark和Fiddler的安装包给你&#xff0c…

非遗拓鱼丨以传统文化助力守护美丽长江

长江生物多样性极为丰富&#xff0c;是中华民族赖以生存的生命之源&#xff0c;值得人类更多的关注与保护。为传播非遗文化、宣传长江生态保护&#xff0c;积极响应野生动物保护宣传的号召&#xff0c;以非遗手工助力守护长江&#xff0c;11月18日&#xff0c;在重庆市陆海国际…

JAXB:用XmlElement注解复杂类型的Java属性,来产生多层嵌套的xml元素

例如&#xff0c;下面这段请求的xml代码&#xff0c;在元素body下面又多了一层&#xff0c;嵌套了4个元素&#xff1a; <?xml version"1.0" encoding"UTF-8"?><request><reqtype>04</reqtype><secret>test</secret>…

数据资产入表,给企业带来的机遇和挑战

作为推动数字经济发展的核心要素&#xff0c;近年来&#xff0c;数据资源对于企业特别是相关数据企业的价值和作用正日益凸显。 数据资产入表之后&#xff0c;能够为企业经营带来实质性的收益。“随着数据资产的纳入&#xff0c;企业的资产也出现了新标的。在资产负债表中&…

milvus采坑一:启动服务就会挂掉

原因一 硬盘满了&#xff0c;Eric数据文件存储在硬盘上&#xff0c;当硬盘不足&#xff0c;它就会启动后就挂掉。 此时pymilvus连接一直是timeout。 解决方法&#xff1a;更换存储路径。