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-essential2. 下载 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/bin3. 永久设置 PATH
编辑 ~/.bashrc,添加:
export PATH=$PATH:/opt/nios2/bin验证:nios2-linux-uclibc-gcc –v
步骤二:建立 Nios II SOPC 环境
以参考设计 DE2_70_NET 为模板:
- 打开 SOPC Builder
- 硬件调整(确保 ≥8MB 内存,≥2MB FLASH)
- Generate 生成系统
- Quartus 编译工程
- AS 模式烧写(Flash Programmer)
- 保存系统描述文件 sys.ptf
步骤三:配置和编译 uClinux
1. 下载源码和补丁
- uClinux-dist-20070130.tar.bz2(http://www.uClinux.org/)
- uClinux-dist-20070130-nios2-02.diff.gz(补丁)
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 -p03. 内核配置
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. 烧写
- 先烧写 Linux 内核镜像(DE2 SOPC Builder 生成的 .sof → .pof)
- 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 时必须指定
可行动点
- 本文档是 FPGA + Linux 嵌入式的经典入门指南,流程清晰
- 如需在当前项目中使用类似方案,可参考此交叉编译环境搭建流程
- 与 FPGA培训资料 中其他资料配合学习