今天在博客园上注册一个账号,打算往后好好写技术博客,原来在新浪上写过几篇,不过距离上一次写是好几个月前的事情了。 突然开始做一件事情,总是有点各种各样的缘由。一条路总有分岔的地方,或者你打算自己在路 ...
最近终于闲了下来了准备好好学习下Cortex M M 系列处理器的架构,经过各种资料的折磨也没法对它的整个工作过程能有个完整的认知,最后看到一片博客打算从程序的运行过程开始探究,所以首先就找到了启动文件因为它可是你的程序开始跑之前的一些重要的准备工作,想要更好的使用某一款芯片了解程序在芯片内运行的始末就显得十分重要了。就像一个博客中这么写到: 每一款芯片的启动文件都值得去研究,因为它可是你的程序 ...
2017-10-28 16:15 0 1487 推荐指数:
今天在博客园上注册一个账号,打算往后好好写技术博客,原来在新浪上写过几篇,不过距离上一次写是好几个月前的事情了。 突然开始做一件事情,总是有点各种各样的缘由。一条路总有分岔的地方,或者你打算自己在路 ...
概述: 当前开发中,我使用的Keil开发工具较多(keil526),故以keil为例进行介绍,其他开发环境大同小异。 1. 编译链接的定义 不管我们编写的代码有多么简单,都必须经过「编译 --> 链接」的过程才能生成可执行文件: 编译就是将我们编写的源代码“翻译”成计算机 ...
1. 定义一个段名为CSTACK, 这里: NOROOT表示如何定义的段没有被关联,那么同意会被优化掉,如果不想被优化掉就使用ROOT. 后面的括号里数字表示如下: (1 ...
,可以帮到大家快速的建立对Cortex-M系列处理器(M0/M0+/M3/M4/M7以及新的M23/M33) ...
前几天刚好同事问起在Cortex-M上延时不准的问题,在网上也没找到比较满意的答案,干脆自己对这个问题做一个总结。 根据我们的经验,最容易想到的大概通过计算指令周期来解决。该思路在Cortex上并不是很适用:一方面MCU从Flash取指是有延时的,另一方面Cortex的指令集不是固定周期的,特别 ...
杂谈 工作了一天,脑袋比较乱。一直想把底层的知识写成一个系列,希望可以坚持下去。为什么要写底层的东西呢?首先,工作用到了这部分内容,最近和内部Flash打交道比较多,自然而然会接触到一些底层的东西;第二,近些年来Cortex-M阵营各厂商(ST、Nordic、ATMEL……)对新产品的迭代 ...
使用Cortex-M系列MCU开发程序时不可避免的会遇到HardFault问题,常用的方法由HardFault_S.s和HardFault_C.c两个文件组成,代码分别如下: 汇编文件中的HardFault_Handler判断出错前使用的是MSP还是PSP,之后 ...
大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是ARM内核架构历史。 众所周知,ARM公司是一家微处理器行业的知名企业,ARM公司本身并不靠自有的设计来制造或出售CPU,而是将处理器架构授权给有兴趣的厂家。这些厂家基本涵盖了全球领先的知名半导体企业、软件和OEM厂商 ...