原创 菜鸟学uC/OS_II(14)

2008-9-12 11:08 3538 5 7 分类: MCU/ 嵌入式

菜鸟学uC/OS_II(14)<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


By <?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />Norman


2008-8-4


 


为了得到更多的启动代码例程,我决定求助于MDK。因为ARM-ADS作为系统级的开发IDE,对于现阶段对ARM的学习没有多大帮助,而MDK又具有中文帮助文档等优点,直接针对ARM的应用,很实用。


作为例程,启动代码结构其实同ADSZLG给的差不多,不同的是MDK下全写在汇编中,而在ADS下,是由一个Target.c文件的,做的工作其实是一样的。


 


出现的问题:


1)为了编译uCOS,我直接利用了ADS中的移植文件。发现一个编译错误:


——OS_CPU_A.o(.text) contains invalid call from '~PRES8' function to 'REQ8' function——


这是一个对齐的问题,MDKABI是用8Bytes对齐的,ADS中则不是;压栈的时候,ADS可能压的是单数的寄存器,而MDK中需要的是偶数(这里,ZLG给出的代码中有一个R12的压栈,相信是为了匹配这个要求的),不过,只修改这些还不行,还需要在代码段开始的时候写一条语句:PRESERVE8——所以,这里有两个地方需要注意。


这个问题网上很多人遇到,也给出了具体解释,参看《从ADSRealView MDK》一文。


 


2error: L6236E: No section matches selector - no section to be FIRST/LAST


按照《从》一文的步骤,出现了这个没有提到的错误。在网上查查,原来是


  AREA    vectors,CODE,READONLY


——>


  AREA    RESET, CODE, READONLY


暂时不懂为什么要这样改,是段名一定要相同么?那为什么我改成Reset要报重复错误?


 


3MDK中支持中断句柄否?


 


4*** error 65: access violation at 0x400009E0 : no 'execute/read' permission


 


这是软件设置问题还是程序?


没有选择对目标器件——程序是针对LPC2148的,LPC2131的内存区域同2148有一定的出入,造成这种结果。如果将内存映射改一下,对应于LPC2131的内存,就可以运行了。不过仿真结果却不太理想,不知道这和软件、计算机硬件配置有没有关系。


 


 


 


 


 


 


 


 


 


 

PARTNER CONTENT

文章评论2条评论)

登录后参与讨论

tengjingshu_112148725 2009-3-16 18:17

牛人啊:)

用户1125921 2008-9-15 22:07

搞什么飞机,一会儿ADS,一会儿keil;又是LPC2148,又是凌阳单片机。 I服了U!
相关推荐阅读
用户1407551 2010-06-08 11:28
Protel 带网络复制和粘贴
今天有人问到为什么复制PCB之后网络就消失了,我说,你没有告诉它要不要复制网络,软件不知道你要干啥。复制之后,Paste Special,keep net name即可。其实,这些个软件应该都是有这种...
用户1407551 2010-04-26 19:52
关于Libero8.5安装和卸载的问题!
似乎半年多以前赶一个项目,用到了Actel的FPGA,安装Libero的时候遇到一些困难,想不到过了这么长时间,还有朋友遇到这个问题。回去看了看帖子,还是决定记下来以免以后又不知所措。 基本上这个问题...
用户1407551 2010-04-26 10:44
『转』上拉电阻和下拉电阻
上拉电阻下拉电阻的总结上拉电阻:[52RD.com]1、当TTL电路驱动COMS电路时,如果TTL电路输出的高电平低于COMS电路的最低高电平(一般为3.5V),这时就需要在TTL的输出端接上拉电阻,...
用户1407551 2010-04-26 10:30
『转』吸电流、拉电流、灌电流、上下拉电阻、高阻态
 吸电流、拉电流输出、灌电流输出拉即泄,主动输出电流,从输出口输出电流;灌即充,被动输入电流,从输出端口流入;吸则是主动吸入电流,从输入端口流入。   吸电流和灌电流就是从芯片外电路通过引脚流入芯片内...
用户1407551 2010-04-23 15:01
『转』分贝
分贝分贝表示一种单位,即两种电或声功率之比或两种电压或电流值或类似声量之比;分贝还是一种测量声音相对响度的单位。  fēnbèi   [decibel]   (1)∶表示两种电或声功率之比的一种单位,...
用户1407551 2010-04-22 11:26
电阻的精度和温漂
1、电阻温度系数(TCR)表示电阻当温度改变1度时,电阻值的相对变化,当温度每升高1℃时,导体电阻的增加值与原来电阻的比值。单位为ppm/℃(即10E(-6)·℃)。定义式如下:TCR=dR/R.dT...
我要评论
2
5
关闭 站长推荐上一条 /3 下一条