STM32开发
文章平均质量分 71
Wizzy1990
多学一点知识,少写一行代码
展开
-
解析 STM32 的启动过程
解析STM32的启动过程当前的嵌入式应用程序开发过程里,并且C语言成为了绝大部分场合的最佳选择。如此一来main函数似乎成为了理所当然的起点——因为C程序往往从main函数开始执行。但一个经常会被忽略的问题是:微控制器(单片机)上电后,是如何寻找到并执行main函数的呢?很显然微控制器无法从硬件上定位main函数的入口地址,因为使用C语言作为开发语言后,变量/函数的地址便由编译器在编译时自转载 2015-11-25 15:35:58 · 562 阅读 · 0 评论 -
程序运行 IROM、IRAM
关于程序运行 IROM、IRAM题目大意是在下列选项中,三星的ARM的s5pv210的芯片可以执行程序的存储器有那些?a、IROMb、IRAMc、nand flashd、SDRAM给的答案是a、b、d------解决方案--------------------(1)BL0:是指S5PV210的iROM中固化的启动代码 作用:转载 2016-01-12 18:02:15 · 1291 阅读 · 0 评论 -
单片机指令是如何执行的
单片机指令是如何执行的与电脑差不多,读入数据后,依据半导体进行逻辑运算,并把结果输出。单片机的基本结构运算器:用于实现算术和逻辑运算。计算机的运算和处理都在这里进行;控制器:是计算机的控制指挥部件,使计算机各部份能自动协调的工作;存储器:用于存放程序和数据;(又分为内存储器和外存储器,内存储器就如我们电脑的硬盘,外存储器就如我们的U盘)输入设备:用于转载 2016-01-11 19:40:06 · 1861 阅读 · 1 评论 -
简析cpu
cpu是数字处理系统中的一个重要环节。在我看来,单片机、微处理器、dsp都可以称作是cpu,只是它们的侧重点有所不同罢了。具体来说,传统意义上的单片机更偏重于嵌入式的计算,比如说我们经常使用的51、avr、arm芯片中不仅仅含有了运算和控制功能,它还涵盖了定时器、串口、并口、usb、i2c总线等外部资源。dsp呢,cpu一般只是作为dsp的一个核存在,它通常还会包含另外一个核,专门用于数字信号的处转载 2016-01-11 19:35:00 · 254 阅读 · 0 评论 -
IAR中ICF文件分析与应用
原文:http://blog.csdn.net/hitxiaya/article/details/6607075sections在地址空间中的存放是由ILINK链接器来实现的,而ILINK链接器是按照用户在ICF文件中的规定来放置sections的,所以理 解ICF文件的内容尤其重要。一个标准的ICF文件可包括下面这些内容:1. 可编址的存储空间(memor转载 2016-01-28 08:36:52 · 1311 阅读 · 0 评论 -
编译器警告和错误详解
原文:http://blog.csdn.net/zhzht19861011/article/details/58235371.warning: #550-D: variable "d" was set but never used描述:变量'd'定义但从未使用,或者是,虽然这个变量你使用了,但编译器认为变量d所在的语句没有意义,编译器把它优化了.解决:仔细衡量所定义的转载 2016-01-22 11:54:17 · 5090 阅读 · 0 评论 -
IAR error: a declaration cannot have a label
原文:http://stackoverflow.com/questions/92396/why-cant-variables-be-declared-in-a-switch-statement[转]IAR error: a declaration cannot have a label在使用switch时 在case 后面申请变量会出现 error: a declaration c转载 2016-01-22 11:51:46 · 1149 阅读 · 0 评论 -
IAR 单步调试很慢
Q: 用IAR开发stm32f103,发现单步调试的快慢和设定的栈大小有关系,当栈设定较小时单步调试就很快,当栈设定的很大的时候,单步调试就特别特别慢,当栈设定到 100K 的时候几乎就卡死了(实际上没有)。这是为什么啊???请大侠指点迷津。A: 因为单步的时候,IAR会更新你的变量区.也就是每单步一次,IAR就读一次ARM的RAM区,把需要的数据读到界面上显示给你转载 2016-01-05 13:55:09 · 831 阅读 · 0 评论 -
IAR 单步调试很慢
Q:用IAR开发stm32f103,发现单步调试的快慢和设定的栈大小有关系,当栈设定较小时单步调试就很快,当栈设定的很大的时候,单步调试就特别特别慢,当栈设定到 100K 的时候几乎就卡死了(实际上没有)。这是为什么啊??? 请大侠指点迷津。A:因为单步的时候,IAR会更新你的变量区. 也就是每单步一次,IAR就读一次ARM的RAM区,把需要的数据读到界面上显示给你. 所以,如果你要观转载 2016-01-05 13:43:24 · 1166 阅读 · 0 评论 -
ARM汇编编程基础(一) -- ARM CPU寄存器
原文:http://blog.csdn.net/scyangzhu/article/details/8018761ARM的汇编编程,本质上就是针对CPU寄存器的编程,所以我们首先要弄清楚ARM有哪些寄存器?这些寄存器都是如何使用的?ARM寄存器分为2类,普通寄存器和状态寄存器,如表1-1所列。表1 - 1 ARM寄存器转载 2016-01-20 18:06:01 · 412 阅读 · 0 评论 -
嵌入式程序员面试问题集锦
原文:http://blog.csdn.net/haiwil/article/details/7067284这个测试适于不同水平的应试者,大多数初级水平的应试者的成绩会很差,经验丰富的程序员应该有很好的成绩。为了让你能自己决定某些问题的偏好,每个问题没有分配分数,如果选择这些考题为你所用,请自行按你的意思分配分数。 预处理器(Preprocessor) 1 . 用预处转载 2016-01-20 17:51:08 · 266 阅读 · 0 评论 -
如何在IAR中通过Watch窗口观察局部变量的值
原文地址:http://www.cnblogs.com/wx865220862/archive/2013/03/27/2984168.html最近在用430开发一款产品,在软件调试的时候发现Watch窗口中无法观察局部变量的值,总是显示,下面通过一个简答的例子说明一下现象:#include "msp430g2553.h"/* Global variable */转载 2016-01-20 17:44:39 · 2428 阅读 · 0 评论 -
c函数调用过程原理及函数栈帧分析
原文地址:http://blog.csdn.net/zsy2020314/article/details/9429707今天突然想分析一下函数在相互调用过程中栈帧的变化,还是想尽量以比较清晰的思路把这一过程描述出来,关于c函数调用原理的理解是很重要的。1.关于栈 首先必须明确一点也是非常重要的一点,栈是向下生长的,所谓向下生长是指从内存高地转载 2016-01-20 17:40:10 · 286 阅读 · 0 评论 -
局部变量、全局变量、堆、堆栈、静态和全局
原文地址http://www.cnblogs.com/shineqiujuan/archive/2009/05/15/1457178.html 局部变量、全局变量、堆、堆栈、静态和全局--------------------------------------------------------------- 一般全局变量存放在数据区,局部变量存放在栈区, 动态变转载 2016-01-20 17:38:28 · 317 阅读 · 0 评论 -
嵌入式系统的BootLoader技术浅析_启动过程
论文导读::嵌入式系统是以应用为中心、以计算机为基础、软硬件可裁剪。即启动过程可分为阶段1和阶段2两个部分。技术概述。论文关键词:嵌入式系统,启动过程,BootLoader技术 一 BootLoader技术概述 嵌入式系统是以应用为中心、以计算机为基础、软硬件可裁剪,适用于系统对功能、可靠性、成本、功耗严格要求的专用计算机系统。计算机系统都具有相应的引导程序,对于嵌入式系统在执转载 2016-01-12 18:04:58 · 5069 阅读 · 0 评论