Cortex

痞子衡嵌入式:ARM Cortex-M文件那些事(4)- 可重定向文件(.o/.a)

試著忘記壹切 提交于 2020-04-29 03:15:57
  大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家讲的是 嵌入式开发里的relocatable文件(object, library) 。   前三节课里,痞子衡都是在给大家介绍嵌入式开发中的input文件。从今天这节课开始,痞子衡就陆续为大家讲output文件。上一节课 工程文件(.ewp) 里讲说到project文件是一个承前启后的文件,今天痞子衡就为大家讲project生成的第一类output文件:relocatable文件。   文件关系: 源文件(.c/.h/.s) + 工程文件(.ewp) -> 可重定向文件(.o/.a)   relocatable文件,即可重定向文件,这个文件是由编译器汇编源文件(.c/.s)而成的。直接生成的重定向文件叫object file,经过封装的重定向文件称为library file。可重定向文件属于ELF文件的分支,关于ELF文件的详细解释可见第六节课 可执行文件(.out/.elf) 。   本文主角object file和library file,仅是一个中间的过渡文件,其本身也不能被ARM直接执行,需经过第二步转换,即链接,所以这两个文件都是链接器的输入文件。让我们来简单分析一下这两个文件。在开始分析之前我们先回到上一节课 工程文件(.ewp) 的最后创建的demo工程上,编译这个demo工程可以得到如下.o文件

基于Xilinx Zynq-7000系列XC7Z035/XC7Z045/XC7Z100高性能SoC处理器设计的高端核心板

冷暖自知 提交于 2020-04-28 16:12:55
核心 板简介 创龙S OM-TLZ7xH 是一款基于 Xilinx Zynq-7000系列 XC7Z0 35 / XC7Z0 45 / XC7Z100 高性能 SoC 处理器 设计的高端核心板,处理器集成PS端双核ARM Cortex-A9 + PL端 Kintex -7架构2 8nm 可编程逻辑资源。处理器信号引脚 通过 工业级高速B2B连接器引出 , 可 通过PS 端配置及 烧写PL 端程序,且 PS 端和 PL端 可以独立开发。核心板经过专业的PCB Layout和高低温测试验证,稳定可靠,可满足各种工业应用环境 。 使用核心板进行 二次开发 时,仅需 专注上层运用, 降 低了开发难度和时间成本, 可快速进行 产品方案评估与技术预研。 典型 应 用领域 软件无线电 雷达探测 光电探测 视频追踪 图像处理 电子对抗 水下探测 定位导航 深度学习 软硬件 参数 硬件框图 硬件参数 表 1 CPU Xilinx Zynq -7000 XC7Z0 35 / XC7Z0 45 / XC7Z100-2FFG900I ,ARM主频 800MHz , 2.5DMIPS/MHz per CPU RAM PS: 单 通道32bit DDR总线 , 1GByte PL: 单 通道32bit DDR总线 , 1/2GByte可选 ROM 256Mbit QSPI NOR FLASH eMMC 8

痞子衡嵌入式:ARM Cortex-M文件那些事(1)- 源文件(.c/.h/.s)

我与影子孤独终老i 提交于 2020-04-28 13:12:53
  大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家讲的是 嵌入式开发里的source文件 。   众所周知,嵌入式开发属于偏底层的开发,主要编程语言是C和汇编。所以本文要讲的source文件主要指的就是c文件和汇编文件。   尽管在平常开发中,我们都只会关注自己创建的.c/.h/.s源文件,但实际上我们不知不觉中也跟很多不是我们创建的源文件在打交道,那么问题来了,一个完整的嵌入式工程(以基于ARM Cortex-M控制器的工程为例)到底会包含哪些source文件呢?   现在就到了痞子衡的show time了,痞子衡将这些文件按来源分为五类十种,下面痞子衡按类别逐一分析这些文件: 第一类:Provided by Committee   第一类文件由C标准委员会提供,该类文件伴随着标准的发布而逐渐壮大。该类文件主要就是一种,即C标准库。 1. C standard Library   大家都知道C语言是有标准的,常见的C标准有ANSI C(C89)、C99、C11,而C标准函数库(C Standard library)就是所有符合C标准的头文件的集合,以及常用的函数库实现程序。C标准库由Committee制订发布,通常会被包含在IDE里。列举一些常见文件和函数如下,是不是觉得似曾相识? /* 常用文件 */ assert.h,stdio.h,stddef.h,stdint

《痞子衡嵌入式半月刊》 第 1 期

假如想象 提交于 2020-04-28 09:32:52
痞子衡嵌入式半月刊: 第 1 期 这里分享嵌入式领域有用有趣的项目/工具以及一些热点新闻,农历年分二十四节气,希望在每个交节之日准时发布一期。 本期刊是开源项目(GitHub: JayHeng/pzh-mcu-bi-weekly ),欢迎提交 issue,投稿或推荐你知道的嵌入式那些事儿。 唠两句 今天是农历庚子鼠年正月十五,传统元宵佳节,但因为 2019-nCoV 肺炎疫情不减,节日气氛平淡了些。 原计划这个半月刊能按二十四节气交节之日准时发布,但这第一期就没能准时,离立春已经过去4天了,也罢,规矩一开始就破了,底下发布时间压力上也就小了。 大家都知道痞子衡东家是飞思卡尔/恩智浦半导体,所以这第一期咱偏袒一下东家,多给恩智浦相关产品一些特写。 本期共收录 3条资讯、3个项目、2个工具,希望对你有帮助! 资讯类 <font color="red">1、划时代 1GHz 主频 MCU 恩智浦 i.MXRT1170 有望 2020 年下半年面市</font> 2019年10月2日恩智浦半导体隆重发布了 i.MXRT1170,这是一款划时代的 MCU。因为它,单片机首次迈入 1GHz 主频大关,这对于嵌入式从业人员来说,是个值得铭记的时刻。 这款性能炸裂的 MCU 大家都非常期待,在各大嵌入式技术交流群里,它也被频繁提及和讨论,它什么时候能供货是大家最关心的问题。据目前进展来看,i

痞子衡嵌入式:终于可以放开聊一聊i.MXRT1170这颗划时代MCU了

…衆ロ難τιáo~ 提交于 2020-04-28 09:32:39
  大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是 恩智浦i.MX RT1xxx系列MCU的划时代新品i.MXRT1170 。   自2017年开始,每年的6月25日恩智浦都会在北京举行微控制器业务媒体交流会,到今年(2019)已经是第三次了。每年的媒体交流会上,恩智浦的高级副总裁Geoff Lees都会给大家带来最新的产品消息。   2017年Geoff给大家科普了FD-SOI工艺以及正式推出跨界处理器第一款产品i.MXRT1050;   2018年Geoff给大家带来了i.MXRT1060和i.MXRT1020两款新品,此外还有RT1050的全新大封装;   2019年的媒体交流会,痞子衡作为后勤工作人员也去到了现场,Geoff本来是带了三款新品(i.MX7ULP、i.MXRT1010、i.MXRT1170)的,但现场记者们的焦点都集中在7ULP和RT1010上,划时代的RT1170意外被冷落了,这让痞子衡在旁边急的呀,恨不得变身记者上去也提问一个RT1170的问题,把其他记者注意力吸引到RT1170上,后来直到媒体交流会结束,RT1170始终没有进入记者们的视线,随后各大媒体发的新闻稿里也都没有出现RT1170的踪影,难道RT1170就这么被埋没了?   有句老话说得好,是金子总会发光的。今年10月2日

痞子衡嵌入式:大话双核i.MXRT1170之Cortex-M7与Cortex-M4互相激活之道

最后都变了- 提交于 2020-04-28 08:34:20
  大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家分享的是 恩智浦i.MXRT1170上Cortex-M7与Cortex-M4内核互相激活的方法 。   痞子衡最近在深耕i.MXRT1170这颗划时代的MCU,已经写了不少篇相关技术文章,涉及整体特点、Raw NAND启动、FlexRAM模块、ECC特性等,文章写得越多越发觉得i.MXRT1170是座宝矿,值得大家去仔细探索。话不多说,咱们继续挖矿吧,今天痞子衡为大家介绍i.MXRT1170双核间互相激活的方法。 一、双核功能简介   双核是i.MXRT1170除了1GHz主频之外的第二个显著特点,i.MX RT系列也是从RT1170开始首次引入了双核架构。i.MXRT1170包含了一个Cortex-M7内核(1GHz)以及一个Cortex-M4内核(400MHz),超强的Cortex-M7内核专注于音视频识别与处理、千兆以太网通讯控制等复杂任务上;低功耗Cortex-M4内核则做一些相对简单的键盘响应、传感器采集、电机控制等任务,即如下图所示: 二、双核激活方法   i.MXRT1170虽然是双核(Cortex-M7与Cortex-M4),但这两个核并没有确定的主从关系,i.MXRT1170系统设计里每个核都既可以当主核也可以当从核(默认CM7是主核,CM4是从核),用户设置了主从关系之后,芯片上电后先从主核启动

痞子衡嵌入式:恩智浦i.MX RT1xxx系列MCU启动那些事(6)- Bootable image格式与加载(elftosb/.bd)

点点圈 提交于 2020-04-27 15:19:14
  大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是 恩智浦i.MX RT1xxx系列MCU的Bootable image格式与加载过程 。   在i.MXRT1xxx启动系列第三篇文章 Serial Downloader模式(sdphost, mfgtool) 里痞子衡在介绍使用sdphost引导启动Flashloader时使用过一个名叫ivt_flashloader.bin的image文件,其实这个image文件就是Bootable image的一种,虽然痞子衡简单分析过ivt_flashloader的组成,但介绍得并不详尽,今天痞子衡会为大家系统地讲解i.MXRT Bootable image。 一、什么是Bootable image?   如果你是一个有经验的嵌入式开发者,肯定对image格式有所了解,我们通常开发的Application都是针对含内部FLASH的MCU而言的,比如Kinetis、LPC、STM32等MCU,其内部集成了一块Parallel NOR FLASH,且FLASH地址是映射在ARM 4GB system address内的(一般从0x0地址开始),FLASH里存储的直接就是我们编译链接后生成的原始Application binary(.bin),没有任何多余的数据组成。或许你会说还有.hex, .srec等其他image格式,是的

飞凌5G工业网关集2G/3G/4G/5G全兼容的FCU2301嵌入式控制单元震撼上市

|▌冷眼眸甩不掉的悲伤 提交于 2020-04-27 13:50:50
每一次前行,都有创新的力量 每一次创新,都是极致突破 我们积极探索,不断尝试,力求改变 一次又一次,一次又一次 终于,又迎来了我们的新产品 5G工业网关 FCU2301 震撼上市! 5G工业网关 5G工业网关简介 FCU2301嵌入式控制单元是一款具有高性能、多接口、高带宽、大链接、低时延的5G工业网关,从芯片到模组全部采用工业级设计,支持4G/5G全网通、6路千兆网、RS485、DI、DO等多种接口;内部集成高性能64位四核ARM处理器LS1046A,主频高达1.8GHz,CoreMark跑分45000;搭载华为5G工业模组MH5000配合LS1046A的网络加速引擎,可帮助用户快速接入互联网,实现安全可靠的数据传输。开放式系统设计,便于用户二次开发。支持Ubunut18.04操作系统,且集成丰富的第三方组件;适用于智慧工厂、智慧城市、智慧医疗、无人驾驶、虚拟现实等领域。 FCU2301嵌入式控制单元是一款具有高性能、多接口、高带宽、大链接、低时延的5G工业网关。适用于智慧工厂、智慧城市、智慧医疗、无人驾驶、虚拟现实等领域。 一、5G工业网关平台特性 从芯片到模组全部采用工业级设计,支持4G/5G全网通、6路千兆网、RS485、DI、DO等多种接口。 内部集成高性能64位四核ARM处理器LS1046A,主频高达1.8GHz,CoreMark跑分45000。 搭载华为 5G工业模组

12倍端到端加速,陈天奇创业公司OctoML提出克服二值网络瓶颈新方法

主宰稳场 提交于 2020-04-27 10:30:37
去年,TVM 开发团队陈天奇等人创建了 OctoML 公司 ,旨在「让机器学习可以部署在所有硬件上」。前段时间,该公司推出了第一个软件即服务产品 Octimizer ,可以帮助开发者更方便、快捷地将 ML 模型部署到设备上。近日,该公司官方博客又介绍了一种快速端到端二值神经网络——Riptide,使用 TVM 进行优化时可以实现最高 12 倍的端到端加速。该公司机器学习系统工程师 Josh Fromm 在博客中介绍了 Riptide 的细节。 选自medium,作者:Josh Fromm,机器之心编译,机器之心编辑部。 Riptide 是一种新的模型量化方法,可以将模型量化至 1、2 位。研究团队今年三月在 MLSys 上介绍了 Riptide,这篇文章主要讲一下为什么要构建 Riptide,并快速了解它的幕后工作原理。团队计划来年将 Automatic ultra low-bit 功能添加到 Octomizer 中。在此之前,读者可以使用开源 Riptide 项目和 MLSys 论文中的信息来进行模型优化。 论文链接: https:// proceedings.mlsys.org/s tatic/paper_files/mlsys/2020/155-Paper.pdf GitHub 项目: https:// github.com/jwfromm/Ript ide 、 动机及背景

开发STM32MP1,你需要一块好开发板

怎甘沉沦 提交于 2020-04-26 18:01:09
STM32MP1 系列的出现吸引了很多 STM32 的新老用户的关注,但是很多的人都会担心一个问题:以前 是基于 Cortex M 系列 MCU 进行开发的, 对于 cortex-A 架构的处理器以及 Linux 系统都不熟悉 。 如何高效地从 MCU 跨越到 MPU 是大家都关心的话题。 作为 ST 官方合作伙伴,米尔电子推出了开发套件 MYD-YA157C , 该 套件由核心板 MYC-YA157C 和底板 MYB-YA157C 组成。 该平台采用 STM32MP157 系列高性能处理器,提供了高性能显示,千兆以太网, WIFI/ 蓝牙, RS232/RS485/CAN 等丰富接口。贴合应用场景的产品定义,稳定可靠的硬件设计,丰富的软件和学习资源,能帮助大家轻松实现跨越,是一块值得推荐的 STM32MP1 开发板。 图 1 米尔 MYD-YA157C 开发板 一、 STM32MP157 超强芯片 该开发平台 采用 ST 公司 STM32MP157AAC 3 处理器作为主控平台 , 这是 ST 公司在 2019 年推出的首款 MPU ,也是一颗超强 双核 cortex-A7 加单核 M4 的芯片,主频可达 650Mhz , 芯片 含有丰富的资源, 满足用户对于图像界面的日常需求 , 支持各种存储器接口 和 丰富的通信接口 。 图 2 STM32MP1 系列结构框图