-
一般来讲,微处理器的用户程序运行前总有个启动文件或类似的文件先行启动,完成微处理器从复位过渡到运...
-
我们在从事MCU应用开发过程中,难免会碰到MCU芯片异常的问题,其中有些异常比较严重。比如异常复位,表现为复位脚有电平跳变或者干脆处于复位电平;在做代码调试跟踪时,发现代码根本就进...
-
带大家来一起快速的看懂ZigBee的协议栈的运行流程。
1.读任何程序都需要从main函数入手,那我们先来看Zmain.c中的main函数。
问题:...
-
在嵌入式项目中,经常会用到SD卡升级这一方式来进行产品的软件升级。刚好最近做的项目也需要这一功能,由于之前未接触过IAP开发,刚好在这个时候可以学习一下,于是先到各大网站去搜索相关...
-
栈增长和大端/小端问题是和CPU相关的两个问题.1,首先来看:栈(STACK)的问题.函数的局部变量,都是存放在"栈"里面,栈的英文是:STACK.ST...
-
我在X893的设计基础上重新设计了STM32F103 CMSIS-DAP调试器(名字好长,应该缩写一下:F103-DAP)。下图为X893原版设计。
与原始设计相比,我做...
-
看完了DJYOS以后想把它移植到自己手中的开发板中,开发板是原子的ALIENTEK,其实自己也想买一块论坛里讲到的板子,但是自己手上目前有一块,就没必要浪费MONEY了,这块板子是...
-
关于堆和栈已经是程序员的一个月经话题,大部分有是基于os层来聊的。
那么,在赤裸裸的单片机下的堆和栈是什么样的分布呢?
以下是网摘:
&nbs...
-
STM32启动代码
编译器:keil MDK4.1
进入到嵌入式领域,main函数之前还有一段启动代码!
究竟在main函数之前,...
-
一,网上下载的例程,跳转部分的代码有差异,尤其是用的汇编那句
eg:
①Jump_To_Application = (pFunction)(*(vu32*) (IA...
-
我们玩ARM9,一般都是在内存里调试程序,速度飞快。STM32下也可以这样,虽说现在的flash寿命已经很长了,但flash中调试烧录程序还是一个很慢的过程,有时候程序上一个小小的...
-
学习STM32,看了一堆乱七八糟的文档,准备写程序了,先分析了下STM32的启动代码,看着这堆鬼鬼的汇编代码,挺吓人的,看看帮助,查查网路,还是不那么难懂。
;// ...
-
前言某客户的产品,需要评估NUCLEO-F746ZG板上的USB功能,使用cube Version 4.15.1 版本工具生成工程,但在win7和win10上遇到驱动...
-
STM32出现HardFault_Handler故障的原因主要有两个方面:
1、内存溢出或者访问越界。这个需要自己写程序的时候规范代码,遇到了需要慢慢排查。
&...
-
1、遇到错误问题是数据类型不对,导致该步骤永远不能执行到,跳至硬件错误中断;所以硬件中断可尝试查找数据类型错误。
2、堆栈设置错误也会跳至hardwarefault;
3、如果...
-
在调试STM32时,单步打断点运行时,没有问题,但是全速运行时,偶尔会跳过错误,偶尔也会跳转hardfault;
问题实在难找。。。
最后定位在发送数据的缓存上, 发现发送缓存...
-
cortex-M3的异常向量表中的内容并不是指令,0x00000000处(当然也可能映射到别的范围)是主堆栈指针的数值,0x00000004的内容是复位后需要跳转到的地址,是一个地...
-
1. 软复位
*((u32 *)0xE000ED0C) = 0x05fa0004; //实现系统复位
...
-
1.在项目文件夹 新建 RAM.ini -------------------------------------------------------...
-
1. 软复位
*((u32 *)0xE000ED0C) = 0x05fa0004; //实现系统复...