在RAM中运行-Read.DOC

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
在RAM中运行-Read

目 录 ^_^ 2 一、移植环境 2 1 uC/OS-II版本 2 2 处理器相关代码 2 3 开发工具 2 3.1 编译 2 3.2 调试 3 3.3 下载 3 4 目标板 3 二、修改uC/OS-II 3 三、Diab 4 1 dcc 4 2 das 4 3 dld 5 4 ddump 5 5 windiss 5 四、在RAM中运行 6 1 准备点灯 6 2 准备串口 6 3 生成elf文件 6 4 通过MPCBDM下载 6 5 单任务实验 6 5.1 在0x600处死循环 7 5.2 在DEC_Hdlr中停止 7 5.3 无法切换到IDLE任务 7 6 多任务实验 8 五、烧写FLASH 8 1 规划地址空间 8 2 向量表的位置 8 3 copy_to_ram 8 4 生成bin文件 9 5 使用PPCBoot烧写 9 6 迎头棒喝 9 6.1 部分代码未烧写成功 9 6.2 重新点灯 10 6.3 栈与点灯 10 ^_^ 不知道这个实验有多大价值,但因为比较熟悉MPC860,又才看了uC/OS-II,所以想把它移植上去跑跑,共花了3周的时间 :-( 这是我第一次做移植实验,发现真正动手和看资料真是不一样。而且,成功之后的兴奋,也是无法铭状的 #_# 在做这个实验的时候,我没用过tornado,所有的开发调试手段都比较落后 :-/ 但也有好处,让我对底层有了更清晰的认识。 搞嵌入式,我还是个新手,发现需要学习的芯片、工具、理论太多,但如果能和大家一起探讨,将会少走不少弯路。因此,与坛子里的xdjm们共勉! 以下,是一个简单的实验的简单的笔记,有自己的一些浅显体会。如果能对你有所帮助,那最好不过,如果没有,就请一笑了之 ^_^ 一、移植环境 1 uC/OS-II版本 移植工作本身与uC/OS-II的版本没有太大关系,基于v2.51移植成功之后,没做多少工作就能让v2.62也跑起来。因为修改的是处理器相关的部分,这部分代码并没有体现版本的变化。 2 处理器相关代码 从上可以下载PowerPC8xx的移植代码,BSE版本,基于此做少量更改,就可以满足自己的需求。 3 开发工具 3.1 编译 使用Diab 5.1for PowerPC套件(含编译器、汇编器、链接器、反汇编及仿真工具等)。由Tornado 2.2 for PowerPC附带。我是直接在windows下的命令行进行编译的。先要安装Tornado(如果有单独的Diab,直接用就可以了),然后运行Tornado/host/x86-win32/bin/torvars.bat,这样就可以在命令行使用Diab了。 另,有大侠直接用tornado完成移植工作,我还没有试过,过段时间再看吧。如果能成,当然不需要像我这样折腾了 :-( 3.2 调试 MPC860没有自带的IDE,而Tornado或Single Step能否使用,因为不熟悉也没有尝试。以前用过BDM,所以继续使用,对应的软件是Linux下的MPCBDM。BDM可以看作是GDB的一个target,所以调试的实体就是GDB,版本4.18。 3.3 下载 使用BDM下载程序到RAM,使用PPCBoot烧写程序到FLASH。 这些工具都是Linux下的,而编译又要在windows下,来回的切换很是麻烦。试图在cygwin下使用BDM,编译gdb时没有成功 :-? Vmware也听说不错,但没时间试了。后来和一同事一起,2台机器方便些了。 4 目标板 使用华恒的HHPPC860-3COM-2ETH-R1开发板。 处理器: MPC860 FLASH: 2片,各2M字节 SDRAM: 16M字节 二、修改uC/OS-II 为了移植到MPC860,需要修改uC/OS-II中与处理器和编译器相关的部分代码。在这里,大部分的修改在BSE的ppc8xx移植版本里已经做好了,其它需要修改的是: bsestart.s文件: IMMR、PLPRCR等 修改对UPM的配置(MCR、MDR) 修改片选的配置(OR、BR) 首先要保证正确的配置,860才能跑得起来。 另外,BSE的移植版本,是用于在RAM中运行的,如果要烧写FLASH,要做更多改动,后面再说。 三、Diab 这是个好东东(不比gcc差吧?),对应的手册是《Diab Compiler Users Guide PPC》(tornado里有)。越来越发现,开发调试一定要清楚编译原理,从一个编译器的手册入手是最直接的了,我很多以前模糊的概念都在这里得到了解释。 用到的工具如下: 1 dcc 编译器,据称对代码的优化是最好的。 常用命令: –c 只进行汇编步骤,生成一个目标文件(默认的后缀是.o); –

文档评论(0)

xiaozu + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档