8699|23

71

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

oemaddrtab_cfg.inc修改后编译错误 [复制链接]

现在修改oemaddtab_cfg.inc后出现编译错误

错误        115        error A0092: no immediate rotate operand can be created: -1068        D:\WINCE600\PLATFORM\SMDK6410\SRC\OAL\OALLIB\startup.s        555
错误        116        BLDDEMO: There were errors building NMBSP       


原文件是这样的:
;DCD     0x91A00000, 0x7C200000,  1      ; SD-MMC Controller 0
现需要操作SD-MMC,改为
DCD     0x91A00000, 0x7C200000,  1      ; SD-MMC Controller 0

请问各位有没有遇到

最新回复

试验过了,还是不行, 谢谢楼上的  详情 回复 发表于 2010-5-19 21:06
点赞 关注

回复
举报

73

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
修改过oemaddtab_cfg.inc,但是没遇到过这样的错误,不愿之后再编译就没错?
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
还愿之后再编译就没错?
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

4
 
还原之后好了,
现在编译的时候有很多奇怪的编译错误,重新启动下机器有的时候就好了,晕死,
这几天见鬼了,好多奇怪的编译错误啊,
 
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

5
 
呵呵呵,的确是,早期遇到超级多郁闷错误哦。
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

6
 
参考一下:在何时该用什么方式编译WinCE,search一下,
  其实这些问题的根源都是与编译相关的。我们必须理解整个编译系统,从而准确的了解什么时候该如何编译。发表这篇博文的目的就是为了让你搞清楚”什么时候该如何编译”这个问题!
        首先第一步,也是最重要的一步就是,从你的Platform Builder的菜单中删除两个选项:”Build and Sysgen”和”Rebuild and Clean Sysgen”。这两个命令会编译整个系统,包括在”PUBLIC”和“PRIVATE”目录下的所有源代码。对于一般的系统开发者,这两个命令根本用不着。不是微软的CE开发组成员的话,你是没有全部源代码的。整个系统重新编译也许可以通过,但是这样会覆盖掉你装过的所有QFE。这些QFE通常包含了更新的二进制文件,有时候也会有更新的源代码。在重新编译整个系统之后,你迟早会碰到一些奇怪的bug,并且这些bug非常难解决或者到最后成为不可能解决的bug。一旦你执行了”(Re)Build and (Clean) Sysgen”之后,想再恢复到未执行前的状态就不可能了。唯一的办法就是把WinCE全部卸载然后重装。装的时候别忘了把QFE也重装一遍。
        现在大家知道为什么我总是在新闻组里呼吁“千万别做BUILD AND SYSGEN”

参考一下,偶做了好多次rebuild and clean sysgen后,确实发生了很多稀奇古怪的问题,太痛苦了
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

7
 
我重来不rebuild  我只sysgen
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

8
 
引用 5 楼 shellgo 的回复:
参考一下:在何时该用什么方式编译WinCE,search一下,
  其实这些问题的根源都是与编译相关的。我们必须理解整个编译系统,从而准确的了解什么时候该如何编译。发表这篇博文的目的就是为了让你搞清楚”什么时候该如何编译”这个问题!
  首先第一步,也是最重要的一步就是,从你的Platform Builder的菜单中删除两个选项:”Build and Sysgen”和”Rebuild and ……

不赞同你的说法,安装更新的时候除LIB文件,一些源文件也会更新,他们不会傻到一执行build and sysgen就导致出很多问题,那样的话说明他们的产品不稳定,不会给用户和竞争者留下这个把柄。
执行过很多次build and sysgen了,还没遇到过什么BUG
 
 
 

回复

58

帖子

0

TA的资源

一粒金砂(初级)

9
 
呵呵,是看到一个网站上这么说的,
不过,多次之后这边确实有一些稀奇古怪的编译错误,有的时候重新启动下机器再编译就好了,不知道和这个有什么关系?
 
 
 

回复

95

帖子

0

TA的资源

一粒金砂(初级)

10
 
引用 5 楼 shellgo 的回复:

参考一下:在何时该用什么方式编译WinCE,search一下,
  其实这些问题的根源都是与编译相关的。我们必须理解整个编译系统,从而准确的了解什么时候该如何编译。发表这篇博文的目的就是为了让你搞清楚”什么时候该如何编译”这个问题!
        首先第一步,也是最重要的一步就是,从你的Platform Builder的菜单中删除两个选项:”Build and Sysgen”和”Rebui……


这篇文章的英文原版我也见过,尚不理解,求达人指导
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

11
 
现在编译后遇到

错误        9        error A0092: no immediate rotate operand can be created: -1080        D:\WINCE600\PLATFORM\SMDK6410\SRC\OAL\OALLIB\startup.s        555

不添加SD MMC可以编译通过,
各位有没有遇到类似的情况
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

12
 
有一个类似的帖子:
http://topic.eeworld.net/u/20091006/19/f0320e0c-aa13-46f5-b81b-2dc0800e6ac3.html
没有理解,有达人解释一下呢
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

13
 
还是不行?······
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

14
 
顶一下,我也刚好遇到同样的问题,也是修改oemaddtab_cfg.inc后,startup编译通不过,具体出错代码是
add        r0, pc, #g_oalAddressTable - (. + 8)这行。
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

15
 
现在还是不行,只能更改eboot程序的程序临时加上,编译bsp的时候,重新注释掉,呵呵,
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

16
 
还好,只是在eboot中控制那个mmc那个io,
哪个高人能够解释下,好像有个帖子解释过,
什么移动8位后,要和原来一样的值才行,不知道是不是那个原因
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

17
 
引用 15 楼 shellgo 的回复:
还好,只是在eboot中控制那个mmc那个io,
哪个高人能够解释下,好像有个帖子解释过,
什么移动8位后,要和原来一样的值才行,不知道是不是那个原因

你的0x91A00000在指令中是作为立即数的,要能通过一个8位常数循环移位偶数位得到,比如,0x3FC可以通过
0xFF左移2位得到,0xF0000001可以通过0x1F左移28位得到,你的0x91A00000是不能通过8位常数移位得到的。
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

18
 
引用 15 楼 shellgo 的回复:
还好,只是在eboot中控制那个mmc那个io,
哪个高人能够解释下,好像有个帖子解释过,
什么移动8位后,要和原来一样的值才行,不知道是不是那个原因

?什么?是映射嘛?这个看PB帮助。呵呵
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

19
 
我觉得你可以修改startup里的汇编指令,比如用ldr代替add,用对操作数没有限制的指令,我的情况和你又有点不一样,我在oemaddtab_cfg.inc里改的是
         ;DCD     0x9A000000, 0x30000000, 32      ; 32 MB SROM(SRAM/ROM) BANK 4
改成      DCD     0x9A000000, 0x30000000, 32      ; 32 MB SROM(SRAM/ROM) BANK 4,
按道理这个0x9A000000是可以作为立即数的啊,为什么也报错。

 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

20
 
引用 17 楼 gooogleman 的回复:
引用 15 楼 shellgo 的回复:
还好,只是在eboot中控制那个mmc那个io,
哪个高人能够解释下,好像有个帖子解释过,
什么移动8位后,要和原来一样的值才行,不知道是不是那个原因

?什么?是映射嘛?这个看PB帮助。呵呵

弱弱的问下,PB帮助在哪里的
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表