- 博客(14)
- 收藏
- 关注
原创 深入RTOS(4):保存现场与恢复现场(结合栈&汇编分析)
1.在执行add_val()时,调用c函数的时候,第一个参数保存在R0里,第二个参数保存在R1里;所以,R0=&a,R1=&b,LR=下一条指令的地址(也就是165行);2.将局部变量和返回地址压入栈中;3.R2=a;将R2写入sp所指的位置,那么栈中原来存R3的位置变成了新的R2,也就是tmp这个临时变量;4.R2=b=2;R3=tmp=1;将R2写入sp所指的位置,tmp=3;5.R2=tmp=3;a=R2;6.将R3,LR弹出栈。LR赋值给PC,跳转到返回地址继续执行;
2024-05-23 02:08:55
438
原创 深入RTOS(3):无敌重要的堆与栈
堆是一个空闲的内存,我们可以利用一部分内存,然后再释放回去;例如c语言中的malloc和就可以实现这个功能;栈的使用过程,是RTOS多任务的核心。
2024-05-23 01:45:19
1060
原创 深入RTOS(2):极简ARM架构与汇编
该指令存在flash中,LDR是load register的意思,CPU从[addrA]把它存的内容加载到R0寄存器。
2024-05-23 01:22:56
398
原创 30min拿下C语言,面试考点大全集!
是一个常量指针,指向数组的首元素。大小固定为整个数组的大小。无法被改变或重新赋值。无法进行指针运算。是一个变量,存储一个内存地址。大小固定为指针类型的大小。可以指向任意类型的对象。可以被改变或重新赋值。可以进行指针运算,如加法、减法等。3.数组指针与指针数组的区别数组指针是指向数组的指针变量。数组指针的类型声明中,数组指针可以指向整个数组,而不仅仅是数组的第一个元素。// 遍历数组并打印元素i < 5;i++) {// 输出:1 2 3 4 5。
2024-05-18 21:59:21
2373
1
原创 快速入门C++(1)基础语法简介
本文作业需要使用标准输入输出实现,因此要包含iostream库,第二行是为了防止程序中的同名问题,最常见的是用std来命名空间。
2024-05-08 22:58:57
344
1
原创 STM32问题_01:declaration may not appear after executable statement in block
如图:在点灯的过程中想写一个for循环来实现随机数点灯功能,但是如下图第26行的代码出现了问题,declaration may not appear after executable statement in block。
2023-10-19 22:43:22
3893
原创 python库wordcloud下载遇见的问题及解决
问题描述:我使用python 3.9的版本下载第三方库wordcloud,一直出现以下这样的问题由于c++工具包占位置比较大,而且不知道下载哪个版本,所以这条路一直没走通尝试一:使用whl下载,去网上找过好几个版本,都出现is not a supported wheel on this platform.这样的问题,还是解决不了这个库的下载问题。最终解决:将3.9版本卸载,前往Download Python | Python.org下载了3.7的老版本,然后可以下载了。ps:大家遇见..
2021-11-10 09:21:07
1131
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人