Skip to main content
Advanced Search
Search Terms
Content Type

Exact Matches
Tag Searches
Date Options
Updated after
Updated before
Created after
Created before

Search Results

26 total results found

16. I2C编程

IMX6ULL裸机开发大全 第十六章:I2C编程

​ I2C(Inter-Integrated Circuit BUS)是I2C BUS简称,中文为集成电路总线,是目前应用最广泛的总线之一,和IMX6ULL有些相关的是,刚好该总线是NXP前身的PHILIPS设计。当前仍然是应用最广泛的总线协议之一。 16.1 I2C协议 16.1.1 概述 ​ I2C是一种串行通信总线,使用多主从架构,最初设计师为了让主板、嵌入式系统或手机用以连接低速周边设备而发展而来。在小数据量场合使用,有传输距离短,任意时刻只能有一个主机等特性。严格意义上讲,I...

18. SPI编程

IMX6ULL裸机开发大全 第十八章:SPI编程(未完整校对)

18.1 SPI接口简介 ​ SPI(Serial Peripheral Interface)接口是全双工的同步串行通讯总线,支持通过多个不同的片选信号来连接多个外设。SPI接口通常由四根线组成,分别是提供时钟的SCLK,提供数据输出的MOSI,提供数据输入的MISO和提供片选信号的CS。同一时刻只能有一个SPI设备处于工作状态。为了适配不同的外设 ,SPI支持通过寄存器来配置片选信号和时钟信号的极性和相位。(imx6ull支持ecspi,即增强配置型spi,这里为了与其他兼容,统一用spi来称呼)。 18.1.1...

3.2 IMX6ULL启动流程

IMX6ULL裸机开发大全 第三章:IMX6ULL启动流程

3.2 IMX6ULL启动流程 ​ 这个启动流程可以猜测出来,假设板子设置为SD/TF卡启动,boot ROM程序会做什么?把程序从SD/TF卡读出来,运行。 ​ 从哪里读?从SD/TF卡读,这需要先初始化SD/TF卡:根据eFUSE或GPIO的设置初始化SD/TF卡。 ​ 读到哪里去?读到内存即DDR去,这需要先初始化DDR。 ​ 除了初始化启动设备、初始化DDR,还需要初始化什么?也许要初始化时钟,让CPU跑得更快一点。 ​ 总结起来就是:初始化CPU、时钟等,初始化内存,初始化启动设备,从启动设备上...

3.3 IMX6ULL映像文件

IMX6ULL裸机开发大全 第三章:IMX6ULL启动流程

3.3 IMX6ULL映像文件 3.3.1 格式概述 ​ 如果您有S3C2440或其他单片机的学习经验,可以知道程序的二进制版本,比如lcd.bin可以直接烧写到Flash上。它们是自启动的,什么意思?比如一上电,运行的是lcd.bin前面的代码,它会初始化内存,把自己从Flash上复制到内存里去执行。请记住:自己把自己复制到内存。 ​ 但是对于IMX6ULL,烧写在EMMC、SD/TF卡上的程序,并不能“自己复制自己”。一上电首先运行的是boot ROM上的程序,它从EMMC、SD/TF卡上把程序复制进内存里...

3.4 映像文件烧写、运行

IMX6ULL裸机开发大全 第三章:IMX6ULL启动流程

3.4 映像文件烧写、运行 ​ 我们编译出来的映像文件有2类后缀:imx、img。imx文件开头就是IVT,可以把它烧写到TF卡1024偏移位置处;img文件开头是1024字节的0值数据,后面才是IVT等,它可以通过win32diskimger等工具直接烧写到TF卡0偏移位置处。 ​ 另外,我们还可以通过USB把imx文件直接下载到板子上,并运行。 ​ 注意:通过USB下载方式,可以烧写程序到EMMC、TF卡上,但是并非“直接烧写”。它的过程如下: ​ a. 通过USB下载u-boot到内存, ​ b. ...

新页面

嵌入式Linux应用开发完全手册-第一篇 Test

目前网上的大多数 QT 移植教程还都停留在 qt4.8 版本,或者还有更老的 Qtopia ,但是目前 Qt 已经发展到最新的 5.7 版本了,我个人也已经使用了很长一段时间的 qt5.6 for windows ,本文就来介绍一下QT在嵌入式环境的搭建。以JZ2440 为例,使用韦老大提供的 ubuntu9.10 虚拟机作为移植环境。当然,其它虚拟机也是可以的,我同样在 ubuntu14.04 移植成功,只不过需要额外装一些库,后面我会简单提及。此外,我尝试使用 4.3.2 版本的交叉编译工具编译 Qt5.6 ,...