Cortex

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

你。 提交于 2020-04-26 16:02:44
  大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是 恩智浦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格式,是的

FPGA xilinx7系列 Zynq7000初探资源介绍

[亡魂溺海] 提交于 2020-04-25 05:21:19
Zynq7000系列是基于APSOC的可拓展处理平台,它的本质特征是将一个双核ARM Cortex-A9处理器和一个可编程的FPGA芯片集成到一个片上系统中。在进行Zynq7000的详细说明前,本节首先对架构的高层模型进行介绍,如图2-1所示。 通常将ARM处理器和各种存储外设资源称为处理系统(Processor System,PS),.将FPGA部分称为可编程逻辑(Programmable Logic,PL)。ARM Cortex-A9是一个应用级处理器,支持类似Linux操作系统的运行。FPGA采用的Xilinx7架构实现了工业标准的AXI接口,该接口在ARM和FPGA之间形成高效耦合,减少了分立芯片产生的额外功耗,不仅实现了高带宽、低延迟的连接,同时带来了物理尺寸和生产成本的降低. 值得一提的是,Zynq7000的PL部分可以配置一个软处理器MicroBlaze。Micro-Blaze是由可编程逻辑部分的单元组合而成 [19] ,也就是一个MicroBlaze的实现和部署与FPGA中一个普通IP核是等价的。软处理器可以和ARM协同工作,负责协调特定底层功能和系统之间的配合,将一些要求不高的任务从ARM Cortex-A9处理器上脱离出来,提升系统的性能。 Zynq7000的PL部分用来实现高速逻辑运算和并行数据流处理的子系统是非常理想的,PS部分支持软件控制或者操作系统

使用Minifly打造基于视觉感知的跟踪无人机

偶尔善良 提交于 2020-04-25 01:56:56
前言:本文介绍一种可行的解决方案来实现基于视觉感知的跟踪无人机。由于本人能力和资源有限,所以在无人机系统的选择上,选用正点原子开发的开源算法无人机Minifly四轴和摄像头。视觉感知模块(目标检测与跟踪)采用OpenCV + MobileNet SSD + KCF。本文已分享经验和记录开发过程为主, 推荐使用其他更好的无人机模块和图像识别算法 。 知识基础:Linux、Python 3、STM32(嵌入式相关) 解释一下为什么要用Linux,其实只用Windows也可以,但实际运行中发现OpenCV的效率在Linux上更高。该方案建议安装 Windows 7(必须) + Linux 双系统。 Python在人工智能中的影响不用多说,简单了解一下这种语言即可。 STM32F103 和 STM32F411( Cortex-M )是本方案种的无人机系统的处理器核心,并且采用FreeRTOS作为操作系统,所以关于STM32的C语言库函数开发是必要的,尽管本方案涉及到它的部分不多。 整体框架如下: 正文: 一、开发软件及平台 Deepin Linux --- deepin操作系统是中国人开发的Linux发行版。主要优点:安装简单、界面美观、集成wine QQ 微信,真正做到开箱即用。 PyCharm --- PyCharm是一种Python IDE

企业直通车:物联网开发 物联网开发入门到项目实战视频教程

对着背影说爱祢 提交于 2020-04-25 01:45:48
课程简介: “智慧地球,感知中国”,随着物联网概念的逐步普及,物联网相关行业的人才需求也随之扩大。 本套课程将围绕物联网的核心传感技术,以CortexM系列的CPU作为载体,由麦子学院资深物联网开发工程师为大家亲授,全面剖析物联网技术的方方面面,让我们一起进入物联网的世界。 课程目录: 第一阶段:学前准备 九层之台,起于垒土;千里之行,始于足下。在进入物联网具体的开发课程前,我们需要锤炼自己的基础功底,比如C语言的编程、基本数字电路等基本概念。 第1阶段 学前准备 01 C语言及程序设计快速入门 -- 01 课程开场白---学什么,怎么学,C语言的重要性 -- 02 计算机基础---程序执行原理和编译原理 -- 03 计算机进制及计算机内存空间 -- 04 字符在计算机中的编码原理及ACS码表的应用技巧 -- 05 C开发环境简介及打造自己的C开发环境 -- 06 用CodeBLOCKS创建第一个C工程及简单使用 -- 07 两段C代码的比较-C语言规范编码的重要性 -- 08 C语言编码规范(1) -- 09 C语言编码规范(2) -- 10 C语言的命名规范和一些编码技巧 -- 11 C语言的人机交互,库函数的使用及putchar -- 12 printf的应用及重难点 -- 13 getchar,scanf应用及重难点讲解 02 嵌入式C语言高级---语法概述 -- 01

基于TI达芬奇系列TMS320DM8148浮点DSP C674xCAN总线接口、音频接口

两盒软妹~` 提交于 2020-04-24 17:44:23
处理器 2.1 DM 8148 TI TMS320DM8148 是 一款 高性能 嵌入式 32位工业级 ARM Cortex-A8+DSP C674x 处理器。 拥有多种工业接口资源, 以下是 DM8148 CPU资源框图: CAN总线接口 本开发板搭载有两个 CAN总线接口:CAN0和CAN1。CON6和CON7为对应接线端子,使用电镀隔离的隔离式芯片ISO1050作为CAN转发器,接口定义如下图: 音频接口 本开发板带有音频输入和输出接口,使用TLV320AIC3106IRGZ音频芯片。CON16为 HEAD PHONE OUT音频输出接口,CON17为LINE IN音频输入接口,CON18为LINE OUT音频输出接口,CON19为MIC IN麦克风输入接口以上均使用3.5mm直径接口,实图和原理图如下: 来源: oschina 链接: https://my.oschina.net/u/4169033/blog/3785360

【安富莱STM32H7教程】第1章 初学STM32H7的准备工作

坚强是说给别人听的谎言 提交于 2020-04-24 16:18:52
完整教程下载地址: http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第1章 初学STM32H7的准备工作 俗话说万事开头难,学习一门新的知识,难的往往不是知识本身,而是如何快速上手,需要什么资料和开发环境。一旦上手后,深入的学习就相对容易些了。 1.1 初学者重要提示 1.2 开发环境说明 1.3 STM32H7和F1,F4系列的区别 1.4 STM32H7开发资源查找 1.5 HAL库介绍 1.6 CMSIS软件包 1.7 STM32CubeMX图形平台 1.8 STM32H7调试方法 1.9 STM32H7出现硬件异常的解决办法 1.10总结 1.1 初学者重要提示 1、 关于学习方法问题,可以看附件章节A。 2、 学会 STM32H7相关资源的获取方法,做到心中有数,否则心里老是没底。 3、 关于MDK和IAR两种编译器,推荐都掌握,以其中一个为主,另一个为辅。因为很多时候我们需要参考的工程代码不是自己熟悉的编译器,就会很被动。 4、 相对于F1、F4系列,H7最大的区别的还是MPU和Cache的配置,这两个配置会贯穿整个教程为大家做讲解,而外设的学习大同小异。 5、 H7携带了DTCM和ITCM,ITCM用于运行指令,也就是程序代码,DTCM用于数据存取,特点是跟内核速度一样

【Codecs系列】之主流IPC芯片硬件架构的简单分析

穿精又带淫゛_ 提交于 2020-04-24 15:46:43
DATE: 2019-2-18 1、参考 DSP芯片的基本结构 Ti DSP 优化基本策略 TI公司之DSP结构与芯片 2、主流视频编解码硬件架构 2.1、TI公司 DSP芯片 DSP芯片采用哈佛结构,采用流水线技术,具有特殊的DSP指令,专用硬件乘法器(MAC,AAC),再加上集成电路的优化设计可使DSP芯片的指令周期在200ns以下。 DSP芯片采用的硬件架构是DSP内核,具有自己特殊的DSP指令,可以进行Intrinsic优化。 基于Keystone架构的DSP: https://blog.csdn.net/godloveyuxu/article/details/76690521 TMS320C6672:2核DSP TMS320C6674:4核DSP TMS320C6678:8核DSP TMS320C6670:4核通信片上系统(SoC) MS320C6671:1核DSP,全系列封装引脚兼容 2.2、 HISI芯片 CPU核采用ARM架构,主流芯片采用大小核Big-little的主从架构。 Hisi3519V101: 双核: A7@800MHZ, 32KB I-Cache A17@1.25GHZ,32KB I-Cache Hisi3559AV100: 双核 A73@1.6GHZ、双核A53@1.2GHZ、单核A53@1.2GHZ 2.3、 Amba芯片

stm32CubeMx工程使用GCC编译

和自甴很熟 提交于 2020-04-24 14:37:05
软件:     STM32CubeMx 5.0     GCC编译器     STM32 ST Link Utility 下载器:ST Link V2 1 安装gcc编译器 能编译ARM Cortex M核的GCC编译器下载地址为: https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads 如上图所示,下载windows exe版本的gcc编译器(Linux下也可以下载linux版本的编译器),下载完成在windows环境下按照提示安装,如下图, 注意:安装完毕后需要将“Add path to environment variable”勾选上。 由于windows环境下没有make环境,所以我们还需要安装一个make工具,Make 工具用于 build 工程, 使用 Makefile 编译工程。 版本:gnu-mcu-eclipse-build-tools-2.9-20170629-1013-win64-setup.exe 下载地址: https://github.com/gnu-mcu-eclipse/windows-build-tools/releases/tag/v2.9-20170629-1013

Keil5配置GCC编译器编译STM32工程

自作多情 提交于 2020-04-24 14:10:23
Keil一般使用ARMCC编译MCU工程代码。偶然听说Keil也是支持内嵌GCC编译器的。于是尝试了网上博客所述的一些方法,最终找到了一篇博客 http://blog.csdn.net/lan120576664/article/details/46806991 按照文中所述,发现仍存在一些其他错误,后来又查找了其他相关资料,在这作以总结 一、下载GCC编译器 https://launchpad.net/gcc-arm-embedded/ 二、安装GCC GCC解压到keil的安装目录下面。如下图 三、配置Keil 如下图所示进行相关设置: Prefix:arm-none-eabi- Folder:D:\keil_MDK\Keil_v5\ARM\GCC\ (注:这里是刚刚安装的GCC所在位置) 四、配置工程设置 1.配置CC编译规则 注意勾选一下选项,填写规则 Misc Controls : -mcpu=cortex-m3 -mthumb -fdata-sections -ffunction-sections 注: 1.这里我用的cortex-m3,如果你是m4内核就改成4) 2.-mthumb的意义是:使用这个编译选项生成的目标文件是Thumb的 3.-fdata-sections和-ffunction-sections和下文连接规则一起说 2.配置Assembler编译规则

STM32学习手册(1)——STM32概述

淺唱寂寞╮ 提交于 2020-04-24 14:08:51
一、是什么? 基于 Cortex-M3 内核,采用 ARMv7-M 架构的32bitMCU 二、能做什么? 与内部资源有关,例如通信接口 USART: ESP8266 WIFI 模块、GSM 模块、蓝牙模块、GPS 模块、指纹识别模 块等。 IIC: EEPROM、MPU6050 陀螺仪、0.96 寸OLED 屏、电容屏等 SPI: 串行FLASH、以太网W5500、VS1003/1053 音频模块、SPI 接口的OLED 屏、电阻屏等。 AD/DA: 光敏传感器模块、烟雾传感器模块、可燃气体传感器模块、简易示 波器等。 三、系统结构 如图所示: 五个驱动单元:     ─ Cortex™-M3内核DCode总线(D-bus),和系统总线(S-bus)     ─ 通用DMA1和通用DMA2     ─ 以太网DMA 三个被动单元     ─ 内部SRAM     ─ 内部闪存存储器     ─ AHB到APB的桥(AHB2APBx),它连接所有的APB设备 这些都是通过一个多级的AHB总线构架相互连接的。 ICode总线:内核读取flash时用来取值 DCode总线:与flash数据接口连接(flash中存储const修饰的常量) System总线:连接CortexM3内核的系统总线(外设总线)到总线矩阵,总线矩阵协调着内核和DMA间的访问。 DMA总线