自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 资源 (6)
  • 问答 (1)
  • 收藏
  • 关注

原创 vscode插件

vscode的常用插件

2023-01-18 16:18:38 86

原创 第3章 异常和中断

所有的cortex-m处理器都会提供一个用于中断处理的嵌套向量中断控制器(NVIC)。除了中断请求,还有其他需要服务的事件,将其称为异常。按照ARM的说法,中断也是一种异常。处理异常的程序代码一般被称作异常处理,它们属于以编译程序映像的一部分。

2022-12-21 15:20:26 97

原创 第2章 跳转 入栈出栈 pc lr的总结

bl 跳转时,会在寄存器 LR(R14)中保存 pc-4 值,即 bl 跳转指令的下一条指令地址,所以返回时只要 MOV pc,lr。中断和异常,都是不可预期的,在跳转前,没有pc-4就给了lr,所以中断和异常要在从中断返回函数时,lr-4给pc,跳到pc的地址。此时要进子函数b,执行bl,此时,lr的值被更新为pc-4,变为了子函数b的返回地址.此时在子函数b,lr的值是子函数b的返回地址,栈里也有子函数b的返回地址lr。函数的跳转,是可预期的,在跳转前,把pc-4给lr就是子函数的返回地址。

2022-12-21 15:12:21 960

原创 gd32f470总结

在100M以太网速率中,MAC层每个时钟采样一次RXD[1:0]上的数据,在10M以太网速率中,MAC层每10个时钟采样一次RXD[1:0]上的数据,此时物理层接收的每个数据会在RXD[1:0]保留10个时钟。Data Area FLASH: 程序在这段flash运行时,每条语句都有延时, 最后的速度可能是以10M为时钟(举例) 这时候, 如果有与时序相关的语句在此执行(IIC等), 很有可能会出问题。Timer:timer,systick,watchdog,rtc(实时时钟,插电池用)

2022-11-16 14:54:36 5121 3

原创 模块化设计方案-20221114

对模块中无可移植方案的部分,采用接口抽象出一个可移植层,在不同的平台上分别实现此接口,此接口的实现就是整个模块的需要移植部分,在做移植工作时,只要将关注点放在此处。实际上真正跨平台的软件是不存在的,任何跨平台的软件必须有一个抽象的底层来支撑,这个支撑的部分是需要在不同的平台上重新实现的,也就是软件的需移植部分。弹性带来的问题是复杂性,过于复杂的软件会带来理解和维护上的困难,所以过度的弹性设计也是不可取的。在对模块所解决的问题的认识高度理解的前提下,抽象出模块的本质,是为软件的弹性设计。

2022-11-14 15:18:45 1195

原创 分层设计方案-20221114

在整洁的嵌入式架构中,我们会将这些用于设备访问的寄存 器访问集中在一起,并将其限制在固件层中。软件与固件之间的边界被称为硬件抽象层(HAL),不要向上层的用户暴露硬件细节,软件与固件之间的分割线往往没有代码与硬件之间的分割线那么清晰 ,为了给他上层的软件提供服务,以便隐藏具体的实现细节。嵌入式架构会在驱动模块以上,进行功能的整合,实现具体的外设模块。模块抽象层隐藏具体的模块实现,对上提供统一的功能服务。应用到开源的Lib和已有的公共模块不需要划分单独的层,根据功能放到对应层里。流程和功能都在App层。

2022-11-14 15:17:37 225

原创 测试IDE是否具有UTF-8编码

测试ide是否具有utf8编码能力

2022-11-03 08:58:39 137

如何写makefile

如何写makefile linux 嵌入式

2023-01-14

cola-os说明 模块化和抽象层的设计思路

cola_os说明 模块化和抽象层的设计思路 该开发板的主要目的是规范大家的编程思想。如果你现在已经有编程基础,但是苦于无法写出规范的代码,那么本开发板提供的例程可以带给你全新的认识。软件框架为前后台和时间片相结合,同时参考rt_thread和linux中优秀的思想设计而成。避免了裸跑的凌乱,又降低了RTOS的复杂。

2022-11-14

draw.io 111111111111111

draw.io

2022-09-08

Image$$ARM_LIB_HEAP$$ZI$$Base.docx

在keil中的高阶应用,使用$$等特殊符号实现高阶功能。 区域ZI部分固定了起始和结束,所以计算时是可预知的。结束未预知的情况

2020-05-16

嵌入式C语言可靠性设计之我见.docx

在使用c设计项目时,往往需要考虑到开发的产品可靠性,开发者若考虑异常情况过少,有可能导致产品在使用时发生各种问题。

2020-05-16

三种传感器常用算法.docx

三种传感器常用算法,在开发中常常需要对传感器的数据进行各种处理,让应用获得更好的效果,本文介绍的是三种传感器的常用算法,包括加权平滑,抽取突变,简单移动平均线。

2020-05-16

Keil生成的Hex文件详解

使用keil平台编译工程后,会得到hex文件,该hex的格式是如何解析的,将能从文章中找到答案

2015-05-09

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除