VERSION = 2009PATCHLEVEL = 08SUBLEVEL =EXTRAVERSION =ifneq "$(SUBLEVEL)" ""U_BOOT_VERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)elseU_BOOT_VERSION = $(VERSION).$(PATCHLEVEL)$(EXTRAVERSION)endifTIMESTAMP_FILE = $(obj)incl…
图形是Android平台中的一个大主题,包含java/jni图形框架和2d/3d图形引擎(skia.OpenGL-ES.renderscript). 本文档描述了飞思卡尔设备上的一般Android图形堆栈和UI特性. 1. Androidt图形堆栈 所有Android 3D应用和游戏都有如下图形堆栈: Android系统UI和所有应用程序UI遵循如下二维图形堆栈,硬件渲染将使用GPU HW OpenGL-ES 2.0加速二维UI,提高性能. 硬件加速可以在i.mx6上通过device/fsl/i…
1      概述 本次任务是在飞思卡尔i.MX 6Quqd Sabrelite开发板上调试触屏驱动,触屏芯片是Goodix的gt828芯片,触屏接口是I2C. 操作系统:android 4.0.4 内核版本:3.0.15 2      调试步骤 2.1    硬件连接 2.1.1    开发板硬件接口 开发板已提供独立的接口用于触屏,其示意图如下: 它提供了一组I2C,电源.地和一个GPIO口. 2.1.2    GT828硬件接口 触屏芯片GT828的硬件接口如下: 其中INT是中断脚,RE…
目录 u-boot(二)makefile 引入 目录结构(1.1.6) 配置文件 目标 配置具体的单板 编译阶段 过程 链接入口 配置链接地址 附录 附录A:mkconfig解析 附录B 链接脚本 title: u-boot(二)makefile tags: linux date: 2018-09-22 20:56:05 --- u-boot(二)makefile 引入 我们是怎么编译的?先执行配置make 100ask24x0_config,然后编译make.所以在顶层目录下的Makefile…
MFGTool是飞思卡尔提供的烧写工具,使用起来非常方便.但是,在使用MFGTool有几点是需要注意的,否则就会在烧写过程中遇到一些问题: 1.在使用MFGTool前,文件cfg.ini 和 UICfg.ini是必须要在同一个文件夹下,同时这两个文件一定要配置正确.          UICfg.ini用来配置每次同时可以烧写开发板的个数:              [UICfg]              PortMgrDlg=1        cfg.ini用来配置芯片类型和板子信息以及烧写…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔i.MX RT系列MCU的RT105x选型. 大家都知道i.MX RT105x是i.MX RT系列第一款产品,在提这款产品特性的时候,我们往往说的是i.MXRT1052DVL6B的特性,这也是RT105x系列主推的一款核心芯片,目前一些第三方硬件公司(比如ZLG.野火.正点原子.安富莱)做的RT105x开发板基本上都是基于这款芯片,但其实i.MXRT105x共包含8款芯片,8款芯片之间其实是有差异的,这也涉及到具体芯片选型,…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔i.MX RTyyyy系列EVK在串行NOR Flash调试的原理. 本文是i.MXRT硬件那些事系列第二篇的续集,在第二篇首集中痞子衡给大家详细介绍了EVK板载调试器用法,有了调试器在手,从此调试不用愁.从调试代码所在目标存储器类别上来分,调试一般分为在SRAM调试和在Flash调试.在SRAM调试实现比较简单,程序直接从JTAG/SWD口灌进RAM即可:在Flash调试,则相对复杂一点,因为首先需要有Flash下载算法,…
uboot的源文件众多,学习庞然大物首先找到脊椎--顶层的makfile,逐一破解.但是,uboot的makefile同样是一个庞然大物,所以也要找到它的主线.倘若过分专注部分细节,很难做到把握全局,实际上也不可能很好理解细节. 介于此,笔者已经写了一篇uboot makefile整体解析,可以先从主体上把握makefile.然后,再读这篇makefile强大功能实现的细节,才能做到循序渐进. 说明:uboot顶层makefile的注释机会全部源码都搬上来了,而注释都是黑体加粗以与源码有强烈的区…
这东西已经写,我们没有时间发布,如今,终于有时间稍微长送记录汇总uboot学习过程.具体了.以后忘了也能够再温习回来嘛有些特殊字符显示得乱掉了 Makefile追踪技巧: 技巧1:能够先从编译目标開始顺藤摸瓜地分析,先不要关注详细细节,着重关注基本的代码结构和编译过程 技巧2:追踪分析时要通过文本或者其它途径临时记录重要的线索 技巧3:将基本的Makefile文件里export出来的变量以及include的文件提取出来,看看include的文件大致是些什么文件,当看到一些来历不明的变量或者操作时…
在linux或android系统中,假如我们要配置飞思卡尔IMX6处理器的GPIO管脚,比如是GPIO_19这个管脚,那么要像这样: [cpp] view plaincopy #define  MX6Q_PAD_GPIO_19__GPIO_4_5     \ (_MX6Q_PAD_GPIO_19__GPIO_4_5 | MUX_PAD_CTRL(NO_PAD_CTRL)) 其中_MX6Q_PAD_GPIO_19__GPIO_4_5定义为: [cpp] view plaincopy #define…
大家好,我是痞子衡,是正经搞技术的痞子.本系列痞子衡给大家介绍的是飞思卡尔i.MX RT系列微控制器相关知识. 飞思卡尔半导体(现恩智浦半导体)于2017年开始推出的i.MX RT系列开启了高性能MCU的新纪元,其第一款芯片i.MX RT1052,搭载Cortex-M7内核,主频高达600MHz,CoreMark跑分高达3020. 本系列文章会逐一介绍i.MX RT系列微控制器开发相关知识. 介绍篇(持续更新中...4/4) 飞思卡尔i.MX RT系列MCU特性介绍(1)- 概览 飞思卡尔i.M…
大家好,我是痞子衡,是正经搞技术的痞子.本系列痞子衡给大家介绍的是飞思卡尔Kinetis系列微控制器相关知识. 飞思卡尔半导体(现恩智浦半导体)于2010年开始推出的Kinetis系列昭示着ARM Cortex-M MCU阵营又多了一个顶级厂商,其第一款芯片Kinetis K60,搭载Cortex-M4内核(也是业界第一款Cortex-M4内核产品),主频最高可达150MHz,性能可达1.25DMIPS/MHz. Kinetis芯片家族发展至今(2017)已拓展至7大家族系列:K/L/E/V/E…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔i.MX RT系列MCU的基本特性. ARM Cortex-M微控制器芯片厂商向来竞争激烈,具体可参看我的另一篇文章<第一款Cortex-M微控制器>,其中意法半导体凭借高性价比的STM32系列牢牢占据市场主要份额,但随着物联网IoT.边缘计算等市场对MCU性能要求越来越高.各芯片厂商也在不断推出性能越来越强的MCU,其中飞思卡尔半导体(现恩智浦半导体)于2017年开始推出的i.MX RT系列更是进一步拉高了MCU的上限,…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔i.MX RT系列MCU的命名规则. 打开任何一款i.MX RT系列芯片的Data Sheet均可找到如下命名规则表,以i.MXRT105x芯片的Data Sheet为例: 一款芯片名字共有以上10部分组成,RT系列芯片家族目前成员不多,上表仅适用于i.MXRT105x.i.MXRT102x.从芯片名字上我们主要可以得到五种有效信息,分别是所属子系列.温度范围.封装.最大运行频率等级.Tapeout版本. 不过从芯片名字上能…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔i.MX RT系列MCU的BootROM功能简介. 截止目前为止i.MX RT系列已公布的芯片有三款i.MXRT105x, i.MXRT102x, i.MXRT106x,所以本文的研究对象便是这三款芯片,从参考手册来看,这三款芯片的BootROM功能差别不大,所以一篇文章可以概括这三款芯片的BootROM特性. 一.Boot基本原理 1.1 从内部FLASH启动 Boot是任何一款MCU都有的特性.提及Boot,首先应该联想…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔i.MX RT系列MCU的Boot配置. 在上一篇文章 Boot简介 里痞子衡为大家介绍了Boot基本原理以及i.MXRT Boot方式简介.今天痞子衡就来重点聊一聊i.MXRT Boot方式具体由哪些配置决定的. 无论是什么芯片里的BootROM,其最核心的功能无非两个:一.从存放Application的存储器中加载执行:二.通过支持的通信接口接收来自Host的Application数据完成更新,所以Boot配置也主要围绕…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔Kinetis MCU开发板板载OpenSDA调试器(上篇). 众所周知,嵌入式软件开发几乎离不开调试器,因为写一个稍有代码规模(5K行以上)的嵌入式应用程序一般不可能一次性搞定,没有任何bug,出了bug并不可怕,只要我们能尽快定位bug并修复即可,调试器就是定位bug的利器,有了调试器我们便可以进入系统主控芯片内部一窥究竟,控制芯片执行代码的动作,实时查看芯片内部状态,辅以各种调试技巧让bug无处藏身. 飞思卡尔Kine…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔Kinetis系列MCU的KBOOT架构. Bootloader是嵌入式MCU开发里很常见的一种专用的应用程序,在一个没有Bootloader的嵌入式系统里如果要更新Application,只能通过外部硬件调试器/下载器,而如果有了Bootloader,我们可以轻松完成Application的更新升级以及加载启动,除此以外在Bootloader中还可以引入更多高级特性,比如Application完整性检测.可靠升级.加密特性…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔Kinetis系列MCU的KBOOT形态. 痞子衡在前一篇文章里简介了 KBOOT架构,我们知道KBOOT是一个完善的Bootloader解决方案,这个解决方案主要设计用于Kinetis芯片上,目前Kinetis芯片起码有上百种型号,KBOOT在这上百种Kinetis芯片里存在的形式并不是完全一样的,KBOOT主要有三种存在形式(ROM Bootloader.Flashloader.Flash-Resident Bootlo…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔Kinetis系列MCU的KBOOT配置. KBOOT是支持配置功能的,配置功能可分为两方面:一.芯片系统的启动配置:二.KBOOT特性配置:痞子衡在前一篇文章里介绍了 KBOOT形态(ROM/Bootloader/Flashloader),虽然KBOOT有三种形态,但实际上只有2种类型的芯片载体,即含ROM空间的芯片(比如Kinetis K80)和不含ROM空间的芯片(比如Kinetis KL25),KBOOT配置在这两种…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔Kinetis系列MCU的KBOOT之完整性检测(Integrity Check)特性. Application完整性检测是非常重要的,想象一下如果你的系统中Application被人为破坏了一部分并注入异常代码,而系统在启动过程中不能检测出Application的异常直接跳转执行,那么将会导致不可预测的结果,这种情况肯定是要避免的,KBOOT在设计时考虑到这种情况的存在,特意引入了Integrity Check这一特性来解…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔Kinetis系列MCU的KBOOT之ROM API特性. KBOOT的ROM API特性主要存在于ROM Bootloader形态中,KBOOT内部集成了一些Kinetis内部IP模块driver,这些IP模块driver首要目的是用于实现KBOOT的功能,但由于这些IP模块driver会随着KBOOT一起被固化在ROM空间里,所以如果这些IP driver能够被外部(主要是运行于Flash中的Application)调用…
原文链接: http://blog.sina.com.cn/s/blog_8ebff8d7010121tm.html 1.HC(S)08系列 开发机硬件:USB-ML-12 CYCLONE PRO USB-ML-UNIVERSAL USB-ML-UNIVERSAL FX 支持发软件:烧录软件 PROGHCS08 调试软件 ICDHCS08 软件包   PKGHCS08 2.HC(S)12(X)系列 开发机硬件:USB-ML-12 CYCLONE PRO USB-ML-UNIVERSAL USB-…
1.编译uboot前需要三次make make distcleanmake x210_sd_configmake -j4 make distclean为清楚dist文件. make x210_sd_config  跳转执行mkconfig用来配置并生成config.mk(board/samsung/x210目录下为指定链接地址的与主uboot目录的config.mk不同) autuconfig.mk 2.框图 3.uboot主Makefile分析 3.1.uboot version确定(Make…
VERSION = 1 PATCHLEVEL = 3 SUBLEVEL = 4 EXTRAVERSION = U_BOOT_VERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) VERSION_FILE = $(obj)include/version_autogenerated.h (1)uboot的版本号分3个级别:VERSION:主板本号PATCHLEVEL:次版本号SUBLEVEL:再次版本号EXTRAVERSION:另…
对于用MCU的人来说,不一定要明白HCS12(x) memory map的机制和联系.因为如果没有系统地学习操作系统和编译原理之类的课程,确实有些难度.并且,对于DG128 XS128这样的MCU,默认的memory分配方式已经够用了.从这个意义上讲,搞清楚memory map似乎不必要.       但是,你有没有RAM不够用的情况?有没有想定义变量到FLASH ROM的情况?有没有因为欲提高寻址效率而定义变量到非分页区的情况?有没有写EEPROM但没写成功的情况?飞思卡尔的memory非常灵…
飞思卡尔开发硬件接口介绍: 核心板参数 尺寸:51mm*61mm CPU:Freescale Cortex-A9 四核 i.MX6Q,主频 1.2 GHz 内存:2GB DDR3 存储:16GB EMMC 存储 EEPROM :4MB的EEPROM用来存储关键数据 电源管理:内部独立 工作电压:5V 系统支持:Linux-QT/Android/Ubuntu操作系统 引角扩展:引出脚多达320个,满足用户各类扩展需求 商业级运行温度:0℃到+70 ℃ 工业级运行温度:-40℃到+85 ℃ 底板参数…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔i.MX RTyyyy系列MCU的配套EVK板. 半导体设计厂商发布任何一块MCU芯片新品,一般都会同步推出基于这款MCU的配套评估板,评估板有很多好处:一.根据评估板上的资源,官方配套软件开发包里的例程可以变得更丰富,也更贴近客户真实应用需求:二.评估板可以方便客户快速验证MCU芯片的功能与性能,以确定MCU芯片客户是否能够胜任客户项目的需求:三.评估板上的电路设计可供客户参考,以而加速客户项目的板卡设计. 飞思卡尔(现恩…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔i.MX RTyyyy系列MCU的划时代新品i.MXRT1170. 自2017年开始,每年的6月25日恩智浦都会在北京举行微控制器业务媒体交流会,到今年(2019)已经是第三次了.每年的媒体交流会上,恩智浦的高级副总裁Geoff Lees都会给大家带来最新的产品消息. 2017年Geoff给大家科普了FD-SOI工艺以及正式推出跨界处理器第一款产品i.MXRT1050: 2018年Geoff给大家带来了i.MXRT1060和…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔i.MX RTyyyy系列EVK上板载调试器的用法. 本文是i.MXRT硬件那些事系列第二篇,第一篇痞子衡给大家整体介绍了i.MXRT官方EVK,从本文开始痞子衡将细聊EVK上的组件,今天要讲的是一个非常经典而且常用的组件 - 板载调试器.如今各大半导体厂商推出的EVK基本都会配置自己家设计的板载调试器,方便客户开箱即用,不需要自己额外准备仿真器.众所周知,在嵌入式开发里调试器的作用是非常巨大的,用好调试器可以事半功倍.那么…