
嵌入式软件LIFE分享(1)
文章平均质量分 97
Yank_k
努力成为栈溢出工程师
展开
-
嵌入式开发(10)Flash、RAM、ROM理解
Cortex-M3和Cortex M4处理器本身并不包含存储器(没有程序存储器、SRAM或缓 存),它们具有通用的片上总线接口,因此,微控制器供应商可以将它们自己的存储器系统添加 到系统中。一般来说,微控制器供应商需要将下面的部件添加到存储器系统中:(1)程序存储器, 一 般是Flash。(2)数据存储器, 一般是SRAM。(3)外设。原创 2022-10-06 14:38:51 · 7153 阅读 · 0 评论 -
嵌入式开发(8)C与汇编混合运用
若要将软件移植到另外一个编译器上,且两者的习语识别特性不同,则由于代码使用的是标准的C语法,仍可以将代码编译成功,只是所生成指令的效率会比使用习语识别时要低。原创 2022-09-27 14:00:32 · 3117 阅读 · 0 评论 -
嵌入式开发(9)DMA控制器
参考STM32f4xx中文参考手册DMA传输方式也没有中断处理方式那样保留现场和恢复现场过程,通过硬件为RAM和IO设备开辟一条直接传输数据的通道,使得CPU的效率大大提高。— DMA1 存储器总线DMA 通过此总线来执行存储器数据 的传入和传出。此总线访问的对象是数据存储器:内部 (112 KB、64 KB、16 KB) 以及通过 的外部存储器— DMA2 存储器总线此总线访问的对象是数据存储器:内部 (112 KB、64 KB、16 KB) 以及通过 的外部存储器。— DMA2 外设总线原创 2022-09-27 14:01:28 · 1372 阅读 · 0 评论 -
嵌入式开发(7)系统定时器(SysTick)之延时函数运用
SysTick 叫做系统滴答时钟、系统定时器,属于 Cortex-M4 内核中的一个外设(外围设备),也是属于NVIC的一部分,并且是24bit向下递减的计数器。2^24-1向下计数 往下-1到0 然后触发中断。《STM32中文参考手册》P108RCC向 Cortex 系统定时器 (SysTick) 馈送 8 分频的 AHB 时钟 (HCLK)——》21MHZ。SysTick 可使用此时钟。作为时钟源,也可使用HCLK。原创 2022-09-19 16:10:42 · 4666 阅读 · 0 评论 -
嵌入式开发(6)复位与时钟控制体系(RCC)
有错误请指正!!原创 2022-09-18 01:17:54 · 3969 阅读 · 0 评论 -
嵌入式开发(5)位带(位段)操作
位带区是存储器映射包括两个位段区域。这些区域将存储器别名区域中的每个字映射 到存储器位段区域中的相应位。在别名区域写入字时,相当于对位段区域的目标位执行读-修改-写操作。其中一个位于SRAM区域的第一个1MB,另一个则位于外设区域的第一个1MB,这两个区域可以同普通存储器一样访问,而且还可以通过名为位段别名的一块独立的存储器区域进行访问。别名区是按照一定的映射关系,将位带区的每一个bit 映射到位带别名区的每一个字 (不是字节,stm32中字的宽度为4字节)。原创 2022-09-16 16:36:03 · 6010 阅读 · 0 评论 -
嵌入式开发(4)启动文件理解
多多指教,努力成为”栈溢出“工程师!!!原创 2022-09-12 23:33:34 · 1398 阅读 · 0 评论 -
嵌入式开发中断全解(3)外部中断和内部中断例程
(两种开发方式: 寄存器开发/库函数开发,大部分写的代码用寄存器来写,很大得提高效率)ST公司有三种库版本:标准库、HAL库、LL库。NUCLEO-F091RC这里例程采用HAL库进行编辑。按键外部中断代码,采用引脚控制高低电平,按一下检测是否这个引脚,翻转led灯电平。HAL库代码思路:1、初始化——》void MX_GPIO_Init(void)打开时钟使能初始化GPIO引脚配置中断优先级,包括抢占优先级和响应优先级打开中断使能2、配置中断服务函数正常情况是还需要写个中断函数,如下图所示。原创 2022-09-09 15:59:16 · 2733 阅读 · 1 评论 -
嵌入式开发中断全解(2)Hard Fault的诊断
在内核的MCU上写程序时,稍不留神,就可能出现内存溢出的情况。我们可以知道,当我们使用该引脚用作其它功能的时候,如果把NMI引脚在电路上接地,程序在启动的时候就会触发NMI中断,从而进入到NMI_Handler函数中去,那程序一直卡在这了,后期再说说怎么屏蔽。两大类,外部中断由单片机外部设备产生,中断产生后通过单片机的外部管脚传递给单片机,传递这个中断信号最简单的方法就是 规定单片机的管脚在什么状态下有外部中断产生,这样单片机通常是有一个或多个IO口,当在输入状态时可以用来检测外部中断信号。原创 2022-09-06 23:09:06 · 7044 阅读 · 0 评论 -
嵌入式开发中断全解(1)
”中断“最基础的大概了解,往后希望一起探讨。原创 2022-09-04 22:31:13 · 4696 阅读 · 0 评论 -
IAR设置堆栈和进程内存布局
虚拟内存:重点栈、堆、数据段、代码段等涉及到的参数程序内存分配问题,将写代码想象成内存存储的方式,更深了解自己写的逻辑代码。原创 2022-08-30 08:41:13 · 4902 阅读 · 0 评论