博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2440A 裸机(Jlink V8+驱动4.9+MDK4.9)总结
阅读量:5775 次
发布时间:2019-06-18

本文共 1936 字,大约阅读时间需要 6 分钟。

1:新买的Jlink V8(of course, Clone)固件在MDK上使用会提示 Clone,需要更新修改过的固件,具体怎么修改不知道,就是某个地址的某个值

2:新建MDK工程 器件为2440A ,加上启动代码,添加主函数或者要调试的代码

3:设置工程,这个是最主要的步骤如下

  3.1Target,设置三个地址

  

  3.2:Output 设置CreatHexFile

  

  3.3:User  勾上Run #1 后面的字符照写,意思大概是运行这样的文件 

  

  3.4:Linker 勾上Use Memory Layout.........

  

  3.5:Debug 选择使用J-link,不能勾上Load Application at Startup,加载配置文件Ext_ram.ini

  

  点击设置,设置“Auto Selection”

      

  文件可以自己建,内容如下

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的起始位置

_WDWORD(0x53000000, 0x00000021);       // 使能看门狗

g, 0                              // 等待看门狗复位芯片

Init();                           // 初始化内存

LOAD .\Demo.axf INCREMENTAL       // 下载程序

SetupForStart();                        // 配置运行

g, main                                 // Goto Main

  

  3.6 Utilities 不能勾上Update Target beforeDebugging

参考博客:http://blog.csdn.net/shengnan_wu/article/details/8116815

  

转载于:https://www.cnblogs.com/zerolu/p/5371144.html

你可能感兴趣的文章
华为硬件工程师笔试题
查看>>
jquery居中窗口-页面加载直接居中
查看>>
cd及目录快速切换
查看>>
黑马day11 不可反复度&amp;解决方式
查看>>
分布式服务化系统一致性的“最佳实干”--转
查看>>
一次Mutex死锁的原因探究
查看>>
flask的文件上传和下载
查看>>
如何查看java class文件的jdk版本
查看>>
ImportError: cannot import name UnrewindableBodyError
查看>>
翻翻git之---有用的欢迎页开源库 AppIntro
查看>>
Unity Shaders and Effects Cookbook (3-5) 金属软高光
查看>>
31-hadoop-hbase-mapreduce操作hbase
查看>>
C++ 代码风格准则:POD
查看>>
PHP-Windows下搭建PHP-MSF环境【原创】
查看>>
linux-友好显示文件大小
查看>>
emplace_back() 和 push_back 的区别(转)
查看>>
【转】【WPF】WPF中MeasureOverride ArrangeOverride 的理解
查看>>
ASP、Access、80040e14、保留关键字、INSERT INTO 语句的语法错误
查看>>
【转】二叉树的非递归遍历
查看>>
NYOJ283对称排序
查看>>