- 汇编语言实现函数的调用,代码如下 .text @表示为代码段,以下内容是指令 main: @入口函数,在这里可有可无 mov r0,#1 bl fun @b1 为跳转指令,同时保存下一个地址的位置到LR寄存去(作为函数的返回地址) main_end: b main... 汇编语言实现函数的调用,代码如下 .text @表示为代码段,以下内容是指令 main: @入口函数,在这里可有可无 mov r0,#1 bl fun @b1 为跳转指令,同时保存下一个地址的位置到LR寄存去(作为函数的返回地址) main_end: b main...
- 单片机最小应用系统 单片机能正常运行的最少器件构成的系统,就是最小系统。 存储器的扩展 存储器主要用来保存程序、数据和作为运算的缓冲器,是单片机和单片机应用系统中除CPU外最重要的功能单元。如果片内的程序存储器容量不够或没有程序存储器时,就要扩展程序存储器;如果片内的数据存储器容量不够时,就要片外扩展数据存... 单片机最小应用系统 单片机能正常运行的最少器件构成的系统,就是最小系统。 存储器的扩展 存储器主要用来保存程序、数据和作为运算的缓冲器,是单片机和单片机应用系统中除CPU外最重要的功能单元。如果片内的程序存储器容量不够或没有程序存储器时,就要扩展程序存储器;如果片内的数据存储器容量不够时,就要片外扩展数据存...
- 编写高效简洁的C语言代码,是许多软件工程师追求的目标。本文就是针对编程工作中的一些体会和经验做相关的阐述。 第一招:以空间换时间 计算机程序中最大的矛盾是空间和时间的矛盾,那么,从这个角度出发逆向思维来考虑程序的效率问题,我们就有了解决问题的第1招--以空间换时间。比如说字符串的赋值: 方法A:通常的办法... 编写高效简洁的C语言代码,是许多软件工程师追求的目标。本文就是针对编程工作中的一些体会和经验做相关的阐述。 第一招:以空间换时间 计算机程序中最大的矛盾是空间和时间的矛盾,那么,从这个角度出发逆向思维来考虑程序的效率问题,我们就有了解决问题的第1招--以空间换时间。比如说字符串的赋值: 方法A:通常的办法...
- LiteOS 的任务是调度执行的最小单元,主要按照优先级抢占,辅以时间片轮转的方式进行调度。 任务的操作和维护保护创建、删除、调用、挂起、恢复、切换、sleep 等。 任务间的交互可以通过消息或事件进行,同时支持使用互斥锁 MUX 或信号量 semphore来 进行活动的互斥同步。 任务可以分为不同的优先级,优先级用 0-31... LiteOS 的任务是调度执行的最小单元,主要按照优先级抢占,辅以时间片轮转的方式进行调度。 任务的操作和维护保护创建、删除、调用、挂起、恢复、切换、sleep 等。 任务间的交互可以通过消息或事件进行,同时支持使用互斥锁 MUX 或信号量 semphore来 进行活动的互斥同步。 任务可以分为不同的优先级,优先级用 0-31...
- 目录 3.1 内存中字的存储 3.2 DS和[address] 3.3 字的传送 3.4 mov、add、sub指令 3.5 数据段 3.6 栈 3.7 CPU提供的栈机制 3.8 栈顶超界的问题 3.... 目录 3.1 内存中字的存储 3.2 DS和[address] 3.3 字的传送 3.4 mov、add、sub指令 3.5 数据段 3.6 栈 3.7 CPU提供的栈机制 3.8 栈顶超界的问题 3....
- 1.把C++当成一门新的语言学习(和C没啥关系!真的。); 2.看《Thinking In C++》,不要看《C++变成死相》; 3.看《The C++ Programming Language》和《... 1.把C++当成一门新的语言学习(和C没啥关系!真的。); 2.看《Thinking In C++》,不要看《C++变成死相》; 3.看《The C++ Programming Language》和《...
- GCC编译流程分析 0.源码1.预编译2.编译阶段,只进行编译,不做其他,生成一个汇编文件3.汇编阶段,这个阶段是吧汇编代码翻译为CPU可以识别的二进制代码4.链接阶段 ... GCC编译流程分析 0.源码1.预编译2.编译阶段,只进行编译,不做其他,生成一个汇编文件3.汇编阶段,这个阶段是吧汇编代码翻译为CPU可以识别的二进制代码4.链接阶段 ...
- 这个章节讲述的是 Makefile 的隐含规则,所谓的隐含规则就是需要我们做出具体的操作,系统自动完成。编写 Makefile 的时候,可以使用隐含规则来简化Makefile 文件编写。 实例: test:test.ogcc -o test test.otest.o:test.c 我们可以在 Makefile 中这样写来编译 tes... 这个章节讲述的是 Makefile 的隐含规则,所谓的隐含规则就是需要我们做出具体的操作,系统自动完成。编写 Makefile 的时候,可以使用隐含规则来简化Makefile 文件编写。 实例: test:test.ogcc -o test test.otest.o:test.c 我们可以在 Makefile 中这样写来编译 tes...
- 【C++深度剖析学习总结】 2 C语言到C++的进阶 作者 CodeAllen ,转载请注明出处 C语言和c++的关系 1.c++继承所有的C语言特性 2.c++在C语言的额基础上提供了更多的语法与特性 3.c++的设计目标就是运行效率和开发效率的统一 主要添加的那些呢? 类型,... 【C++深度剖析学习总结】 2 C语言到C++的进阶 作者 CodeAllen ,转载请注明出处 C语言和c++的关系 1.c++继承所有的C语言特性 2.c++在C语言的额基础上提供了更多的语法与特性 3.c++的设计目标就是运行效率和开发效率的统一 主要添加的那些呢? 类型,...
- 我们随便在招聘平台搜”嵌入式开发”这个职位,看到很多职位都要求会STM32,为什么? 我个人也用了STM32单片机几年,感觉非常爽,后面做产品能用ST的基本不用别的。 主要原因有以下几点: 1.对这个芯片比较熟悉了 2比较稳定 3.资源丰富,价格也合理(最近涨价除外) 4.资料多,有问题能很快... 我们随便在招聘平台搜”嵌入式开发”这个职位,看到很多职位都要求会STM32,为什么? 我个人也用了STM32单片机几年,感觉非常爽,后面做产品能用ST的基本不用别的。 主要原因有以下几点: 1.对这个芯片比较熟悉了 2比较稳定 3.资源丰富,价格也合理(最近涨价除外) 4.资料多,有问题能很快...
- LDM(载入多个值)和STM(存储多个值) .data array_buff: .word 0x00000000 /* array_buff[0] */ .word 0x0... LDM(载入多个值)和STM(存储多个值) .data array_buff: .word 0x00000000 /* array_buff[0] */ .word 0x0...
- 学习内存指令,加载和存储 ARM使用载入-存储模型来访问内存,意味着只有加载/存储(LDR和STR)指令才可以访问内存。在X86中,大多数指令允许直接操作内存中的数据,而在ARM中,在操作数据之前,必须... 学习内存指令,加载和存储 ARM使用载入-存储模型来访问内存,意味着只有加载/存储(LDR和STR)指令才可以访问内存。在X86中,大多数指令允许直接操作内存中的数据,而在ARM中,在操作数据之前,必须...
- 条件指令 当特定条件满足时,借助条件指令, 通过跳转(分支)或执行某些特定指令来控制程序的流动方向。相关条件被描述为CPSR寄存器中的特定位的状态,这些位根据指令计算后的结果实时改变。比如,如果我们比较... 条件指令 当特定条件满足时,借助条件指令, 通过跳转(分支)或执行某些特定指令来控制程序的流动方向。相关条件被描述为CPSR寄存器中的特定位的状态,这些位根据指令计算后的结果实时改变。比如,如果我们比较...
- push和pop 进程中有使用一块内存区域叫堆栈。堆栈指针(SP)是一个寄存器,在正常情况下,它总是指向栈内存区域中的一个地址。应用程序通常使用堆栈进行临时数据存储。之前提过,ARM使用加载/存储模型进... push和pop 进程中有使用一块内存区域叫堆栈。堆栈指针(SP)是一个寄存器,在正常情况下,它总是指向栈内存区域中的一个地址。应用程序通常使用堆栈进行临时数据存储。之前提过,ARM使用加载/存储模型进...
- 不知道大家还记不记得自己小学时候自己的梦想? 有人想成为医生、有人想成为医生,有人想成为飞行员,而我想成为发明家。 可能真是我这种想法,也导致我的性格从小就比较内向,毕业出来以后也从事技术。 人生的上半场,我都在和技术打交道,而我从事的这门技术叫单片机开发。 单片机很早就已经有了,我第一次接触它的时候也感觉有种”老头”的感觉,也... 不知道大家还记不记得自己小学时候自己的梦想? 有人想成为医生、有人想成为医生,有人想成为飞行员,而我想成为发明家。 可能真是我这种想法,也导致我的性格从小就比较内向,毕业出来以后也从事技术。 人生的上半场,我都在和技术打交道,而我从事的这门技术叫单片机开发。 单片机很早就已经有了,我第一次接触它的时候也感觉有种”老头”的感觉,也...
上滑加载中
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢
2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
关于RISC-V生态发展的思考
2025/09/02 周二 17:00-18:00
中国科学院计算技术研究所副所长包云岗教授
中科院包云岗老师将在本次直播中,探讨处理器生态的关键要素及其联系,分享过去几年推动RISC-V生态建设实践过程中的经验与教训。
回顾中 -
一键搞定华为云万级资源,3步轻松管理企业成本
2025/09/09 周二 15:00-16:00
阿言 华为云交易产品经理
本直播重点介绍如何一键续费万级资源,3步轻松管理成本,帮助提升日常管理效率!
回顾中
热门标签