PLC平台移植u-boot-2016.07问题与解决
需积分: 9 140 浏览量
更新于2024-09-10
收藏 370KB DOCX 举报
"uboot201607移植记录"
在本文中,作者记录了将u-boot 2016.07版本移植到PLC平台上的过程,特别是针对9x25网络控制器的配置。以下是移植过程中的关键步骤和遇到的问题。
首先,对于u-boot源代码的`include/configs/at91sam9x5ek.h`文件,进行了以下修改:
1. 定义了`CONFIG_MACB1`,这是为了支持平台上的第二个网卡(MACB1)。
2. 同时定义了`CONFIG_NET_MULTI`,启用多网络接口支持。
接着,修改了启动参数`CONFIG_BOOTARGS`,以适应新的内存分配和文件系统需求:
- `mem=128M`指定了128MB的内存大小。
- `console=ttyS0,115200`设置了串口控制台在ttyS0端口,波特率为115200。
- `mtdparts=atmel_nand:`定义了MTD(Memory Technology Device)分区。
- `8M(bootstrap/uboot/kernel)ro`指定了8MB的空间用于引导程序、u-boot和内核,并设置为只读。
- `-(-rootfs)`剩余的空间分配给根文件系统。
- `root=/dev/mtdblock1rw`设置了根文件系统位于mtdblock1,且为读写模式。
- `rootfstype=ubifs`指定了根文件系统的类型为UBIFS(Unsorted Block Image File System)。
- `ubi.mtd=1root=ubi0:rootfs`定义了UBI设备为mtd1,根文件系统挂载在ubi0的rootfs分区。
然后,增大了`CONFIG_SYS_MALLOC_LEN`的值,这是为了确保在ubi初始化过程中有足够的内存分配。默认值可能导致了"ubiiniterror=-12"的错误。
此外,还添加了环境变量以配置网络设置:
- `CONFIG_IPADDR`:设定了PLC的IP地址为192.168.99.123。
- `CONFIG_SERVERIP`:配置了服务器IP地址为192.168.99.100。
- `CONFIG_NETMASK`:设定了子网掩码为255.255.255.0。
- `CONFIG_GATEWAYIP`:配置了网关IP为192.168.99.1。
- `CONFIG_ETHADDR` 和 `CONFIG_ETH1ADDR` 分别定义了两个以太网接口的MAC地址。
接着,对MTD设备和分区进行了配置:
- `MTDIDS_DEFAULT` 指定了名为“nand0”的MTD设备。
- `MTDPARTS_DEFAULT` 配置了MTD分区,包括8MB的boot分区和剩余的rootfs分区。
在移植过程中,还需要对`Makefile`进行相应的调整,以适配新平台和配置。通常这包括修改目标架构、编译选项等。
最后,通过运行`makemenuconfig`命令来生成或更新配置文件。在这个例子中,作者可能使用了`make at91sam9x5ek_nandflash_defconfig`命令来加载默认配置,然后根据需求进行了自定义。
这个过程展示了u-boot移植时涉及的多个方面,包括硬件驱动的适配、内存管理、网络配置、文件系统设置以及编译构建流程。这些详细记录有助于未来类似移植工作的参考和复用。
2017-09-04 上传
2023-10-13 上传
2024-04-13 上传
2023-07-28 上传
2023-05-01 上传
2024-06-26 上传
2023-07-23 上传
2023-09-09 上传
嵌入式码农
- 粉丝: 12
- 资源: 9
最新资源
- WebLogic集群配置与管理实战指南
- AIX5.3上安装Weblogic 9.2详细步骤
- 面向对象编程模拟试题详解与解析
- Flex+FMS2.0中文教程:开发流媒体应用的实践指南
- PID调节深入解析:从入门到精通
- 数字水印技术:保护版权的新防线
- 8位数码管显示24小时制数字电子钟程序设计
- Mhdd免费版详细使用教程:硬盘检测与坏道屏蔽
- 操作系统期末复习指南:进程、线程与系统调用详解
- Cognos8性能优化指南:软件参数与报表设计调优
- Cognos8开发入门:从Transformer到ReportStudio
- Cisco 6509交换机配置全面指南
- C#入门:XML基础教程与实例解析
- Matlab振动分析详解:从单自由度到6自由度模型
- Eclipse JDT中的ASTParser详解与核心类介绍
- Java程序员必备资源网站大全