随笔分类 -  C1.内核Cortex-M

摘要:大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是ARM Cortex-M存储保护模块(MPU)。 《ARM Cortex-M内核MCU开发那些事》的内核篇连载最早是 2017 年底开始写的,但只写了 7 篇就停更了,鸽了这么久实在不好意思。最近在支持 i.MXRT 客户的过程中,发现 阅读全文
posted @ 2021-08-07 11:35 痞子衡 阅读(4060) 评论(0) 推荐(0) 编辑
摘要:ARM 前几天刚发布了 Cortex-M 家族最新一款内核 - Cortex-M55 以及首款面向 Cortex-M 系列的 microNPU - Ethos-U55。Cortex-M55 是第一款面向 AI/ML 的 Cortex-M 内核,痞子衡也专门为此写过一篇小文 《为AI/ML而生(Cortex-M55)》,在那篇小文里痞子衡只是一笔带过 Ethos-U55,未作深入探讨,今天痞子衡就跟大家好好聊聊 Ethos-U55。 阅读全文
posted @ 2020-02-15 15:16 痞子衡 阅读(2264) 评论(0) 推荐(0) 编辑
摘要:鼠年春节,大家都在时刻关心 2019nCoV 疫情发展,没太多心思搞技术,就在这个时候,ARM 不声不响搞了个大新闻,如果你登录 ARM developer 网站,会发现 Cortex-M 家族多了一个新成员:Cortex-M55 阅读全文
posted @ 2020-02-11 00:15 痞子衡 阅读(3032) 评论(0) 推荐(1) 编辑
摘要:前面痞子衡讲过嵌入式里的堆栈原理,本篇算是堆栈原理的工程实践,更具体点说是在ARM Cortex-M上的应用。ARM Cortex-M家族发展至今已经很多代,我们且以最简单的Cortex-M0为例来讲述堆栈机制 阅读全文
posted @ 2020-02-05 21:54 痞子衡 阅读(4167) 评论(0) 推荐(0) 编辑
摘要:ARM Cortex-M处理器家族发展至今(2020),已有8代产品,除了之前介绍过的CM0/CM0+、CM1、CM3、CM4、CM7,还有主打安全特性的CM23、CM33、CM35P。 阅读全文
posted @ 2020-01-26 20:47 痞子衡 阅读(2971) 评论(0) 推荐(1) 编辑
摘要:大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是 ARM Cortex M指令集 。 指令集 指令长度(bits) 包含指令 CortexM0 CortexM0+ CortexM1 CortexM3 CortexM4 CortexM7 CortexM23 CortexM33 Thum 阅读全文
posted @ 2018-04-09 22:47 痞子衡 阅读(3899) 评论(0) 推荐(0) 编辑
摘要:嵌入式开发中,大家免不了需要仿真调试代码,在线调试是排除bug最有效直接的方式,今天我们要聊的是调试里最基础的东西,即接口标准。ARM内核原生支持2种业界通用的接口标准,分别是JTAG和SWD。本节课先给大家详细讲讲JTAG接口。 阅读全文
posted @ 2018-02-13 22:35 痞子衡 阅读(4480) 评论(5) 推荐(2) 编辑
摘要:ARM公司提供了Cortex-M系列处理器的官方性能对比数据,包括Dhrystone和CoreMark标准 阅读全文
posted @ 2018-02-03 11:11 痞子衡 阅读(2771) 评论(0) 推荐(0) 编辑
摘要:ARM Cortex-M处理器家族发展至今(2016),已有5代产品,分别是CM0/CM0+、CM1、CM3、CM4、CM7 阅读全文
posted @ 2018-02-03 10:43 痞子衡 阅读(5582) 评论(0) 推荐(0) 编辑
摘要:今天主要讲的是工程开发最终的output文件,即image文件。image文件也叫镜像文件,这个文件主要包含的是只有芯片能够解释执行的二进制机器码数据。 阅读全文
posted @ 2018-01-26 21:34 痞子衡 阅读(3372) 评论(3) 推荐(3) 编辑
摘要:在第四、五、六节课分别介绍了编译器/链接器生成的3种output文件(relocatable、map、exectuable文件),这3种文件都是侧重的代码经过汇编/链链接后的二进制数据在存储中分布情况。如果想知道二进制数据对应的机器码具体是什么意思应该怎么办?今天要介绍的反汇编文件会给你答案。 阅读全文
posted @ 2018-01-21 21:21 痞子衡 阅读(3004) 评论(4) 推荐(3) 编辑
摘要:ELF全称Executable and Linkable Format,可执行连接格式,ELF格式的文件最早用于存储Linux程序,后演变到ARM系统上存储ARM程序 阅读全文
posted @ 2018-01-18 21:06 痞子衡 阅读(2697) 评论(0) 推荐(4) 编辑
摘要:map文件就是所有relocatable文件经过链接器统一链接后生成的记录链接信息的文件,map文件里可以查到所有symbol在存储器中具体分配地址 阅读全文
posted @ 2018-01-14 21:51 痞子衡 阅读(7294) 评论(2) 推荐(5) 编辑
摘要:relocatable文件,即可重定向文件,这个文件是由编译器汇编源文件(.c/.s)而成的。直接生成的重定向文件叫object file,经过封装的重定向文件称为library file。relocatable文件是一个中间的过渡文件,其本身也不能被ARM直接执行,需经过第二步转换,即链接,所以这两个文件都是链接器的输入文件。 阅读全文
posted @ 2018-01-10 21:46 痞子衡 阅读(2556) 评论(0) 推荐(3) 编辑
摘要:project文件不仅包含开发者指定的input信息,还包含很多其他辅助调试的input/output信息,算是嵌入式开发中承前启后的文件。而本文侧重点在于project文件中与开发者应用相关的input信息,仅当得到了这些input信息,再加上前面介绍的source和linker文件,那么你就已经得到了application所有的信息,你可以用它们来可以生成无歧义的可执行image binary。 阅读全文
posted @ 2018-01-07 22:27 痞子衡 阅读(4184) 评论(2) 推荐(3) 编辑
摘要:linker文件是在链接阶段所要用到的文件,source文件在编译过程完成之后,需要再经过链接器从而将二进制数据有序组织起来形成最终的二进制可执行文件,linker文件就是用来指示链接器如何组织编译生成的二进制数据。 阅读全文
posted @ 2018-01-04 11:16 痞子衡 阅读(13243) 评论(8) 推荐(11) 编辑
摘要:嵌入式开发编程语言是C和汇编,本文讲的source文件指的是c和汇编文件。在平常开发中,我们只会关注自己创建的.c/.h/.s源文件,但实际上我们也跟很多不是我们创建的源文件在打交道,那么一个完整的嵌入式工程到底会包含哪些source文件呢? 阅读全文
posted @ 2018-01-03 13:02 痞子衡 阅读(6664) 评论(4) 推荐(7) 编辑
摘要:大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家讲的是嵌入式开发里的文件关联。 本篇是文件系列第一篇,本系列文章会逐一介绍ARM Cortex-M开发过程中(以IAR集成开发环境为例,其他开发环境可触类旁通)所要接触的8种主要文件类型:源文件、链接文件、工程文件、可重定向文件、映射文件、可执 阅读全文
posted @ 2018-01-01 22:13 痞子衡 阅读(2574) 评论(2) 推荐(2) 编辑
摘要:汇聚ARM Cortex-M开发学习最全的资源,包含概念科普、官方汇总、内核手册、教程书籍、软件资源、开发工具、开发论坛、博客专家共八大类目。 阅读全文
posted @ 2017-12-19 14:54 痞子衡 阅读(16670) 评论(3) 推荐(5) 编辑
摘要:从2004年ARM公司推出第一款基于ARMv7M架构的Cortex-M3处理器开始,至今(2016)为止Cortex-M处理器家族已经发展到了Cortex-M7 阅读全文
posted @ 2017-11-24 20:06 痞子衡 阅读(2226) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示