【i.mx6ull】裸机开发上手

  stm32用得多了,现在试试NXP A核的i.mx6ull,下面介绍安装交叉编译工具链到编译下载的过程。

一、i.mx6ull介绍

1.1 概述

  i.MX6ULL是一个高性能、超高效的处理器系列,具有NXP先进的单臂Cortex®-A7内核实现,运行速度高达792 MHz。i、 MX6ULL包括集成电源管理模块,降低了外部电源的复杂性,简化了电源排序。此系列中的每个处理器都提供各种内存接口,包括LPDDR2、DDR3、DDR3L、原始和托管NAND闪存、NOR闪存、eMMC、Quad SPI,以及用于连接外围设备(如WLAN、蓝牙、GPS、显示器和摄像头传感器)的各种其他接口。

1.2 特点

  • 单核ARM Cortex-A7—单核A7提供了一种经济高效的解决方案。
  • 多级存储系统处理器的多级存储系统是基于一级指令和数据高速缓存、二级高速缓存以及内部和外部存储器。处理器支持多种类型的外部存储设备,包括DDR3、低压DDR3、LPDDR2、NOR闪存、NAND闪存(MLC和SLC)和™、四位SPI和托管NAND,包括最高版本4.4/4.41/4.5的eMMC。
  • 智能速度技术在整个集成电路中实现电源管理,使多媒体功能和外围设备在活动和各种低功耗模式下都能消耗最小的功率。
  • 动态电压和频率缩放—通过调整电压和频率来优化器件的功率效率。
  • 多媒体引擎处理器的多媒体性能通过多级缓存系统NEON得到增强™ MPE(媒体处理器引擎)协处理器、可编程智能DMA(SDMA)控制器、异步音频采样率转换器、电泳显示(EPD)控制器和像素处理管道(PXP),以支持2D图像处理,包括颜色空间转换、缩放、alpha混合和旋转。
  • 2个以太网接口—2个10/100 Mbps以太网控制器。
  • 人机界面每个处理器支持一个数字并行显示接口
  • 接口灵活性每个处理器支持连接到各种接口:两个高速USB随动PHY、多个扩展卡端口(高速MMC/SDIO主机和其他)、两个12位ADC模块(最多10个总输入通道)和两个CAN端口
  • 高级安全性—处理器提供支持硬件的安全功能,支持安全电子商务、数字版权管理(DRM)、信息加密、安全引导、AES-128加密、SHA-1、SHA-256硬件加速引擎和安全软件下载。i.MX 6ULL安全参考手册(IMX6ULLSRM)中讨论了安全功能.
  • 集成电源管理处理器集成线性稳压器,并在内部为不同的域产生电压电平。这大大简化了系统电源管理结构。

1.3 资源

在这里插入图片描述

二、开发环境搭建

2.1 安装交叉编译器

2.1.1 下载源码

下载地址
在这里插入图片描述

2.1.2 安装交叉编译工具链

//创建一个存放arm交叉编译工具链的文件夹
sudo mkdir /usr/local/arm
//将2.1.1下载的源码复制到刚/usr/local/arm
sudo cp gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz /usr/local/arm/ -f
//解压压缩包
sudo tar -vxf gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz
//使用vi修改环境变量
sudo vi /etc/profile
//在/etc/profile最后添加下面一句添加到环境变量
export PATH=$PATH:/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin

2.1.3 安装必要的库

sudo apt-get install lsb-core lib32stdc++6

2.1.4 验证

//将会看到linaro gcc的版本消息,说明安装成功
arm-linux-gnueabihf-gcc -v

2.2 【工具介绍】虚拟机文件与PC文件互传

2.2.1 在linux打开ftp服务

安装vsftpd并用vi修改配置

sudo apt-get install vsftpd
sudo vi /etc/vsftpd.conf

修改如下两处/etc/vsftpd.config配置

local_enable=YES
write_enable=YES

启动服务

sudo /etc/init.d/vsftpd restart

2.2.2 PC安装ftp客户端

下载地址

2.2.3 ftp连接

打开filezilla,点击“文件”下拉菜单的站点管理器。
在这里插入图片描述
填入ubuntu的IP地址,可以通过在ubuntu终端输入ifconfig获得该地址。
在这里插入图片描述
连接成功,PC的文件可以与ubuntu互传了。
在这里插入图片描述

三、编译

  将正点原子资料里的裸机例程的i2c例程拷贝放到/linux/drivers下

//进入工程目录,执行make
make 

四、下载

4.1 下载原理

  i.mx6ull可以根据boot引脚的配置从不同的存储器启动,现在通过将程序下载到sd卡里,配置成从SD卡启动,将sd卡放入读卡器插入电脑,通过ls /dev/sd*查看sd卡设备的名称,执行imxdownload程序将程序下载到sd卡里,重启设备即可从sd卡启动。

4.2 下载

chmod 777 imxdownload
./imxdownload ap3216c.bin /dev/sdb

五、测试

设置boot从sd卡启动,按下复位键,可以看到程序开始运行。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43810563/article/details/115919848