主题 : 《嵌入式Linux应用开发完全手册》第7章 mmu.bin 问题 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 29453
精华: 0
发帖: 17
金钱: 85 两
威望: 17 点
综合积分: 34 分
注册时间: 2010-09-28
最后登录: 2013-06-11
楼主  发表于: 2013-06-09 20:01

 《嵌入式Linux应用开发完全手册》第7章 mmu.bin 问题

make后将生成的mmu.bin烧写到NANDFLASH,发现四个LED全亮,没有其他反应(正常是轮流点亮)。

“最后发现是arm-linux-gcc 版本的问题,我用的是友善提供的交叉编译工具链,版本为4.4.3,
  然后换成《嵌入式LINUX应用开发完全手册》光盘中提供的3.4.5的版本后,一切都正常了。”

上面是某位网友的解答,这是什么原因?
:)
级别: 骑士
UID: 61588
精华: 5
发帖: 248
金钱: 1500 两
威望: 300 点
综合积分: 596 分
注册时间: 2012-01-02
最后登录: 2018-03-05
1楼  发表于: 2013-06-09 20:08
应该是延时函数的变量给优化了,你在前边加一个volatile,不让l编译器给优化了,就没有问题了。这个是问题的关键。
级别: 新手上路
UID: 29453
精华: 0
发帖: 17
金钱: 85 两
威望: 17 点
综合积分: 34 分
注册时间: 2010-09-28
最后登录: 2013-06-11
2楼  发表于: 2013-06-09 20:42
确实是延时的问题,打开Makefile发现了优化选项。
这里为什么要优化?因为我去掉优化选项后就不能运行。