1.IF和$IF是不等价的,不要混淆了;2.带前缀$的条件编译$IF用法:(汇编器指示命令Assembler Directive)只能用来测试由$SET和$RESET指令定义的符号.$SET使用方法:Options — A51 — Set.SET (symbol )$RESET使用方法:Opt
我曾经通过查看反汇编代码对KEILC编译器进行了测试,大概有这么一下内容,也得出一些结论。(1)全局变量:如果程序中定义了全局变量,而且初始值不是0。此时,在程序调到main()函数执行前,除了要进行内存清零、初
这里以KEIL 4.60版本为例进行说明,低于此版本,可能不适合现在我所讲的内容。打开启动代码文件startup_LPC11xx.s,从第122行看起,代码如下所示:Reset_Handler PROCEXPORT Reset_Handler [WEAK]IMPORT SystemInitI
1、函数定位:假如要把C源文件 tools.c 中的函数 int BIN2HEX(int xx) { ... } 放在CODE MEMORY的0x1000处,先编译该工程,然后打开该工程的M51文件,在 * * * C O D E M E M O R Y * * * 行下找出要定位的函数
首先,我们用 Keil 先打开一个现成的工程,来认识一下 Keil 软件,如图1-7所示。图1-7 工程文件从图1-7我们可以很轻松的分辨出菜单栏、工具栏、工程管理区、程序代码区和信息输出窗口。这个是 Keil4 的英文版,网上有
使用KeilC51软件,可以很方便地将代码或者数据绝对定位到某个地址。1、代码定位:方法1:使用伪指令CSEG。比如要将MyFunc1定位到代码区C:0x1000,则新建一个A51文件,添加以下内容:PUBLIC MYFUNC1CSEGAT 1000HMYFUN
由于CPU和程序启动代码文件STARTUP.a51的重要性,一些8051派生的CPU产品要求初始化CPU来满足设计中的相应的硬件,因此,有时候用户需要对STARTUP.a51进行修改,所以进行注释一下:;-------------------------------
装完MDK4.6/4.7a,发现没有修改源文件的情况下,单击build,每次都是重新编译,之前测试过重新建立工程/装回4.22,解决了该问题,当时并没多想原因。这次又出现了这个问题,重装了很久,也都这样,没有解决。原因:1
看到这篇C51的内存分配和优化的文章,个人觉得分析的十分到位,在这里转给大家C51的内存分配不同于一般的PC,内存空间有限,采用覆盖和共享技术。在Keil编译器中,经过编译后,会形成一个M51文件,在其内部可以详细的
变量就是一种在程序执行过程中其值能不断变化的量。要在程序中使用变量必须先用标识符作为变量名,并指出所用的数据类型和存储模式,这样编译系统才能为变量分配相应的存储空间。定义一个变量的格式如下: [存
最近,在用keil 写一个小程序时,想实践一下从汇编调用 C语言函数,我们都知道C语言调用汇编函数讨论得较多,但反过来,从汇编中调用C语言的函数未见深入分析;在开始的时候,还是忽视了一个问题,就是对现场的保护和
在 Kei 里使用 DeBug 模式时,如要 查看外部 RAM 的数据 或查看 ACC 的内容可以进行以下操作;sysGetTxMode:LCALL Com0185(C:2B95)JNB 0xE0.0,sysGetTxMode................retCom0185:MOV DPTR,#0x7020MOVX A,@DPT
在Keil MDK编译器编译后,信息栏都会显示编译情况,这其中就包含了FLASH跟SRAM的信息。如下图所示,/*********************************************************************************************/查看FLASH跟S
最近有位同事接私活时遇到一个问题,用 Keil-5 可以打开甲方给的工程,但是仿真和下载出错。根据报的错误,找到了问题,原来是 Keil 5 不支持 LPC2368 这款设备。如下图:打开 pack installer 也没有找到 LPC2000 系
即使熟练使用了KEIL软件,有些概念我们还是不容易理清,常常混淆:KEIL、uVision、RealView、MDK、KEIL C51,它们到底有什么区别,又有什么联系?下面我们就做一个详细的分析。
编译器内部函数__disable_irq、__enable_irq、__disable_fiq和__enable_fiq用于控制IRQ和FIQ中断。只有当处理器处于特权模式才可以使用这些内部函数,因为这些函数要改变寄存器CPSR和SPSR(ARM7、ARM9等)或者PRIMAS
0 引言 实时控制系统程序设计中,常涉及到小数运算问题.计算机系统中用二进制表示小数的方法有定点数表示法和浮点数表示法.采用浮点数表示法表示的小数范围大、精度高,但程序代码长,运算速度慢.定点数表示的小数
1.1.1 使用Keil MDK运行第一个STM32F10X程序在上一小节中已经详细介绍了使用Keil MDK和标准外设库创建一个工程的过程,下面将介绍基于这个工程来编写一个小程序,通过这个程序我们可以初步了解:STM32标准外设库的简
如果你要很精确的延时,可以使用定时器,C语言的定时比较难计算,你可以用KEIL里的软件仿真看看运行你的子程序需要多少时间,这样是最清楚的了。当然,如果你的编程能力已经达到比较高的水平就另一个说法,只要程序简
在篇文章中主要讲讲调试中断过程中获得的知识,也许会对大家有用。大家应该都知道在使用S3C2440这块芯片时,有一个十分大的问题,就是对于keil软件自带的初始化代码没有给全,在初始化代码中主要做了以