欢迎来到天天文库
浏览记录
ID:28515712
大小:964.50 KB
页数:10页
时间:2018-12-11
《RealviewMDK4.0进行2440开发快速入门》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、RealviewMDK4.0进行2440开发快速入门----苑臣芒(光芒)RealViewMDK在中国推出已经有一段时间了,而且作为未来发展的趋势必将取代ADS1.2,成为工程师广泛应用的开发平台。但是好多工程师还习惯于用ads环境来调试,编译,我以前也是,但毕竟ads软件已经没有技术支持了,这势必会在以后对开发工作有一定影响,ARM将Keil公司收购之后,正式推出了针对ARM微控制器的开发工具RealViewMicrocontrollerDevelopmentKit(简称RealViewMDK或者MDK),它将ARM开发工具RealViewDevelopmentSuite(简称RVDS)的编
2、译器RVCT与Keil的工程管理、调试仿真工具集成在一起,是一款非常强大的ARM微控制器开发工具。所以将ads工程转成rvmdk工程势必会成为开发道路上的难题。第一步:分析一下ads工程及环境。这是我的工程文件,看一下ads的设置,首先是targetsetting选项,选择armfromelf接下来编译器选项总平台都选择arm920t,其余不需要修改。如图其余几个编译器(c,c++)也相应都设置为arm920t,其他地方不需要动。接下来就是关键的link选项了,最关键的是ro,这个是程序运行地址,也就是在ram的哪个地址运行,tq2440和mini2440都可以设置为0x30000000,也可
3、以比这个数值稍微大些,看实际需要吧,我们设置为0x30000000.在option标签页中添加程序入口点,这个入口点就是主程序运行的第一条指令的地方,在2440init.s中可以找到是entry,所以这里填写“__ENTRY”接下来看layout选项卡,设置如下:到这里,设置基本完工了,但还不能生成文件,在armfromELF中我们选择plainbinary,接可以生成与工程名字同名的bin文件了。再来看一下我们的目录Inc文件夹下文件如下Src如下这里基本完工了,让我们把这个工程直接拷贝到rv工程里边,命名工程名字为2440study_rv选择芯片为susung的s3c2440:确定后会询问
4、是否添加start代码,选择for(听说它的代码有问题,我还没验证)。这是添加后的代码图,这个图上文件夹顺序没什么关系,现在开始进入关键环节!!!!!!!!进入optionfortarget:这个页面理时钟频率随便设置,只与仿真有关。Os哪里选择none,rom1这里是只读存储器,我们不做调试就设置成norflash的地址,如果作为调试就务必设置成0x30000000,这里不用作调试,ram1里边开始地址设置为sram的开始地址0x30000000,大小设置成64兆,也就是0x4000000,这一页就ok了。接下来是user选项卡,这里因为我们要的是bin文件,我喜欢用dnw+secureCR
5、T来玩程序,所以在run#1那里添加fromelf.exe--bin-o@p.binoutput/@p.axf设置如图所示:别忘把前边的小勾打上。接下来在c/c++和asm选项卡里边分别设置好路径,也就是头文件的路径,所有的头文件必须都不放过!!!如图:细心的朋友会发现asm里边少选了一项,就是enablearm···那一项,因为选了这一项会在编译s文件有很多警告,所以去掉,对编译结果无影响!接下来设置link选项卡:这里设置选择了runinram配置文件,用此文件可以直接烧写程序到nand里边还可以直接用uboot提供的downloadandrun来测试运行,runinram文件具体内容如下
6、:;*************************************************************;***Scatter-LoadingDescriptionFilegeneratedbyuVision***;*************************************************************;RuninRAMLR_ROM10x30000000{;loadregionER_ROM10x300000000x0800000{;loadaddress=executionaddress*.o(RESET,+First);*(InRoot
7、$$Sections).ANY(+RO)}RW_RAM10x308000000x0800000{;RWdata.ANY(+RW+ZI)}RW_IRAM10x400000000x00001000{.ANY(+RW+ZI)}}呵呵,这就是runinram,如果想让程序烧入nor能执行,建议用runinflash,具体内容如下:;*************************************
此文档下载收益归作者所有