DE2平台uCLinux开发环境构建指南

原始路径: /工作相关/FPGA培训资料/FPGA培训_2012_07/sopc实验/在DE2平台上构建uCLinux开发环境.pdf 文件大小: 801.49 KB 页数: 13页 提取方式: PDF文本提取(pdf-inspector) 处理日期: 2026-09-20 状态: done


在 DE2 平台上构建 uCLinux 开发环境

操作指导,2008-6-19。介绍如何在 Altera DE2 开发板上构建 Nios II + uClinux 嵌入式开发环境。

背景

Nios II 是 Altera 公司在 FPGA 器件上的 32 位软核 CPU,支持 SOPC Builder 灵活构建应用环境。NIOS II IDE 集成 uC/OS-II 和 LWIP,适合中小规模系统,但对显示、文件系统支持不足。uClinux 作为替代选择,可利用大量 Linux 源代码资源。

环境要求

  • 主机:Linux(Ubuntu 7.04 示例),不建议使用 NIOS II IDE 自带 Cygwin(编译速度极慢)
  • 内存:至少 8MB(uClinux 运行需求)
  • FLASH:至少 2MB(内核空间)

步骤一:交叉编译环境建立

1. 安装 build-essential

sudo apt-get install build-essential

2. 下载 Nios II 工具链

下载地址:http://nioswiki.jot.com/WikiHome/OperatingSystems/uClinux/BinaryToolchain/nios2gcc.tar.bz2

sudo tar jxf ~/nios2/nios2gcc.tar.bz2 -C /
export PATH=$PATH:/opt/nios2/bin

3. 永久设置 PATH

编辑 ~/.bashrc,添加:

export PATH=$PATH:/opt/nios2/bin

验证:nios2-linux-uclibc-gcc –v

步骤二:建立 Nios II SOPC 环境

以参考设计 DE2_70_NET 为模板:

  1. 打开 SOPC Builder
  2. 硬件调整(确保 ≥8MB 内存,≥2MB FLASH)
  3. Generate 生成系统
  4. Quartus 编译工程
  5. AS 模式烧写(Flash Programmer)
  6. 保存系统描述文件 sys.ptf

步骤三:配置和编译 uClinux

1. 下载源码和补丁

2. 解压并打补丁

cd /home/nios/
tar jxf ~/nios/uClinux-dist-20070130.tar.bz2
cd uClinux-dist
zcat ~/nios/uClinux-dist-20070130-nios2-02.diff.gz | patch -p0

3. 内核配置

make menuconfig

选择:

  • Vendor/Product Selection → Altera / nios2nommu
  • Kernel Version → linux-2.6.x
  • Libc Version → (None)
  • Customize Kernel Settings
  • Customize Vendor/User Settings
make vendor_hwselect SYSPTF="/home/nios2/sys.ptf"
make menuconfig  # 二次配置

4. 最小化配置选项

General setup: Enable support for printk, BUG() support
Processor type: CPU (NIOS2), Enable mul instruction
Executable file formats: Kernel support for flat binaries
Platform: Altera Cyclone Development board support
Serial I/O: Altera JTAG UART support 或 Nios serial support + console on Nios UART
Filesystems: /proc, sysfs
Networking: TCP/IP, DHCP, DM9000A Ethernet
USB: Host-side USB, USB device filesystem
SCSI: SCSI disk support

5. 编译

make

生成 image 文件:/home/nios/uClinux-dist/linux-2.6.x/image

6. 打包根文件系统

./make_rootfs.sh

生成 rootfs_list。

7. 烧写

  1. 先烧写 Linux 内核镜像(DE2 SOPC Builder 生成的 .sof → .pof)
  2. Flash Programmer 烧写根文件系统(.rbt)

8. 运行

Terminal 设置:115200, 8, N, 1

串口输出示例:

Starting kernel ...
Linux version 2.6.19-nios2-02.00...
...
BusyBox v1.1.8 (2007.07.06-08:54+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.
#

注意事项

  • 补丁只能打一次,失败需删除文件重新操作
  • Cygwin 环境编译极慢,建议使用远程 Linux 主机
  • DE2 板载 DM9000A 以太网芯片,需要启用对应驱动
  • 系统描述文件 sys.ptf 是硬件配置的桥梁,编译 uClinux 时必须指定

可行动点

  1. 本文档是 FPGA + Linux 嵌入式的经典入门指南,流程清晰
  2. 如需在当前项目中使用类似方案,可参考此交叉编译环境搭建流程
  3. 与 FPGA培训资料 中其他资料配合学习