我的手臂工具链可能有问题,但也许我做错了其他事情。我有使用三星 s3c2440 ARM9 uC的中国制造的开发板qq2440 。我正在使用带有本机 gcc(4.3.3) 和交叉编译版本 arm-unknown-linux-uclibc-gcc (crosstool-NG-1.3.2) 4.3.2 的 Ubuntu x86
我遵循了http://blog.leshak.ru/english/pages/how-to-install-u-boot-linux-2629-rootfsjffs2-busybox-1132-into-nand-qq2440/的教程 并使用了 Leshak的内核该板的补丁。问题是他的二进制文件可以完美运行,而我的则不行……
我通过 RS232(串行端口)与我的开发板通信,并且我在目标 Linux 上配置了串行终端。我使用Leshak 的uboot 映像。要配置我的内核,我使用以下命令行:
qq2440> setenv bootargs 'noinitrd root=/dev/mtdblock2 rootfstype=jffs2 rw console=ttySAC0,115200'
对于目标,我使用 vanilla Linux 源版本 2.6.29,并带有由Leshak创建的补丁。我真的不相信 Linux 会正式支持它,因为它不是主流产品。
我的内核映像开始启动,但它可能会将带宽(或 CPU 频率)更改为某个非标准值(已经尝试了所有标准值)。而不是指示将内核加载到内存中的点,我只有垃圾。不幸的是,它可能不会完成启动过程,因为网络接口和文件系统都没有出现。所以我发现它在中间的某个地方发生了恐慌。
有什么想法我接下来应该做什么?
感谢和问候,
克里斯