前一阵子转投到MDK下面做开发,因为公司以前都用h-jtag做下载仿真工具,用的h-jtag版本为V0.9,我拿以前在ads1.2中编译成功的程序,稍作修改,在mdk下编译成功,仿真也没有问题,但下载到cpu中却怎么也没有结果,原本我以为是自己还不熟悉mdk,可能是那里设置的不对,所以我找了很多资料,也看了mdk自带的帮助文件,确信我的设置没有错.后来我不断的修改程序,将程序精简到只是简单的操作I/O口,可是这种程序下载到cpu中竟然还是不可以.再后来我开始怀疑是h-jtag的问题,更新了h-jtag到V1.0版本,再将mdk下的程序下载到mdk下,程序终于在硬件上运行了!
如果是用mdk+h-jtag做开发的朋友,在刚开始的时候一定要用V1.0以及以上的h-jtag才可以,因为mdk有自家的u-link,所以对h-jtag支持的并不好,可以说并没有什么支持,直到h-jtag V1.0版本,h-jtag才能兼容mkd编译器.
关键字:keil MDK 编译器 H-JTAG
引用地址:
keil MDK编译器(V4.01)与H-JTAG的问题
推荐阅读最新更新时间:2024-03-16 15:25
LPC2138+LCD12864显示实时时钟程序 keil与proteus联调
近年来,随着计算机技术及集成电路技术的发展,嵌入式技术日渐普及,在通讯、网络、工控、医疗、电子等领域发挥着越来越重要的作用。嵌入式系统无疑成为当前最热门最有发展前途的IT应用领域之一。32位嵌入式系统发展很快,32位单片机已逐渐占领8位机的市场,并以很高的性价比赢得了越来越多的用户的青睐。随着科技和工艺的进步,32位单片机的优势会更加突显出来,将会成为嵌入式系统的主流。在32位嵌入式系统中,基于ARM的应用占据了大部分份额。 实时时钟(RTC)器件是一种能提供日历/时钟、数据存储等功能的专用集成电路,常用作各种计算机系统的时钟信号源和参数设置存储电路。RTC具有计时准确、耗电低和体积小等特点,特别适用于在各种嵌入式系统忠记录事件
[单片机]
CXSTM8无参数函数注意
当keil无参数的函数, 如, int fun() { int i = 0; return i; } 编译是没有问题的,单在ST的CXSTM8中要写成 int fun(void) { int i = 0; return i; } 才可以编译过。 否则会出现 #error cpstm8 xxxxxxxxxxxxxxxxx missing prototype 这类错误。
[单片机]
51单片机Keil C延时程序的简单研究
以前用汇编语言写单片机程序的时候,这个问题还是相对轻易解决的。比如用的是12MHz晶振的51,打算延时20us,只要用下面的代码,就可以满足一般的需要: mov r0, #09h loop: djnz r0, loop 51单片机的指令周期是晶振频率的1/12,也就是1us一个周期。mov r0, #09h需要2个极其周期,djnz也需要2个极其周期。那么存在r0里的数就是(20-2)/2。用这种方法,可以非常方便的实现256us以下时间的延时。假如需要更长时间,可以使用两层嵌套。而且精度可以达到2us,一般来说,这已经足够了。 现在,应用更广泛的毫无疑问是Keil的C编译器。相对汇编来说,C固然有很多优点,比如程序易维护,便
[单片机]
Keil "RECURSIVE CALL TO SEGMENT"彻底解决
我们在做菜单程序或通过函数指针调用函数时,如果被调用的函数中有包含了常量字符串,那么经常会出现这样的的错误提示: RECURSIVE CALL TO SEGMENT 意思是 递归调用段 ,如何解决呢,之前我没有找到很好的方法,这段时间我回过头来看keil的datasheet,找到了解决方法,当然keil手册提供的解决方法是编写一个.lin文件,我觉得麻烦,现提供我的解决方法,实例还是用keil提供的那个实例: #pragma code symbols debug oe void func1(unsigned char *msg ) { ; } void func2( void ) { unsigned char uc; func1
[单片机]
MDK4.0使用J-Link方法
最近使用MDK4.0和J-Link学习一下STM32系统的CPU,早在两年前的时候,写过STM32的程序,也画过线路板,但是时间太长了那都是在原来公司做的,导致很多东西都忘记了,最近准备捡起来温习一下,之前仿真STM32的时候使用的是U-Link,现在只有J-Link,安装MDK4.0后居然没有发现J-Linke的选项,按照网上的方法找到了,也出现了,但是居然使用起来不太好用。最后经过了N多复杂的过程我发把它弄好用,其实简单总结起来就是三步: 这里的添加方法都是按照网上说的方法,所以不尽相同,这个方法不用质疑。 配置完Tools.ini文件后,你打开软件后,你就可以发现出现了J-Link选项,然后点击Utiliti
[单片机]
MDK-ARM(Keil uVision V4.72)上STM32开发环境配置
以前我都是在Eclipse上面和arm-none-eabi交叉编译环境来开发STM32应用程序的。 现在改用MDK-ARM比较专业的工具搭建一个开发环境。 新建一个指定STM32微控制器型号的工程: 为了生成编译文件,勾选如下复选框: 配置编译项: STM32F4XX, USE_STDPERIPH_DRIVER 添加库编译符号,和语言/代码生成级别 其中最关键的头文件包含目录: 首先要添加包含工程目录,因为固件库会查找 stm32f4xx_conf.h 配置头文件,中断服务例程实现文件可能也会调用main.h中的函数。 再添加包含 xxxySTM32F4_LibLibrariesCMSISIn
[单片机]
简单例子解析C语言编译器配置文件,驱动文件,驱动程序
配置文件,驱动文件,驱动程序对初学单片机C语言的童鞋来说极易搞昏,今天本人将以己昏昏,使人昭昭。 以LED动态扫描为例,看配置文件有什么: # include reg8052.h #ifndef __LED_DISPLAY_CFG_H #define __LED_DISPLAY_CFG_H //如果没有定义此文件,则定义此文件 # define __LED_DIN1_ON() p1^1=0 # define __LED_DIN1_OFF() p1^1=1 .......... ........... #define__LED-SEG(DATA) p0=DATA #endif 综上,所谓配置是定义了I/O口的作用。 驱动文件
[单片机]
keil5中找不到lpc2368的解决方法
在用lpc2368的时候在MDK5 Software Packs找不到lpc236 在官网搜寻了一番找到了这个 下载后完美解决问题
[单片机]