历史上的今天

今天是:2025年07月01日(星期二)

正在发生

2020年07月01日 | 将TQ2440的ADS工程文件移植到KEIL5中

发布者:andyliow1980 来源: eefocus关键字:TQ2440  ADS工程文件  移植  KEIL5 手机看文章 扫描二维码
随时随地手机看文章

TQ2440的例程都是ADS环境下的,ADS已经是古董级的软件,win7都不带支持何况WIN10。考虑需求就尝试将工程移植到keil5上。查找了大量资料,试验加修改总算是移植成功了。文后附上所参考的地址。这里总结一下,方便查看:

keil环境配置

打开keil,下载相关的内核,sumsung2440的。

新建工程,选择相关内核(会提示添加源文件,如果自己有就不要添加了,直接导入),将文件导入到工程,此处和导入STM32的h文件,c文件一样

注意拷贝文件时inc文件一定要和源文件在一个文件夹(不是指工程中,是你实际存放文件的文件夹里)就是和2440init.s文件放一块

设置Target选项卡

在这里插入图片描述

这里SIZE可以自行设置1000000也行 那后面RAM开头要31000000

方便拷贝:0x30000000 0x800000 0x30800000

设置c/c++选项卡

在这里插入图片描述
在这里插入图片描述

设置头文件路径,Enable那个不要勾选

inc的必选

路径安装一下keil自带的头文件,不然会有编译错误,根据自己安装地址查找。我的在D盘


设置ASM选项卡

在这里插入图片描述

Enable也不要选


设置linker选项卡

在这里插入图片描述

方便拷贝:–sort=CallTree


修改2440init.s文件

首先,MDK默认放在最前面的段是RESET段,将2440init.s第83行(可能你的不是) AREA Init,CODE,READONLY修改为 AREA RESET,CODE,READONLY

这样编译器就能找到入口点了

在上面这句下面加上一行

PRESERVE8 ;

(为了让汇编代码8字节对齐)


修改


IMPORT  |Image$$RO$$Base| ; Base of ROM code

IMPORT  |Image$$RO$$Limit|  ; End of ROM code (=start of ROM data)

IMPORT  |Image$$RW$$Base|   ; Base of RAM to initialise

IMPORT  |Image$$ZI$$Base|   ; Base and limit of area

IMPORT  |Image$$ZI$$Limit|  ; to zero initialise


修改为


IMPORT  |Image$$ER_ROM1$$RO$$Base|   ; Base of ROM code

IMPORT  |Image$$ER_ROM1$$RO$$Limit|  ; End of ROM code (=start of ROM data)

IMPORT  |Image$$RW_RAM1$$RW$$Base|   ; Base of RAM to initialise

IMPORT  |Image$$RW_RAM1$$ZI$$Base|   ; Base and limit of area

IMPORT  |Image$$RW_RAM1$$ZI$$Limit|  ; to zero initialize


修改


BaseOfROM DCD |Image$$RO$$Base|

TopOfROM DCD |Image$$RO$$Limit|

BaseOfBSS DCD |Image$$RW$$Base|

BaseOfZero DCD |Image$$ZI$$Base|

EndOfBSS DCD |Image$$ZI$$Limit|


修改为


BaseOfROM  DCD  |Image$$ER_ROM1$$RO$$Base|

TopOfROM  DCD  |Image$$ER_ROM1$$RO$$Limit|

BaseOfBSS  DCD  |Image$$RW_RAM1$$RW$$Base|

BaseOfZero  DCD  |Image$$RW_RAM1$$ZI$$Base|

EndOfBSS  DCD  |Image$$RW_RAM1$$ZI$$Limit|


这些是通过ADS的工程设置里面设定的RO Base和RW Base设定的,在MDK中的名称不叫这个

如果不修改,会报错,

实在不想修改,可以修改 scatter 文件里面的 ER_ROM1为 RO 标号,RW_RAM1 为 RW,RW_IRAM1为ZI 以此类推即可

建议还是修改2440init.s文件方便


还有个地方:LCD_TFT.h第14行根据自己的开发板屏幕修改

#define LCD_Type LCDW35 //设定屏的类型

后面这里加粗的是修改适应自己的屏幕

设置生成bin文件

在这里插入图片描述

user选项卡如图设置,此设置直接和HEX生成在一个文件夹,修改路径可以查其他方法。

方便拷贝:fromelf.exe --bin -o “$L@L.bin” “#L”

完成后编译即可。


关于编译错误:


OutPutFilesLCD1.axf: Error: L6218E:Undefined symbol


Image$$RO$$Base (referred from2440_init.o). 


查找下在哪个文件,打开,把相关设置更改为之前要求修改2440init.s文件内容里的形式。


感谢以下分享方法的博主:

参考链接:https://www.cnblogs.com/dengxiaojun/p/4279425.html

错误解决参考:https://blog.csdn.net/manchestermi/article/details/48413361

附一个关于bin文件生成以及地址的链接:https://blog.csdn.net/u014563989/article/details/51127519

关键字:TQ2440  ADS工程文件  移植  KEIL5 引用地址:将TQ2440的ADS工程文件移植到KEIL5中

上一篇:UCOS_II的移植到S3C2440 ADS 1.2
下一篇:smdk2440移植u-boot笔记

推荐阅读

中国企业联合会副理事长刘鹏  新浪财经讯 “2018(首届)中国管理模式全球论坛”于6月30日在北京举行。中国企业联合会副理事长刘鹏出席并演讲。  刘鹏表示,近些年来,随着改革的不断深化,特别是国企央企的改革不断深化,我国的企业管理理论也在不断发展进步。首先,在国企层面,出现了从管资产到管资本的转变,国有资本投资运营公司建立,并在神华...
都知道宝马因为纯粹的驾驶乐趣而闻名于世,但不可否认的是宝马作为一家高科技驱动型的汽车企业,目前也正在向着高度自主驾驶的方向发展,今天我们就来盘点一下宝马那些大放异彩的驾驶辅助功能吧...50米循迹倒车功能50米循迹倒车功能在全新X5和新3系上大火,这一功能是让系统能够自动记录车辆向前行驶的最后50米行驶轨迹,在需要时可实现自动倒车,避免开进...
这段时间在学习MSP430的SPI通信,经过几天看User Guide和学习,已经能控制其通信。在学习过程中遇到了很多问题,及其应该注意的东西在这里与大家共享。我选用的430F149作为主机,430F169作为丛机。至于SPI通信的原理,模块组成,以及功能都可以在网上搜到,下面是我在使用时遇到一些问题,共享:1.SPI通信可以是一主一从工作模式,也可以是一主多从,也可...
要说近几年最火爆的游戏概念是什么,云游戏绝对是最常被玩家提到的。随着智能手机用户的不断增加,越来越多的厂商加入到云游戏的行列中,包括微软、索尼、英伟达、谷歌、腾讯、网易等厂商纷纷推出了自家云游戏产品,这似乎预示着云游戏将成为未来游戏发展的趋势之一。 昨天上午,微软官方宣布,微软的云游戏服务xCloud正式面向苹果和PC用户推出。即日起,...

史海拾趣

小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved