keil MDK编译器(V4.01)与H-JTAG的问题】的更多相关文章

前一阵子转投到MDK下面做开发,因为公司以前都用h-jtag做下载仿真工具,用的h-jtag版本为V0.9,我拿以前在ads1.2中编译成功的程序,稍作修改,在mdk下编译成功,仿真也没有问题,但下载到cpu中却怎么也没有结果,原本我以为是自己还不熟悉mdk,可能是那里设置的不对,所以我找了很多资料,也看了mdk自带的帮助文件,确信我的设置没有错.后来我不断的修改程序,将程序精简到只是简单的操作I/O口,可是这种程序下载到cpu中竟然还是不可以.再后来我开始怀疑是h-jtag的问题,更新了h-j…
前几天进手了一个J-LINK,因为H-JTAG毕竟对MDK支持的不是太完美,比如用keil mdk上面的下载按钮烧录程序,不是直接就能烧录进去,而是弹出H-Flash软件,再手工选择文件烧录:而且用H_JTAG单步调试还容易莫名其妙的跑飞.好在J-LINK不是太贵(我是说国内仿制的),mdk又能比较完美的支持J-link,今天就将我使用mdk和J-link的情况做一下记录. 我把MDK升级到了V4.10,之前使用的V4.01,当然这个V4.10也不是最新版,最新版应该到了V4.12. 首先需要安…
工作后从单片机转成ARM,刚开始用ADS1.2编译器,用了一段时间,因为我接手的项目的老程序正是用ADS编译的,部门也大都在用.在学单片机的时候用的是keil c51编译器,ads和这个编译器在易用性上真是无法比较.后来渐渐知道keil已经被arm公司收购,现在keil MDK成为了arm官方编译器,所以决定重新投奔keil,利用平时的时间,将原程序重新用mdk编译.mdk的优点就没必要说了,在这里把平时遇到的编译器给出的警告和错误信息给出详解,希望给初学者一点帮助,发现错误,需要补充的欢迎留言…
转用MDK有一段时间了,越来越觉得MDK的强大,因为我之前都是用ADS1.2开发产品,所以更能体会到MDK的强大与易用性.MDK编译出来的代码与ADS1.2相比,代码量减少了很多,我的一个工程用ADS1.2编译为25.4KB(都是bin格式),但用MDK编译出来仅有19.5KB(采用默认优化级别,即L2优化级别).根据我个人的经验,使用一个新的编译器,难点往往有三个,一个是建立一个新的工程,以及工程项目的配置:二是启动代码的编写:三是如何下载和单步调试.今天重点写一下MDK的启动代码.使用MDK…
keil MDK也是可以借助h-jtag进行单步调试,写出来与大家一起分享一下. keil MDK编译器使用V4.01版本,下载地址:http://www.embedinfo.com/down-list.asp?id=714   (需要注册一下) h-jtag使用V1.0版本(请注意,一定要用V1.0或者以上版本才可以与mdk兼容),下载地址:http://www.hjtag.com/download/H-JTAG%20V1.0%20Preview.zip 分别安装MDK与h-jtag 两个软件…
写在前面:三个周之前,我突然想写一个远程升级的程序.那个时候我只是大概知道IAP的意思是在应用编程,但怎么编,我还一无所知.我给自己定下一个个阶段目标,从最基础的代码一点点写起,解决一个又一个的问题.三个周之后,我用自己设计的方法实验了50多次,无一例升级失败. 三个周来,遇到了很多的不解.困惑,甚至是想放弃,但我现在想说的是:很多未知的困难会挡在我们面前,我们会感觉毫无头绪甚至觉得毫无出路忍不住要放弃,但多坚持一下,那些困难不但能烟消云散还能带给我们进步. 本设计是基于LPC2114和Keil…
1.MDK中的char类型的取值范围是? 在MDK中,默认情况下,char 类型的数据项是无符号的,所以它的取值范围是0-255.它们可以显式地声明为signed char 或 unsigned.因此,定义有符号char类型变量,必须用signed显式声明.我曾读过一本书,其中有一句话:“signed关键字也是很宽宏大量,你也可以完全当它不存在,在缺省状态下,编译器默认数据位signed类型”,这句话便是有异议的,我们应该对自己所用的CPU构架以及编译器熟练掌握. 2.赋初值的全局变量和静态变量…
源:有趣的keil MDK细节 1.MDK中的char类型的取值范围是? 在MDK中,默认情况下,char 类型的数据项是无符号的,所以它的取值范围是0-255.它们可以显式地声明为signed char 或 unsigned.因此,定义有符号char类型变量,必须用signed显式声明.我曾读过一本书,其中有一句话:“signed关键字也是很宽宏大量,你也可以完全当它不存在,在缺省状态下,编译器默认数据位signed类型”,这句话便是有异议的,我们应该对自己所用的CPU构架以及编译器熟练掌握.…
转:https://blog.csdn.net/zuixin369/article/details/76195186?locationNum=7&fps=1 Keil MDK编译器完成编译链接后,在调试窗口会出现Code,RO,RW,ZI 四种内存分配区域,下面说明其中的意思. Code区:代码区.该区域除了存放指令外,还有全局.静态及局部变量的初始化值.当函数被调用时,该函数用code区内局部变量初始化值来初始化堆栈区内分配的局部变量. RO区:常量区.该区域存放那种类型的数据呢?有字符串常量…
转载来自:http://emouse.cnblogs.com 1.1 开发工具与开发环境 1. 软件版本 本节所使用Keil MDK 为目前的最新版V4.21.其他版本差别不大,读者可以根据自己使用的版本进行操作或者从Keil的官网下载新版本.使用的标准外设库为目前最新的V3.5版本.使用的开发调试工具为JLINK-V8,使用的驱动版本为V4.08l. 2. 建立工程目录(第一步) 首先先建立一个用于存放工程的文件夹,此处命名为STM32, 在文件夹下分别建立LIB.USER.MDK三个文件夹,…