嵌入式 - ARM(4) 硬件介绍与开发环境搭建

一、IMX6ULL-Mini 开发板硬件介绍

IMX6ULL-Mini 开发板是正点原子推出的基于 NXP i.MX6ULL SOC 的嵌入式开发板,主打高性能、低功耗、紧凑体积,适合物联网、工业控制等场景,硬件结构分为核心板与底板两部分,核心板通过双列直插方式与底板连接。

1.1 核心板(六层板设计)

核心板集成了开发板的核心运算与存储单元,关键参数如下:

  • CPU :NXP i.MX 6ULL 处理器,基于 Cortex-A7 架构(单核)
    • 工业级版本:主频 528MHz
    • 商业级版本:主频 800MHz
    • 封装形式:467-ball GBA 封装
  • 内存:512MB DDR3L RAM,支持高速数据存取,满足多任务运行需求
  • 存储:8GB eMMC 闪存,支持多种启动模式(SD 卡、NAND Flash、eMMC)
  • 显示接口:支持 4.3 寸屏幕,分辨率 800*480,可用于图形化界面开发

1.2 底板(以 LED 模块为例)

底板提供丰富的外设接口,其中 LED 模块是基础调试组件,功能如下:

  • 红色 LED 灯:用户可控 LED,可通过代码控制亮灭(如 GPIO 引脚驱动),用于调试程序运行状态
  • 蓝色 LED 灯:电源指示灯,开发板上电后自动亮起,指示供电正常
  • 限流电阻:串联 510Ω 电阻,作用是限制 LED 回路电流,防止电流过大烧毁灯珠,保护硬件安全

1.3 核心组件厂商对应关系

组件类型 型号 / 名称 厂商
处理器核心 Cortex-A7 ARM
系统级芯片(SOC) i.MX6ULL NXP
开发板整体 IMX6ULL-Mini 正点原子

二、开发工具下载与配置

开发环境需准备代码编辑工具(VS Code)、交叉编译器、文件传输工具(FileZilla),以下是详细配置步骤。

2.1 Visual Studio Code(代码编辑器)配置

VS Code 用于编写汇编 / 代码,需安装 ARM 汇编高亮插件,步骤如下:

  1. 下载并安装 Visual Studio Code(官网或开发板资料包中获取);
  2. 打开 VS Code,在插件市场搜索并安装 Arm Assembly 插件(用于实现 ARM 汇编代码的语法高亮,提升编写效率);
  3. 创建工程文件夹:在 Windows 磁盘中新建路径 D:\IMX6ULL\led_asm(用于存放项目代码);
  4. 在工程文件夹中创建启动代码文件 start.S(注意后缀为大写 S,原因是:大写 S 的汇编文件会被编译器预处理,支持后续使用宏定义等预处理语法;小写 s 文件不进行预处理)。

2.2 交叉编译器(ARM-Linux-GCC)安装(Ubuntu 系统)

由于开发板 CPU 是 ARM 架构,需在 x86 架构的 Ubuntu 系统中安装交叉编译器(arm-linux-gnueabihf-gcc),用于将代码编译为 ARM 架构可执行文件,步骤如下:

  1. 拷贝编译器包 :将编译器压缩包 gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz 拷贝到 Ubuntu 的 /usr/local/arm 目录下(若arm目录不存在,需先执行 sudo mkdir /usr/local/arm 创建);

  2. 解压编译器包 :打开 Ubuntu 终端,执行命令解压:

    bash

    复制代码
    sudo tar xvf /usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz
  3. 删除压缩包 (可选,节省空间):

    bash

    复制代码
    sudo rm /usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz
  4. 配置环境变量 :修改 Ubuntu 用户目录下的环境变量配置文件 .bashrc,让系统能找到编译器:

    • 执行命令打开配置文件:vi ~/.bashrc

    • 在文件末尾添加以下内容(指定编译器可执行文件路径): bash

      复制代码
      export PATH=$PATH:/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin/
    • 保存并退出:按 Esc 键,输入 :wq 回车;

  5. 重启虚拟机 :执行 reboot 重启 Ubuntu,使环境变量生效;

  6. 验证编译器安装 :重启后打开终端,执行以下命令查看编译器版本,若显示版本信息则安装成功:

    bash

    复制代码
    arm-linux-gnueabihf-gcc -v

2.3 FileZilla Client(文件传输工具)配置

FileZilla 是 Windows 与 Ubuntu 之间的 FTP 工具,用于将 Windows 下编写的代码上传到 Ubuntu(便于编译),需先配置 Ubuntu 的 FTP 服务,再安装 Windows 客户端。

2.3.1 Ubuntu 端 FTP 服务配置
  1. 安装 FTP 服务 :打开 Ubuntu 终端,执行命令安装 vsftpd(FTP 服务软件):

    bash

    复制代码
    sudo apt-get install vsftpd
  2. 修改 FTP 配置文件 :确保 FTP 服务支持本地用户读写,步骤如下:

    • 执行命令打开配置文件:sudo vi /etc/vsftpd.conf

    • 找到以下两行,确保行首没有 #(注释符号),若有则删除 #

      conf

      复制代码
      local_enable=YES    # 允许本地用户登录FTP
      write_enable=YES    # 允许本地用户写入文件(上传代码)
    • 保存并退出:Esc:wq 回车;

  3. 重启 FTP 服务 :使配置生效,执行命令:

    bash

    复制代码
    sudo /etc/init.d/vsftpd restart
  4. 检查 FTP 服务状态 :执行命令查看服务是否正常运行,若显示 "active (running)"(绿灯)则正常:

    bash

    复制代码
    sudo /etc/init.d/vsftpd status
2.3.2 Windows 端 FileZilla Client 安装
  1. 获取安装包 :从 IMX6ULL 开发板资料包中找到 FileZilla_3.39.0_win64-setup_bundled.exe(64 位 Windows 版本);
  2. 安装客户端:双击安装包,按向导完成安装,建议勾选 "创建桌面快捷方式"(方便后续使用)。

2.4 代码上传(Windows → Ubuntu)

通过 FileZilla 将 Windows 工程文件夹 D:\IMX6ULL\led_asm 上传到 Ubuntu,步骤如下:

  1. 打开 FileZilla:双击 Windows 桌面的 FileZilla 快捷方式,点击左上角 "文件"→"站点管理器";
  2. 新建 FTP 站点 :点击 "新站点",按以下信息配置(需根据自己的 Ubuntu IP 修改):
    • 主机(H):输入 Ubuntu 的 ens33 网卡 IP 地址(Ubuntu 中可通过 ifconfig ens33 查看,示例:192.168.71.134);
    • 协议:选择 "FTP - 文件传输协议";
    • 登录类型:选择 "正常";
    • 用户(U):输入 Ubuntu 的用户名(示例:linux);
    • 密码(W):输入 Ubuntu 的用户密码(示例:1);
  3. 连接 FTP :点击 "连接",若连接成功,FileZilla 右侧会显示 Windows 本地文件(可导航到 D:\IMX6ULL\led_asm),左侧会显示 Ubuntu 的远程文件;
  4. 上传代码 :在右侧 Windows 本地文件中找到 led_asm 文件夹,右键点击该文件夹,选择 "上传",等待上传完成(左侧 Ubuntu 中会出现同名文件夹,包含 start.S 文件)。
相关推荐
pengfei_M4 小时前
一、ARM异常等级及切换
arm开发
sheepwjl7 小时前
《嵌入式硬件(六):ARM汇编核心内容总结》
汇编·arm开发·嵌入式硬件
路溪非溪9 小时前
Linux驱动如何向应用层提供sysfs操作接口
linux·arm开发·驱动开发
武文斌771 天前
arm启动代码总结
arm开发·嵌入式硬件·学习
ShiMetaPi1 天前
操作【GM3568JHF】FPGA+ARM异构开发板 使用指南:蓝牙
arm开发·嵌入式硬件·fpga开发·rk3568
明天见~~1 天前
ARM 体系结构与存储器
arm开发
一川月白7091 天前
ARM架构---指令集分类、内核组成,RAM与ROM的分类、工作模式、异常处理机制、立即数、s后缀、指令说明、汇编和 C 函数的相互调用
arm开发·函数调用·工作模式·arm内核·risc与cisc·s后缀·立即数
2401_888423091 天前
ARM-指令集全解析:从基础到高阶应用
arm开发
Aczone281 天前
硬件(六)arm指令
开发语言·汇编·arm开发·嵌入式硬件·算法