精华内容
下载资源
问答
  • NXP的i.MX 6ULL系列芯片是一款基于ARM Cortex A7内核的低功耗高性能且低成本的应用处理器,下面是imx6ull处理器的内部功能框图: 主要特性如下: ARM Cortex-A7内核可达900 MHz, 128 KB L2缓存。 并行24bit RGB...

    i.MX6ULL 系列处理器简介

    NXP的i.MX 6ULL系列芯片是一款基于ARM Cortex A7内核的低功耗高性能且低成本的应用处理器,下面是imx6ull处理器的内部功能框图:

    主要特性如下:

    1. ARM Cortex-A7内核可达900 MHz, 128 KB L2缓存。
    2. 并行24bit RGB LCD接口,可以支持1366*768分辨率。
    3. 8/10/16位 并行摄像头传感器接口(CSI)。
    4. 2个MMC 4.5/SD 3.0/SDIO 接口。
    5. 2个USB 2.0 OTG, HS/FS, Device or Host with PHY。
    6. 音频接口3x I2S/SAI, S/PDIF Tx/Rx。
    7. 2个IEEE802.3标准10/100Mbps以太网接口。
    8. 多达8个UART接口。
    9. 2个12-bit ADC最高支持10个输入通道,支持电阻触摸屏(4/5线)。
    10. 安全模块: TRNG, Crypto Engine(AES with DPA, TDES/SHA/RSA), Secure Boot。

    i.MX6ULL核心板

    市面上有很多imx6ull平台的核心板,今天我要给大家介绍一款尺寸更小巧,背面无走线,性价比更高的imx6ull核心板,这是一款来自深圳触觉智能科技有限公司潜心研发的产品。先来看下产品图片:

     

     

     

     

    核心板精心布局,尽量缩小尺寸,现有尺寸为38*38mm,在这么小的面积上,集成了CPU,RAM,Flash,并且还集成了一路PHY以太网芯片,可谓麻雀虽小,五脏俱全了。

    为了满足不同应用场景的需求,核心板提供多种配置,从D256MB+N256MB(nandflash) 到 D512+E8G(emmc),适用大部分应用场景。

    i.MX6ULL核心板资源

    架构

    ARM Cortex-A7

    CPU

    NXP i.MX 6ULL

    主频

    800MHz

    内存

    256M/512M/1GB DDR3

    FLASH

    256MB NandFlash or 8GB eMMC

    设计工艺

    邮票孔

    核心板引脚数

    128

    核心板层数

    6

    核心板尺寸

    3.8cm x 3.8cm

    支持系统

    Linux/Debian/Ubuntu

    供电电源

    3.3V

    USB_Host

    USB2.0 2路

    USB_OTG

    USB2.0 1路

    串口

    8路

    以太网

    2路 10/100M自适应以太网(板载1路)

    SD

    2 个 MMC 4.5/SD 3.0/SDIO 接口

    RTC

    支持

    CAN Bus

    1路

    LCD

    并行 24bit RGB LCD 接口,可以支持 1366x768 分辨率。

    音频

    3 路

    ADC

    2 个 12-bit ADC

    IIC

    4路

    SPI

    4路

     更多信息可以查看触觉智能官网:http://www.industio.cn,欢迎来撩~

     

    展开全文
  • imx6ull-study 学习韦东山老师嵌入式Linux,基于IMX6ULL开发板的学习过程记录
  •   开发IMX6ULL需要有一个安装了交叉编译器的linux操作系统的开发环境,用于编译开发板的uboot、kernel、文件系统和应用软件。下面以触觉智能imx6ull开发板为例。 1、开发环境说明   本节是在Oracle VM ...

      开发IMX6ULL需要有一个安装了交叉编译器的linux操作系统的开发环境,用于编译开发板的uboot、kernel、文件系统和应用软件。下面以触觉智能imx6ull开发板为例。

    1、开发环境说明

      本节是在Oracle VM VirtualBox+Ubuntu18.04 64位的虚拟机环境下,介绍安装交叉编译器方法。本手册配套的资源文件中包含硬浮点交叉编译器和软浮点交叉编译器,根据开发板使用的文件系统差异来选择安装的交叉编译器。开发板自带的文件系统为硬浮点文件系统,所有配置硬浮点交叉编译器即可。

    1. 安装依赖库文件
      那种交叉编译器前需要先安装一些依赖库文件,安装内容如下:
    # sudo apt-get install lib32ncurses5 lib32z1
    # sudo apt-get install ia32-libs
    
    1. 在虚拟机中创建存放交叉编译器的目录
    # mkdir /opt/industio
    

    2、硬浮点交叉编译器

    文件:imx6ull_qt4.8.7_sdk_hf
    下载链接: https://pan.baidu.com/s/1ST6VGgTXpBlsIDoeFgtKdw 提取码: 3vkd

      从下载路径中下载交叉工具链,并将下载得到的"imx6ull_qt4.8.7_sdk_hf.tar.bz2"和“qt_4.8.7_gcc_env-setup_hf”文件拷贝到ubuntu18.04虚拟机中。

    1. 将下载的交叉编译器压缩包解压到/opt/industio/路径
    # sudo tar xjvf imx6ull_qt4.8.7_sdk_hf.tar.bz2 -C /opt/industio
    
    1. 配置交叉编译器的环境变量
        交叉编译器环境变量有两种配置方法,第一种是将环境变量写入到配置文件中,此方法每次打开一个新的终端时都需要使用source命令声明一次环境变量,此方法优势是可以在同一个ubuntu系统下开发不同的硬件,灵活修改交叉编译器环境变量;第二种方法是将交叉编译环境变量的内容添加到用户的profile文件中,开机即将环境变量加入到系统中。
      **方法一:**使用环境变量配置文件
    • 将qt_4.8.7_gcc_env-setup_hf拷贝到/opt/industio目录下
    $ cp qt_4.8.7_gcc_env-setup_hf /opt/industio/
    
    • 使用source命令让配置脚本内容生效
    $ source qt_4.8.7_gcc_env-setup_hf
    
    • 检测环境是否生效
    $ which qmake 
    /opt/industio/imx6ull_qt4.8.7_sdk_hf/bin/qmake
    $ which arm-linux-gnueabihf-gcc
    /opt/industio/imx6ull_qt4.8.7_sdk_hf/bin/arm-linux-gnueabihf-gcc
    

    如果输出的路径和添加的路径一致,则说明添加成功。

    **方法二:**将编译器环境变量添加到用户profile文件中

    • 切换到用户home路径
    $ cd ~
    
    • 编辑.profile文件
      打开.profile文件,并在文件的最后添加环境变量参数。
    $ vi .profile
    PATH_SDK=/opt/industio/imx6ull_qt4.8.7_sdk_hf
    GCC_CC=arm-linux-gnueabihf
    export ARCH=arm
    export CROSS_COMPILE=$GCC_CC-
    export PATH=$PATH_SDK/bin:$PATH_SDK/usr/sbin:$PATH_SDK/sbin:$PATH
    
    • 使用source命令生效环境变量,或者重启系统
    $ source .profile
    

    3、软浮点交叉编译器

    交叉工具链名称:imx6ull_qt4.8.7_sdk_hf
    下载链接:https://pan.baidu.com/s/1psjzdMs2fBOGuIYOJD8_nQ 提取码:zmuk
    软浮点交叉编译器的安装环境参考“2、硬浮点交叉编译器”中的安装方法,只需要修改环境变量配置即可。

    • 将下载到的qt_4.8.7_gcc_env-setup_sf拷贝到/opt/industio目录下
    $ cp qt_4.8.7_gcc_env-setup_sf /opt/industio/
    
    • 使用source命令让配置脚本内容生效
    $ source qt_4.8.7_gcc_env-setup_sf
    
    • 检测环境是否生效
    $ which qmake 
    /opt/industio/imx6ull_qt4.8.7_sdk/bin/qmake
    $ which arm-linux-gnueabi-gcc
    /opt/industio/imx6ull_qt4.8.7_sdk/bin/arm-linux-gnueabi-gcc
    

    如果输出的路径和添加的路径一致,则说明添加成功。

    展开全文
  • 1.2 iMX6ULL开发环境搭Ubuntu用什么版本? 答: iMX6ULL开发环境搭推荐使用Ubuntu 16.04 64bit发行版。 说明:本帖子源于【i.MX6UL/i.MX6ULL开发常见问题】,是由米尔电子工程师基于米尔电子i.MX6UL/i.MX6ULL产品对...

    1.2  iMX6ULL开发环境搭Ubuntu用什么版本?

    答: iMX6ULL开发环境搭推荐使用Ubuntu 16.04 64bit发行版。

    说明:本帖子源于【i.MX6UL/i.MX6ULL开发常见问题】,是由米尔电子工程师基于米尔电子i.MX6UL/i.MX6ULL产品对i.MX6UL/i.MX6ULL开发中常见问题整理, 希望对您有帮助。

    下一篇将介绍iMX6ULL开发环境搭建开发板串口如何连接。

    展开全文
  • 不同开发板,启动方式不一样,今天我们来介绍imx6ull开发板的启动方式,这非常重要。若不了解清楚启动方式,后面的所有开发工作便无从谈起。本文摘自100ask_imx6ull 开发板 配套学习手册-《嵌入式Linux应用开发完全...

    不同开发板,启动方式不一样,今天我们来介绍imx6ull开发板的启动方式,这非常重要。若不了解清楚启动方式,后面的所有开发工作便无从谈起。

    本文摘自100ask_imx6ull 开发板 配套学习手册-《嵌入式Linux应用开发完全手册_韦东山全系列视频文档全集V2.6》.pdf

    1.1 IMX6ULL 启动方式

    参考资料:

    开发板资料网盘

    路径:

    06_Datasheet(数据手册)

    -> Core_board->CPU->IMX6ULLRM.pdf”

    中《Chapter 8: System Boot》。

    1.1.1芯片手册讲解

    IMX6ULL芯片内部有一个boot ROM,上电后boot ROM上的程序就会运行。它会根据BOOT_MODE[1:0]的值,以及eFUSE或GPIO的值决定后续的启动流程。

    注:eFUSE即熔丝,只能烧写一次,一般正式发布产品时烧写最终值;平时调试时通过GPIO来设置开发板的启动方式。

    boot ROM上的程序功能强大,可以从USB口或串口下载程序并把它烧写到Flash等设备上,也可以从SD卡或EMMC、Flash等设备上读出程序、运行程序。

    问题来了:

    ① boot ROM是从USB口下载、运行程序,还是从SD卡等设备上读出、运行程序,这由谁决定?

    由BOOT_MODE[1:0]的值来决定启动方式,它们来自于2个引脚BOOT_MODE1、BOOT_MODE0。这2个引脚在上电时是输入引脚,芯片启动后采集这2个引脚的值,存入BOOT_MODE寄存器。以后这2个引脚就可以用于其他功能,不会影响到BOOT_MODE寄存器。

    BOOT_MODE[1:0]的值确定了4种启动模式,如下图:

    4b03b57eccba2ffe71cf7c20892853f4.png

    BOOT_MODE

    在100ASK_IMX6ULL中,这2个引脚对应的原理图如下:

    c033805220ba48bf69621412c02941f8.png

    原理图

    00模式;

    在我们的开发过程中很少用到,简单介绍一下:在这种模式下,GPIO的值被忽略。Boot ROM会根据eFUSE的值来选择启动设备、设置启动设备。但是,对于刚出厂的芯片eFUSE值可能是错乱的、不适合你的设备的,怎么办?eFUSE中有一个值BT_FUSE_SEL,它的出厂值是0,表示eFUSE未被烧写。

    boot ROM程序发现BT_FUSE_SEL为0时,它会通过USB或串口来下载程序;发现BT_FUSE_SEL为1时,才会根据eFUSE的值选择启动设备,读出、运行该设备上的程序。

    01模式

    boot ROM程序通过USB或串口下载、运行程序,这个模式可以用来烧写EMMC等设备。我们的开发板出厂时,就是通过这个模式下载、烧写出厂程序的。

    10模式

    称之为内部模式,简单地说就是从SD卡、EMMC等设备启动程序。这就引入下面第2个问题。

    ② 如何选择启动设备?

    00模式下是通过eFUSE的值选择启动设备,我们不关心。

    10模式下既可以通过eFUSE的值也可以通过GPIO的值来选择启动设备,但是到底通过谁来决定?eFUSE中有一个值BT_FUSE_SEL,对,又是它。它的初始值为0,表示eFUSE未被烧写。

    在10模式下,当BT_FUSE_SEL为0时就会通过GPIO来选择启动设备;当BT_FUSE_SEL为1时就会通过eFUSE来选择启动设备。

    在开发阶段,我们使用GPIO来选择设备,这就引入下面第3个问题。

    ③ 如何通过eFUSE或GPIO选择、设置启动设备?

    通过eFUSE或GPIO不仅能选择启动设备,还可以设置启动设备。为什么还需要设置?比如Nand Flash参数各有不同,有些的页大小是2048,有些是4096。这些参数不同,boot ROM程序读Nand Flash的方法就不同,我们必须把这些参数告诉boot ROM:通过eFUSE或GPIO来标明这些参数。

    首先看看要设置哪些eFUSE或GPIO来选择不同的启动设备。

    396b4625d836862d84868502110d8282.png

    BOOT_CFG1设置

    从上图可知,既可以使用eFUSE也可以使用GPIO来选择启动设备,换句话说GPIO可以覆盖eFUSE的值。

    哪些GPIO覆盖哪些eFUSE?

    这可以查看IMX6ULL芯片手册《Chapter 8: System Boot》里的《GPIO boot overrides》,我们把它摘出来放在1.1.3小节里。

    选择启动设备后,还需要标明一些参数。比如选择EMMC启动时,EMMC接在哪一个接口,eSDHC1还是eSDHC2?它的速度如何?比如选择TF卡启动时,TF卡接在哪一个接口,eSDHC1还是eSDHC2?它的速度如何?

    假设使用EMMC启动,或是TF卡启动,怎么设置eFUSE或GPIO?这些信息可以查询IMX6ULL芯片手册《Chapter 5: Fusemap》,摘录如下。

    7fbfce3c5e3e5cfdd39f641cd108b0b9.png

    Fusemap

    当BOOT_MODE设置为0b00时,通过eFUSE选择启动设备,通过eFUSE获得设备的参数。

    当BOOT_MODE设置为0b10时,通过eFUSE或GPIO来选择启动设备,获得设备的参数;使用eFUSE还是GPIO由eFUSE中的BT_FUSE_SEL决定,它默认是0,表示使用GPIO。

    以BOOT_MODE为0b10为例,解析一下上图。要设置为SD卡、TF卡启动,有2个设置方法:

    a. 设置eFUSE的BOOT_CFG1[7:5]为0b010,

    或 b. 查看《3.1.3 GPIO boot overrides》确定BOOT_CFG1[7:5]对应的GPIO为LCD1_DATA07~05,把这3个引脚设置为0b010。

    根据SD卡、TF卡的性能,可以设置eFUSE或GPIO来表示它能否提供更高的速度:

    a. 设置eFUSE的BOOT_CFG1[4:0],

    或 b. 查看《3.1.3 GPIO boot overrides》确定BOOT_CFG1[4:0]对应的GPIO为LCD1_DATA04~00,设置这些引脚。

    IMX6ULL有两个SD卡、TF卡接口,使用哪一个接口?请看下表:

    a. 设置eFUSE的BOOT_CFG2[4:3]可以确定使用eSDHC1或eSDHC2,

    或 b. 查看《3.1.3 GPIO boot overrides》确定BOOT_CFG2[4:3]对应的GPIO为LCD1_DATA12~11,设置这些引脚

    2daf83da92532f6362172fbe4d5ce86a.png

    BOOT_CFG

    通过eFUSE或GPIO,还可以标明启动设备的更多参数,具体细节可以参考芯片手册《Chapter 5: Fusemap》,作为硬件开发人员需要去细细研究;作为软件开发人员,实际上只需要看开发板手册知道怎么设置启动开关即可。

    1.1.2 IMX6ULL启动方式选择

    100ASK_IMX6ULL开发板上的红色拨码开关用来设置启动方式、选择启动设备,支持这3种方式:EMMC启动、SD卡启动、USB烧写。

    板子背后画有一个表格,表示这3种方式如何设置。

    表格如下:

    b2709e96474bc9a40c25307615cc50cd.png

    表格

    拔码开关中的SW3、SW4用来设置BOOT_MODE,ON表示0,OFF表示1。

    所以当SW3、SW4设置为ON、OFF时,BOOT_MODE为0b10,将会使用SD卡、TF卡、EMMC等设备启动。

    刚出厂的开发板中BT_FUSE_SEL默认为0,表示使用GPIO来设置参数。即使用LCD1_DATA07~05来选择启动设备。

    100ASK_IMX6ULL开发板只支持SD/TF卡、EMMC启动,LCD1_DATA07~05为0b010时选择SD/TF卡启动,LCD1_DATA07~05为0b011时选择EMMC启动。

    这两种启动设备对应的LCD1_DATA07~06的值相同,都是0b01,这在核心板上已经通过电阻设置好,我们只需要在拨码开关上设置SW1(对应LCD1_DATA05)就可以。

    IMX6ULL上有2个EMMC Flash接口,也复用为2个SD/TF卡接口,通过LCD1_DATA12~11来选择接口。

    0b00对应eSDHC1接口,0b01对应eSDHC2接口。LCD1_DATA12的值在核心板上已经通过电阻设置好。

    LCD1_DATA11的值通过拨码开关SW2来设置:ON表示0,对应eSDHC1接口,100ASK_IMX6ULL的TF卡接口使用了eSDHC1接口;OFF表示1,对应eSDHC2接口,100ASK_IMX6ULL的EMMC接口使用了eSDHC2接口。

    这3种启动方式的设置示意图如下:

    b5dbb8473919ad12d4af202619ee4855.png

    要注意的是,设置为USB启动时,不能插上SD卡、TF卡。刚出厂的板子在EMMC上烧写了系统,你可以设置为EMMC启动方式。

    1.1.3 GPIO boot overrides

    IMX6ULL中既可以通过eFUSE也可以通过GPIO来选择、设置启动设备,在手册里大部分场合只列出了eFUSE,对应的GPIO需要查表:IMX6ULL芯片手册《Chapter 8: System Boot》里的《GPIO boot overrides》。

    我们把它摘录出来。

    cffa07fa9a89dd3779bfd11cbe4e0820.png

    总结

    整篇读下来,概念有点多,你可能会感觉有点抽象,其实现在不理解启动方式原理没关系,现在只要记住《3种启动方式的设置示意图》即可,清楚怎么拨码对应什么启动方式,原理留到后期再研究也行。

    精品推荐

    文中提到的100ask_imx6ull,是用来学习嵌入式Linux的不错选择,0利润,外设丰富,一千多页文档,一百多讲视频,开源共享。

    展开全文
  • IMX6ULL参考手册

    2020-03-19 22:58:32
    IMX6ULL参考手册,英文文档,4127页的IMX6Ull芯片的超详细介绍。NXP官方出版。共分为60个章节,全方面的概括了IMX6Ull的特性以及配置方式
  • IMX6ULL裸机学习(9)— IMX6ULL的异常和中断 一、什么是异常 CPU 在运行的过程中,会被各种“异常”打断,这些“异常”有: ① 指令未定义 ② 指令、数据访问有问题 ③ SWI(软中断) ④ 快中断 ⑤ 中断 我们可以...
  • 100ask_imx6ull开发板绝对是最2的IMX6ULL开发板! 为什么这么说呢? 因为它有别家的: 2倍的裸机文档! 2倍的裸机实验! 却是2分之1的价格! 自从去年我们发布了后, 开启了一个新模式: 0利润开发板吸引客户, 入门...
  • 100ASK-IMX6ULL开发板_QT移植全过程 环境及开发包介绍: 主机:ubuntu18.04(百问网提供) 交叉编译器:gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf(百问网提供的bsp包) QT5.6.0:qt-everywhere-opensource...
  • IMX6ULL勘误手册.pdf

    2021-01-08 22:19:16
    IMX6ULL勘误手册.pdf
  • 阅读本节前先阅读:Pinctrl子系统重要概念GPIO子系统重要概念基于GPIO子系统的LED驱动程序1.1 确定引脚并生成设备树节点NXP公司对于IMX6ULL芯片,有设备树生成工具。我们也把它上传到GIT去了,使用GIT命令载后,在这...
  • IMX6ULL参考手册.docx

    2020-05-11 13:30:14
    IMX6ULL参考手册word版本,可以使用word审阅中的翻译功能便于阅读和理解(pdf模式下不能使用翻译插件对英语水平不高者不太友好)
  • 本章节转自迅为iMX6ULL开发板教程第九十二章,主要介绍 Python 如何移植到 IMX6ULL 开发板上。
  • IMX6ULL数据手册(商用级).pdf
  • IMX6ULL数据手册(工业级).pdf
  • iMX6ULL上手体验

    万次阅读 2019-05-07 08:50:49
    CSDN仅用于增加百度收录权重,排版未优化,日常不维护。... 本博文对应地址: https://hceng.cn/2018/03/28/iMX6ULL上手体验/#more ...iMX6ULL感觉还是很有优势的,除了之前接触的NanoPi(全志H3),就没见过几个运行Li...
  • nxp imx6ull MCIMX6ULL官方开发板Cadence allegro设计硬件原理图+PCB+BOM文件
  • 接下来的一段时间,会基于野火IMX6ULL开发板写一系列实战教程,主要侧重于驱动和内核的调试技巧。这方面的文章,我也是第一次写,过程中可能会踩不少坑,可能更新时间间隔会很。如果有写的不好的,大家可以及时指出...
  • 正点原子imx6ull烧写工具imxdownload和源文件
  • 正点原子imx6ull裸机烧写工具
  • 移植触摸屏驱动4.1 确定触摸屏型号4.2 在设备树中指定触摸IC信息4.3 重新配置内核添加驱动4.4 调试:找出问题4.5 解决方法4.6 其他情况4.7 gt9xx芯片固件更新 100ask_imx6ull预售购买链接&产品介绍...
  • imx6ull的QT开发

    2021-02-23 16:47:23
    百问网imx6ull_pro开发板 开发板运行的系统:100ask-imx6ull-pro-512d-system-emmc-v1.img 主要步骤 参考手册,安装ubuntu应用与必要的库 参考手册,同步repo,即获取100ask_imx6ull-sdk 进入Buildroot_2019.02,...
  • 100ask_imx6ull烧写工具.tar.bz2
  • 自己翻译的IMX6ULL参考手册。
  • 答:计算机使用USB转TTL串口转接线与开发板的DEBUG串口(JP1)连接. 不要拿RS232电平 DB9串口线用杜邦线连接JP1, 电平...说明:本帖子源于【i.MX6UL/i.MX6ULL开发常见问题】,是由米尔电子工程师基于米尔电子i.MX6UL/i...
  • IMX6uLL_QT

    2021-05-14 15:47:11
    qt 在imx6ull 显示中文 1、window下中文库目录 C:\Windows\Fonts 把 Fonts 文件夹 copy 到 qt 源码编译安装的目录 imx6ull 跟文件库下 我的是 /arm-qt/lib/fonts 2:BEEP 加载蜂鸣器驱动 参考代码:讯为 BEEP qt ...
  • IMX6ULL学习笔记(五)

    2020-09-20 18:40:59
    IMX6ULL学习笔记IMX6ULL裸机开发学习1. 移植NXP官方 uboot 到 alpha 开发板2. Uboot命令3. Uboot 图形化配置方法 IMX6ULL裸机开发学习 以下内容是我在学习正点原子IMX6ULL开发板alpha中记录的笔记,部分摘录自正点...
  • Windows环境QEMU模拟IMX6ULL

    千次阅读 2020-05-05 21:59:54
    搭建IMX6ULL环境(基于百问网zImage和rootfs.img) 1. 软件环境准备 QEMU_Windows环境下载(已更新至qemu5.0.0版本) ConEmu终端官网 2.环境部署 2.1 运行qemu > 解压DAI_David-qemu_imx6ull_windows-master.zip到...
  • NXP官网IMX6ULL EVK原理图和PCB源文件,非常具有参考价值。
  • IMX6ULL学习笔记(六)

    2020-09-20 18:42:53
    IMX6ULL学习笔记IMX6ULL裸机开发学习移植NXP官方的linux和设备树到开发板 IMX6ULL裸机开发学习 以下内容是我在学习正点原子IMX6ULL开发板alpha中记录的笔记,部分摘录自正点原子IMX6ULL开发手册。 移植NXP官方的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,634
精华内容 2,253
关键字:

imx6ull