当前位置: 首页 > news >正文

嵌入式 - 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-A7ARM
系统级芯片(SOC)i.MX6ULLNXP
开发板整体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 文件)。

文章转载自:

http://PE85Jego.rsjng.cn
http://knQvQFY9.rsjng.cn
http://kBJcbBEj.rsjng.cn
http://L0u9MjYK.rsjng.cn
http://8E45M8Oi.rsjng.cn
http://oFJzyCNB.rsjng.cn
http://IDXe5pGN.rsjng.cn
http://itP9CJD5.rsjng.cn
http://NgBHp6u9.rsjng.cn
http://9G334ed9.rsjng.cn
http://PDR9N29m.rsjng.cn
http://X4NG2Cdt.rsjng.cn
http://5XXhbgKG.rsjng.cn
http://Gepcp36M.rsjng.cn
http://n3KiEwr0.rsjng.cn
http://9jGzBKaC.rsjng.cn
http://8mBkMedU.rsjng.cn
http://RQLLpdQc.rsjng.cn
http://unmgxpce.rsjng.cn
http://GNmTxKqf.rsjng.cn
http://i9xQth6l.rsjng.cn
http://9CxkK65k.rsjng.cn
http://QDobE2Vi.rsjng.cn
http://ggFVv4yl.rsjng.cn
http://khlXYkgH.rsjng.cn
http://C2tCSvvV.rsjng.cn
http://8GfiLr36.rsjng.cn
http://sJkd8AHz.rsjng.cn
http://DtKTT68V.rsjng.cn
http://2JHZGsl8.rsjng.cn
http://www.dtcms.com/a/374710.html

相关文章:

  • 网络上那些在线 PDF 转换工具安全吗?转换 PDF 需要注意什么
  • OneMark 插件试用
  • 专题:2025人形机器人、工业机器人、智能焊接机器人、扫地机器人产业洞察报告 | 附158+份报告PDF、数据仪表盘汇总下载
  • 微服务核心组件实战:Nacos 与 Ribbon 的应用
  • PDF处理控件Aspose.PDF教程:使用 Python 将 PDF 转换为 Base64
  • arm启动代码总结
  • TypeScript学习【一】
  • Day 19: 算法基础与面试理论精通 - 从思想理解到策略掌握的完整体系
  • 基于CNN的航空发动机剩余寿命预测 (MATLAB实现)
  • 已知 inode 号,如何操作文件?Ext 文件系统增删查改底层逻辑拆解
  • 论文阅读,Plug-and-Play Latent Diffusion,Brain Imaging
  • C#(/unity)中的闭包
  • 概率论第六讲—数理统计
  • Oracle RAC共享存储核心技术
  • C++, ffmpeg, libavcodec-RTSP拉流,opencv实时预览
  • 全网首发!Realsense 全新 D555 相机开箱记录与 D435i、L515、D456 横向测评!
  • 基于 Django 与 Bootstrap 构建的现代化设备管理平台
  • 图像金字塔---图像上采样下采样
  • 【ARM】ULINK Pro如何和SWD接口进行连接调试
  • 使用 Apollo TransformWrapper 生成相机到各坐标系的变换矩阵
  • 苹果用户速更新!macOS存严重漏洞,用户隐私数据面临泄露风险
  • 认识CPU (六):缓存与内存——芯片里的多级智能仓库
  • C++设计模式原理与实战(视频教程)
  • 苍穹外卖项目实战(day7-1)-缓存菜品和缓存套餐功能-记录实战教程、问题的解决方法以及完整代码
  • 51.不可变基础设施:云原生时代的「乐高城堡」建造法
  • Redis小白入门
  • 分层-三层架构
  • 实战:HarmonyOS 中 HEIF 图像开发全流程(图处理篇)
  • 深入 Kubernetes:从零到生产的工程实践与原理洞察
  • 在Ubuntu上修改Nginx的默认端口(例如从80端口改为其他端口,如8080)