主题 : 2440test.bin为什么不可以在linux下运行? 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 2164
精华: 0
发帖: 18
金钱: 125 两
威望: 71 点
综合积分: 36 分
注册时间: 2008-10-29
最后登录: 2012-03-16
楼主  发表于: 2009-05-09 15:50

 2440test.bin为什么不可以在linux下运行?

版主您好!

我在非操作系统环境下,NOR方式启动,USB下载到QQ24440板子上,2440test.bin是正常运行的。
在LINU下,#chmod 777 2440test.bin    #./2440test.bin
结果显示:
./2440test.bin: ./2440test.bin: 1: Syntax error: word unexpected (expecting ")")

麻烦请版主指导一下这是什么原因?
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
1楼  发表于: 2009-05-10 06:49
从理论上说,mini2440的Linux下只能运行ELF格式的可执行档,而2440test.bin是没有任何格式的“可执行档”,因此无法被Linux内核载入运行;
从实际上说,2440test是从一个"干净"的CPU启动环境下开始运行的,即CPU reset,硬件没有初始化,MMU没有开启,物理地址与虚拟地址相同,等等。而Linux在启动时已经初始化了大部分硬件,开启了MMU,环境和2440test所需要的差太多了,及时能载入,也不可能运行成功。

如果你不明白我在说什么,说明你需要先搞懂什么是2440test, 去看看它的源代码吧
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 新手上路
UID: 2164
精华: 0
发帖: 18
金钱: 125 两
威望: 71 点
综合积分: 36 分
注册时间: 2008-10-29
最后登录: 2012-03-16
2楼  发表于: 2009-05-11 09:13
谢谢版主,
最近把在非操作系统环境下ADS编程与Linux环境下编程搅在一起,有点概念不清了。
[ 此帖被bluewarrior在2009-05-11 09:29重新编辑 ]
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
3楼  发表于: 2009-05-11 10:11
引用第2楼bluewarrior于2009-05-11 09:13发表的  :
谢谢版主,
最近把在非操作系统环境下ADS编程与Linux环境下编程搅在一起,有点概念不清了。

理清楚概念是很重要的,在搞清概念之前不要动手做,否则肯定是错的
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."