收藏 分销(赏)

移植TX2440A的ADS项目到MDK4.12+jlink.doc

上传人:pc****0 文档编号:7771093 上传时间:2025-01-16 格式:DOC 页数:16 大小:1.08MB 下载积分:10 金币
下载 相关 举报
移植TX2440A的ADS项目到MDK4.12+jlink.doc_第1页
第1页 / 共16页
移植TX2440A的ADS项目到MDK4.12+jlink.doc_第2页
第2页 / 共16页


点击查看更多>>
资源描述
以uart的项目为例子。 建项目目录test_uart,在该目录下建一个src目录,并把uart的所有源码放到src目录下。 把S3C2440A的RAM初始化文件Ext_RAM.ini(在文章后面有源码)和RunInRAM.sct文件(在文章后面有源码)放到项目根目录下 打开MDK,新建项目,项目文件名为test_uart 选择芯片 不使用默认的startup代码 添加src 添加源文件到src目录 修改项目选项,点击,并如图修改 修改2440init.s文件, 注释掉 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 initialise 注释掉 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| 在AREA Init,CODE,READONLY这行前将上PRESERVE8 修改Ext_RAM.ini文件,将加载文件改为test_uart.axf: LOAD .\test_uart.axf INCREMENTAL// 下载程序 编译项目,点击 将所有硬件准备好后就可以点击进行调试了, 说明:其它main.c源码有错误,导致输入的字符串不能再次打印出来。其实只要对变量稍作修改就可以了。 以下是Ext_RAM.ini文件 /******************************************************************************/ /* Ext_RAM.INI: External RAM (SDRAM) Initialization File */ /******************************************************************************/ // <<< Use Configuration Wizard in Context Menu >>> // /******************************************************************************/ /* This file is part of the uVision/ARM development tools. */ /* Copyright (c) 2005-2008 Keil Software. All rights reserved. */ /* This software may only be used under the terms of a valid, current, */ /* end user licence from KEIL for a compatible version of KEIL software */ /* development tools. Nothing else gives you the right to use this software. */ /******************************************************************************/     FUNC void SetupForStart (void) {   // <o> Program Entry Point PC = 0x30000000; }     FUNC void Init (void) {   _WDWORD(0x4A000008, 0xFFFFFFFF); // 禁用所有中断   _WDWORD(0x53000000, 0x00000000); // 禁用看门狗定时器   // 时钟配置 // FCLK = 300 MHz, HCLK = 100 MHz, PCLK = 50 MHz _WDWORD(0x4C000000, 0x0FFF0FFF); // LOCKTIME _WDWORD(0x4C000014, 0x0000000F); // CLKDIVN _WDWORD(0x4C000004, 0x00043011); // MPLLCON _WDWORD(0x4C000008, 0x00038021); // UPLLCON _WDWORD(0x4C00000C, 0x001FFFF0); // CLKCON                                             // 配置和SDRAM相关的内存控制器 _WDWORD(0x48000000, 0x22000000); // BWSCON _WDWORD(0x4800001C, 0x00018005); // BANKCON6 _WDWORD(0x48000020, 0x00018005); // BANKCON7 _WDWORD(0x48000024, 0x008404F3); // REFRESH _WDWORD(0x48000028, 0x00000032); // BANKSIZE _WDWORD(0x4800002C, 0x00000020); // MRSRB6 _WDWORD(0x48000030, 0x00000020); // MRSRB7   _WDWORD(0x56000000, 0x000003FF); // GPACON: 使能SDRAM相关的地址线 }   // Reset chip with watchdog, because nRST line is routed on hardware in a way // that it can not be pulled low with ULINK   // 由于nRST不能通过J-Link进行拉低,使用看门狗复位芯片   _WDWORD(0x40000000, 0xEAFFFFFE); // Load RAM addr 0 with branch to itself CPSR = 0x000000D3; // 禁用中断 PC = 0x40000000; // 定位PC到RAM的起始位置;片内4K RAM的起始地址 _WDWORD(0x53000000, 0x00000021); // 使能看门狗 g, 0 // 等待看门狗复位芯片   Init(); // 初始化内存 LOAD .\test_adc.axf INCREMENTAL// 下载程序 SetupForStart(); // 配置运行 g, main // Goto Main         以下是RunInRAM.sct文件 ; ************************************************************* ; *** Scatter-Loading Description File generated by uVision *** ; ************************************************************* ; Run in RAM LR_ROM1 0x30000000 { ; load region ER_ROM1 0x30000000 0x1000000 { ; load address = execution address *.o (Init, +First) ;设置程序入口,Init是2440Init.S中的段名 ; *(InRoot$$Sections) .ANY (+RO) } RW_RAM1 0x31000000 0x1000000 { ; RW data .ANY (+RW +ZI) } RW_IRAM1 0x40000000 0x00001000 { .ANY (+RW +ZI) } }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 百科休闲 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服