- 博客(84)
- 收藏
- 关注
原创 裸机编程的几种模式、架构与缺陷。
大多数嵌入式的初学者都是从单片机裸机编程开始的,对于初学者来说,裸机编程更加直观、简单,代码所见及所得,调试也非常方便,区别于使用操作系统需要先了解大量的操作系统基础知识,调度的基本常识,还需要注意各种资源的共享与竞争等概念,并且调试也没有那么直观等等。裸机编程在一些比较简单的项目上还是具有一定的优势的。接下来我们来看看裸机编程的常见模式和架构。
2024-03-11 11:05:40 1369
原创 栈回溯--在栈里挑出返回地址
GNU Arm Embedded Toolchain project files : GNU Arm Embedded Toolchainarm-none-eabi-addr2line -e F103_Moduel.axf -a -f 08000350 08001d94 0800260c
2023-11-23 14:44:06 623
转载 FreeRTOS学习(六)时间管理
【精选】FreeRTOS学习(六)时间管理_xportsystickhandler_la_fe_的博客-CSDN博客
2023-11-16 15:25:12 76
转载 FreeRTOS学习——中断配置与管理
中断是处理器的一个常见特性,由硬件产生,中断产生后CPU就会中断当前流程转去处理中断服务。Cortex-M内核的MCU还挺过来一个用于管理中断的嵌套向量中断控制器 NVIC,它支持多种中断和异常管理。Cortex-M处理器提供了多个管理中断和异常的可编程寄存器,重点需要关注的是3个中断屏蔽寄存器:PRIMASK、FAULTMASK和BASEPRI。临界区,就是必须完整运行、不能被打断的代码段。因此就用到了上面接上的开关中断,通过关闭低于阈值优先级的中断来实现。。中断配置可以使FreeRTOS。
2023-11-16 15:18:50 798
原创 【电路】MOS管开关电路
MOS管也就是常说的场效应管(FET),有结型场效应管、绝缘栅型场效应管(又分为增强型和耗尽型场效应管)。也可以只分成两类P沟道和N沟道。场效应管的作用主要有信号的转换、控制电路的通断,这里我们讲解的是MOS管作为开关管的使用。对于MOS管的选型,注意4个参数:漏源电压(D、S两端承受的电压)、工作电流(经过MOS管的电路)、开启电压(让MOS管导通的G、S电压)、工作频率(最大的开关频率)。下面我们看一下MOS管的引脚,如下图所示:有3个引脚,分别为G(栅极)、S(源极)、D(漏极)。
2023-11-15 19:12:28 2893
原创 【STM32/FreeRTOS】SysTick定时器及FreeRTOS系统节拍
SysTick共有4个相关寄存器,通常只用到3个(校准寄存器少用)。寄存器名称寄存器描述CTRLSysTick控制及状态寄存器LOADSysTick重装载数值寄存器VALSysTick当前数值寄存器CALIBSysTick校准数值寄存器。
2023-11-14 22:09:28 2310
原创 搜集的升压芯片资料
它的输入电压范围宽,输出电压可调,支持多种工作模式,能够满足不同应用需求。它的输入电压范围宽,输出电压可调,支持多种工作模式,能够满足不同应用需求。DC-DC升压芯片,输入电压0.65v/1.5v/1.8v/2v/2.5v/2.7v/3v/3.3v/3.6v/5v/12v/24v航誉微。它的输入电压范围宽,输出电压可调,支持多种工作模式,能够满足不同应用需求。它的输入电压范围宽,输出电压可调,支持多种工作模式,能够满足不同应用需求。它的输入电压范围宽,输出电压可调,支持多种工作模式,能够满足不同应用需求。
2023-11-13 11:18:57 165
转载 TPS61088RHLR升压芯片
输入电压范围:2.7V-12V输出电压范围:4.5V-12.6V效率高达91%(VIN= 3.3V、VOUT= 9V且IOUT=3A时)PWM模式下的开关频率可在200kHz至2.2 MHz之间10A开关电流。
2023-11-13 11:06:22 588 1
原创 常用的一些LDO芯片及使用&稳定的LDO芯片推荐
LDO也是电赛中常用的电源模块。相比DCDC以及稳压器,LDO的跌落电压更小,因此两者适用场合不同。
2023-11-13 10:48:10 3526
原创 keil仿真错误:*** error 65: access violation at 0x40021000 : no ‘write‘ permission
按下图打开:进行修改:我用的芯片是:STM32F103C8T6开始仿真:成功解决不能仿真问题
2023-11-11 19:34:36 1040 1
原创 【Github】git clone命令下载文件中途停止
使用git clone命令下载github上的源代码时,有时文件下载到一定百分比时就停止不动, 这是因为我们所下载的文件很大,超过了git预先分配的Postbuffer容量,所以一直卡在那里。我们可以根据所下载文件的容量来设置Postbuffer的数值。
2023-11-11 13:04:17 2208 2
转载 ARM架构过程调用标准AAPCS
返回值通过R0传递。的下一条语句的地址是0x8000536,进入sum子函数后,这个地址被保存到了LR中(第二张图),LR的实际保存的是0x8000537,这是因为LR最低位置1表示是thumb状态。3、链接寄存器LR用于函数或子程序调用时返回地址的保存,若某函数需要调用另外一个函数或子程序,则它需要首先将LR的数值保存到栈中,否则,当执行了函数调用后,LR的当前值就会丢失。1、r0,r1在接下来wuyong函数中需要拿来传递两个参数,所以用r3,r4来保存了原先R0和R1的值,R5保存了局部变量e的值。
2023-11-09 19:46:20 326
原创 UART编程(寄存器)
需要设置GPIOA的寄存器,选择引脚功能:所以要使能GPIOA模块。各类芯片的UART框图都是类似的,当设置好UART后,程序读写数据寄存器就可以接收、发送数据了。从上图可以知道,PA9、PA10有三种功能:GPIO、USART1、TIMER1。上图中的USART1_RX、USART1_TX,接到了PA9、PA10。肯定有一个数据寄存器,程序读取这个寄存器,就可以获得先前接收到的数据。比如数据位设置为8,无校验位,停止位设置为1。肯定有一个数据寄存器,程序把数据写入,即刻通过串口向外发送数据。
2023-11-09 14:19:14 529
原创 FreeRTOS学习笔记——SysTick中断
SysTick是由STM32内核提供的,时钟源可选,用于产生FreeRTOS所需要的系统时钟,且是由用户可配的,用户在FreeRTOSConfig.h文件中配置configCPU_CLOCK_HZ以及configTICK_RATE_HZ两个宏来设置系统时钟,产生时间片时间,系统每隔固定时间进入SysTick中断处理时间。配置的是portNVIC_SYSTICK_LOAD和portNVIC_SYSTICK_CTRL两个寄存器,有关SYSTICK寄存器的说明可以在armv6-m体系结构参考手册中查看。
2023-11-08 21:18:52 647
原创 ARM寄存器及功能介绍/R0-R15寄存器
r15 用作程序计数器(pc),由于 ARM 采用了流水线机制,当正确读取了 PC 的值后,该值为当前指令地址加 8 个字节,即 PC 指向当前指令的下两条指令地址。模式(FIQ),普通中断模式(IRQ),管理模式(Svc),数据访问中止模式(Abort),未定义指令中止模式(Und),系统模式(Sys),V:对于加减法指令,在操作数和结果是有符号的整数时,如果发生溢出,则V=1;CPSR和SPSR都是程序状态寄存器,其中SPSR是用来保存中断前的CPSR中的值,以便在中断返回之后恢复处理器程序状态。
2023-11-08 20:45:00 3493
原创 编程知识\_C与汇编深入分析
在arm中有个ATPCS规则(ARM-THUMB procedure call standard(ARM-Thumb过程调用标准)。跳转:CPU从0x08000004得到地址值,根据它的BIT0切换为ARM状态或Thumb状态,然后跳转。对于cortex M3/M4,它只支持Thumb状态,所以0x08000004上的值bit0必定是1。设置栈:CPU会从0x08000000读取值,用来设置SP(我们的程序里再次设置了SP)函数可能被使用,所以在函数的入口保存它们,在函数的出口恢复它们。
2023-11-08 20:23:23 643
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人